-
إيقاف المتابعة المشكلة
مرحبا شباب. . قمت بتشفير نقطة وقف متحركة ، ومع ذلك لم يتم إنجاز المهمة بشكل صحيح ، بالنسبة لـ Ex ، عندما قمنا بشراء الصفقة ، وتم تفعيل وقف الخسارة الثاني والأول ، وإذا انخفضت الكلفة ، تغيرت التوقفات اللاحقة وتغيرت تكاليفها وتعود مباشرة إلى الخلف في النسخة الأصلية ... هذا هو الرمز ، ما الخطأ في هذا الرمز ، فقط كيف يجب أن أصلح هذه المشكلة. شكر.
Inserted Code void TrailStops () {double Pointt = Point؛ إذا ((Stage == 0.00001) || (Stage == 0.001)) Pointt * = 10؛ int mod؛ Dual sl = OrderStopLoss ()؛ for (int cnt = OrdersTotal () - 1؛ cntgt؛ = 0؛ cnt--) {OrderSelect (cnt، SELECT_BY_POS، MODE_TRADES)؛ if (BreakEvengt؛ 0) {if (Bid-OrderOpenPrice () gt؛ Pointt * BreakEven) {if (OrderStopLoss () lt؛ Bid-Pointt * BreakEven) {if (OrderType () == OP_BUY) {Mod = OrderModify (OrderTicket ()، OrderOpenPrice ()، NormalizeDouble (OrderOpenPrice () - ModifiedStop * Pointt، سيارة)، OrderTakeProfit ()، 0، الأزرق)؛ إذا (! Mod) نشر (خطأ في OrderModify. رمز الخطأ {} ، GetLastError ())؛ طباعة أخرى (تم تعديل الطلب بنجاح.)؛ } if (OrderType () == OP_SELL) {Mod = OrderModify (OrderTicket ()، OrderOpenPrice ()، NormalizeDouble (OrderOpenPrice () ModifiedStop * Pointt، Digits)، OrderTakeProfit ()، 0، Red)؛ إذا (! Mod) نشر (خطأ في OrderModify. رمز الخطأ {} ، GetLastError ())؛ طباعة أخرى (تم تعديل الطلب بنجاح.)؛ }}} إذا كان (Bid-OrderOpenPrice () gt؛ Pointt * two * BreakEven) {If (OrderStopLoss () lt؛ Bid-Pointt * two * BreakEven) {if (OrderType () == OP_BUY) {Mod = OrderModify (OrderTicket ()، OrderOpenPrice ()، NormalizeDouble (OrderOpenPrice () - 2 * * ModifiedStop Pointt، سيارة)، OrderTakeProfit ()، 0، الأزرق)؛ إذا (! Mod) نشر (خطأ في OrderModify. رمز الخطأ {} ، GetLastError ())؛ طباعة أخرى (تم تعديل الطلب بنجاح.)؛ } if (OrderType () == OP_SELL) {Mod = OrderModify (OrderTicket ()، OrderOpenPrice ()، NormalizeDouble (OrderOpenPrice () 2 * ModifiedStop * Pointt، Digits)، OrderTakeProfit ()، 0، Red)؛ إذا (! Mod) نشر (خطأ في OrderModify. رمز الخطأ {} ، GetLastError ())؛ طباعة أخرى (تم تعديل الطلب بنجاح.)؛ }}}}}}