المشاركة الأصلية كتبت بواسطة imaddine السلام عليكم سؤال للخبراء حول شرط الدالة التي التحكم الصفقة التالية بحيث لو فتح مثلا شراء تكون الصفقة التالية بيع ولا يفتح صفقة شراء حتى لو تحققت الشروط فلدينا الدالة التي تحدد اخر صفقة مغلقة كود: int LastOrderType() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) return(OrderType()); } return(-1); } ثم نضيف داخل الدالة المسؤلة عن البيع والشراء الشرطين كود: if(LastOrderType()==OP_SELL) //Buy if(LastOrderType()==OP_BUY()<1) //Sell لكن المشكلة اني عندما اضيف هذا الشرط يتوقف الاكسبيرت عن العمل اي لا يفتح اي صفقة ولا توجد اي رسالة خطا ؟؟؟؟ ،،،الاكسبيرت يتوقف بسبب return(-1) فى اخر الوظيفة،،، ،،،هناك طريقة اسهل بكثير وهى عمل متغير من النوع جلوبال والتعامل معه كما هو مشروح بالمشاركة على الرابط التالى،،، اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex - عرض مشاركة واحدة - موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
int LastOrderType() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) return(OrderType()); } return(-1); }
if(LastOrderType()==OP_SELL) //Buy if(LastOrderType()==OP_BUY()<1) //Sell