
11-12-2013, 09:19 AM
|
|
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
 |
 |
|
 |
|
سؤال من مبتدأ وأريد ان اعرف هل انا كتبت صح ولا ايه استاذى اسلام
لو انا عندى اكسبيرت بيدخل بيع او شراء على مؤشر
وأريد ان اغلق الصفقات الموجبه فقط فى حاله ظهور اشارة معاكسه
مثلا اعطانى المشر شراء وفتح صفقات شراء كل مسافه مثلا ( على اساس انى احدد له استيب يفتح كل مسافه يقطعها ) طبعا فى اتجاه اشارة الشراء
ثم ظهرت اشارت بيع عكسيه
وأريد ان اغلق الصفقات الموجبه فقط وأترك السالبه
ففى هذه الحاله
أضع هذا الكود تحت امر البيع
هل هذا الكود بهذه الطريقه صح ..؟
كود:
if(OrderType(OP_BUY)>0)
{Close(OP_BUY)};
والعكس طبعا فى حاله البيع
هل كده صح ..؟ ولو خطأ .. ايه الطريقه الصح بعد اذنك استاذ اسلام ..؟ |
|
 |
|
 |
،،،اولا سوف تقوم بعمل وظيفة لإغلاق الصفقات الرابحة ،،،
كود:
void CloseOnlyProfit(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
if(OrderProfit()>0){
if(OrderType==OP_BUY){
OrderClose(i,OrderLots(),Bid,3,CLR_NONE);
}
else{
OrderClose(i,OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
}
،،،ثم تقوم بعمل جملة شرطية لاستدعاء هذه الوظيفة فى حالة تحقق شروط اشارة عكسية ،،،
|