اقتباس:
المشاركة الأصلية كتبت بواسطة ماجد كو
اشكرك اخي بدر اشكرك اخي محمود قمت بالتطبيق وطلع انه لايوجد اخطاء ولكن للتأكد هذا هو الكود النهائي ولقد حذفت بعض الاقواس في الترلينج استوب الاسك اخر القائمه وقمت بتعريف التوتل total هل عملي صحيح وبالتالي الان الدخول سيكون في حالة تحقق الشروط للشراء فسيدخل عملية شراء مع الاخذ في الاعتبار الترلينج استوب وتسلمممممممممممممممون جزاكم الله خيرا كود PHP: //===== Part 3: Do Buy Or Sell: int total; total = OrdersTotal(); if(total < 1) { if(Long) { OrderSend(Symbol(),OP_BUY,Lots,Ask, 5, Ask-StopLoss*Point, Ask+TakeProfit*Point,"LetsFX Lesson1", Magic, 0, RoyalBlue); return ; } if(Short) { OrderSend(Symbol(),OP_SELL,Lots,Bid, 0, Bid+StopLoss*Point, Bid-TakeProfit*Point,"LetsFX Lesson1", Magic, 0,LightPink); return; } for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) // check for symbol { if(OrderType()==OP_BUY) // long position is opened { // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } }
|
أخي ماجد وضع الاقواس غير سليم عندك في التريلنج ستوب
هناك اقواس مفتوحة من اعلى الربنامج لذلك لم يعطك الكومبيلر اي غلط
و ايضا لم تعرف صفقات البيع قبل الدخول الى التريلنج بتاع البيع
يعني انت قلت للبرنامج ان كانت الصفقات شراء ادخل على شرط التريلنج و لم تقل له ان كانت بيع ادخل على شرط البيع بل اكتفيت بعبارة ان كان التريلنج اكبر من الصفر و هذا غلط
ايضا جعلت دخولك على شرط البيع او الشراء مقترن بأنه لا يوجد أي صفقات مفتوحة و هذا يعتمد على طريقتك المتبعة في البيع و الشراء و لكن ان كنت تعمل على برامج اخرى أو تعمل يدوي فان برنامجك لن يعمل لأنه سيرى أن هناك صفقات مفتوحة و لن يدخل بيع او شراء
لذلك يجب أن تنتبه دائما الى الفارق بين الباك تيست و الحقيقي
لن استطيع أن اعدل لك بالكود لأنه هناك اقولس مفتوحة من الاعلى و لم تغلقها و هذا يغير عمل البرنامج
لذلك ان كنت تحب ان ترفق كامل العمل و نعدل لك عليه و انت تقارنه لتعرف اين الغلط يكن افضل