 |
 |
|
 |
|
مثلا في الكود التالي
void orderopen_buy(double x)
{Comment("15 order buy new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,x,Ask,3,Ask-(stoplose*t),Ask+(takeprofit*t),"buy",Magic,0,Blue );
//Comment(x);
}
void orderopen_sell(double x)
{Comment("85 order sell new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,x,Bid,3,Bid+(stoplose*t ),Bid-(takeprofit*t),"Sell",Magic,0,Red);
}
عند تحقق الشرط يتم كلب احد الوظيفتين للشراء او للبيع فاذا كان عدد العمليات المفتوحة = صفر يقوم بفتح عملية جديدة في حالة ما اذا تغير الشرط x<=2 مثلا كي قمكن فتح 3 صفقات فان الكود يفتح الثلاث صفقات سويا علي نفس السعر
بالنسبة للحماية كنت اقصد الحماية من النسخ وكيفية تحديد حجم محدد للمحفظة لعمل عليه الاسكربت واذا زاد او قل لايعمل يعني لا يعمل على محفظة اقل من 1000 دولار ولا اكبر من 10000 مثلا |
|
 |
|
 |
،،،فى هذه الحالة تقوم بعمل وظيفة لمعرفة عدد الصفقات المفتوحة حسب النوع وتقوم بوضع شرط عندما يكون عدد الصفقات المفتوحة لنوع الصفقات المحدد اقل من 1 بدلا من orderstotal تساوى صفر ، الوظيفة وشرحها تجدهم فى الفيديو الاخير من دورة البرمجة،،،
،،،بالنسبة لنقطة الحماية من النسخ فانا لم افهم ماتقصد بها ولكن اذا كنت تقصد ان يتم تشغيلها على حساب واحد فقط فستكون الطريقة كما شرحت لك فى المشاركة السابقة وايضا لتحديد رصيد معين للاكسبيرت ليعمل عليه فقط يمكنك استخدام الكود التالى،،،
كود:
if(AccountBalance()<1000 || AccountBalance()>10000){return(0);}
،،،وتقوم بوضعه فى اول ستارت،،،