السلام عليكم
ممكن الكود او طريقة صياغة كود مضاعفات
بحيث امتلك اكسبيرت يعمل بالمضاعفات المضروبة
والهذف اكبر من الاستوب واريد تغير صيغة
المضاعفات لتصبح 0.1 0.1 0.2 0.4 0.4 ...
لتامين الحساب اكثر
وبارك الله فيكم
Printable View
السلام عليكم
ممكن الكود او طريقة صياغة كود مضاعفات
بحيث امتلك اكسبيرت يعمل بالمضاعفات المضروبة
والهذف اكبر من الاستوب واريد تغير صيغة
المضاعفات لتصبح 0.1 0.1 0.2 0.4 0.4 ...
لتامين الحساب اكثر
وبارك الله فيكم
أستاد أريد كود إدا دخلت 10 صفقات متتالية خاسرة يتوقف عن المضاعفة ويرجع إلى lots البداية
وشكرا على كل شيء
ممكن ان تعمل متغير خارجي وهو
وتضيف في شرط المضاعفات الكود التاليكود PHP:extern double MaxLots
تقوم بتحديد حجم المضاعف 10 عند خسارة 10 صفقاتكود PHP:if (NewLot >= MaxLots){NewLot = Lots;}
وتضعه في المتغير الخارجي MaxLots
وبهذا كلما يصل الى حجم اللوت المحدد يعود من جديد الى اول لوت
والاساتذة الكرام ممكن ان يفيذك اكثر ان شاء الله
وعليكم السلام
ستستخدم هذه الدالة لعدد العقود الخاسرة
ثم ستستخدم هذه الدالةكود PHP:int LostOrdersNum()
{
int Loss;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderProfit()<0)Loss++;
else return(Loss);
}
}
return(Loss);
}
ثم ستضع الشرطكود PHP:double LastOrderLott(){
for(int i = OrdersHistoryTotal()-1;i>=0; i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
return(OrderLots());
}
}
return(0);
}
كود PHP:if(LostOrdersNum() <=1) { NewLot=Lots} else; {NewLot=LastOrderLott()*2}
تحياتي أساتذتي الكرام
أريد دالة تعمل كالتالي
عند كل تحقق ربح 10% من الحساب يتم إضافة رقم إلى الماجيك نمبر
مثلا الماجيك نمبر 4561 فإذا تحقق ربح 10% يصبح الماجيك نمبر الجديد 4562 وإذا تحقق ربح 10% مرة الأخرى يصبح الماجيك نمبر 4563 وهكذا...
إذا كانت هذه الدالة غير موجودة فما هي الدالة التي تحقق ما يلي:
عند كل ربح 10% من الحساب يتوقف عمل الاكسبيرت
إلى أن أتدخل يدويا مثلا بإعادة تشغيل المنصة أو بتغيير الماجيك نمبر ليعمل الاكسبيرت مرة أخرى
وهكذا...
وجزاكم الله خيرا
اهلا اخي حسن تفضل هذا الكود تضعه في دالة ستارت
وطبعا حيكون عندك هذا الكود في المتغيراتكود PHP:double accv=(AccountEquity()-AccountBalance());
if(Win_PercenStop &&(( accv/AccountBalance() )*100 ) >=WinPercent ) { MagicNo=MagicNo+1; Delete_Close_AllOrders();}
Comment(MagicNo);
كلما يحقق نسبة الربح سيغلق العقود ويبتدي من جديد بماجيك مضاف اليه الرقم 1 كما فهمت من شرحك .كود PHP:bool Win_PercenStop=true;
double WinPercent=3;
استاذ جميل قصد المضاعفات 1 / 1 / 2 / 4 / 4 / 8 / 16 / 16 / 32 ...
ويستمر بهذه الطريقة جربة هذا الكود لكن للاسف لم ينجح معي
ثمكود PHP:double NewLot;
double TP,SL,Lot;
if (LastOrderProfit()<0&&LastOrderLot()==Lots1)Lot=Lots2;
if (LastOrderProfit()<0&&LastOrderLot()==Lots2)Lot=Lots3;
if (LastOrderProfit()<0&&LastOrderLot()==Lots3)Lot=Lots4;
if (LastOrderProfit()<0&&LastOrderLot()==Lots4)Lot=Lots5;
if (LastOrderProfit()<0&&LastOrderLot()==Lots5)Lot=Lots6;
if (LastOrderProfit()<0&&LastOrderLot()==Lots6)Lot=Lots7;
if (LastOrderProfit()<0&&LastOrderLot()==Lots7)Lot=Lots8;
if (LastOrderProfit()<0&&LastOrderLot()==Lots8)Lot=Lots9;
if (LastOrderProfit()<0&&LastOrderLot()==Lots9)Lot=Lots10;
if (LastOrderProfit()<0&&LastOrderLot()==Lots10)Lot=Lots1;
في شرط الشراء والبيع لكن لم تنجح الفكرة معيكود PHP:if(LastOrderProfit()<0)NewLot=Lot;
else NewLot=Lots1;