مطلوب مساعدة عاجلة في معالجة خطأ إغلاق الطلب!
Results 1 to 3 of 3

Thread: مطلوب مساعدة عاجلة في معالجة خطأ إغلاق الطلب!

  1. #1
    أريد أن أعرف ما هو رمز معالجة خطأ ORDER CLOSE مع MAGIC NUMBER.

    أنا في وضع يسمح لي بالقيام بذلك من خلال معالجة خطأ ”فتح الطلب”.

    لكني أحتاج إلى تأكيد أن الكود الخاص بي صحيح مع معالجة خطأ ”إغلاق الطلب”.




    هذا هو رمز معالجة خطأ ”فتح الطلب” الخاص بي لطلب الشراء الذي يعمل بشكل جيد:


    //يشتري
    إذا (الطلب == SIGNAL_BUY ((eachTickMode!) TickCheck) || (! EachTickMode (Bars! = BarCount))))
    إذا (! IsTrade)
    //تحقق من الهامش المجاني
    if (AccountFreeMargin () lt؛ (1000 * Lots))
    طباعة (ليس لدينا أموال. الهامش المجاني =، AccountFreeMargin ())؛
    عودة (0) ؛


    إذا (UseStopLoss) StopLossLevel = اسأل - StopLoss * Point ؛ آخر StopLossLevel = 0.0 ؛
    إذا (UseTakeProfit) TakeProfitLevel = اسأل TakeProfit * Point ؛ آخر TakeProfitLevel = 0.0 ؛

    التذكرة = إرسال الطلب (الرمز () ، OP_BUY ، اللوتات ، السؤال ، الانزلاق ، StopLossLevel ، TakeProfitLevel ، الشراء (# MagicNumber ) ، MagicNumber ، 0 ، DodgerBlue) ؛
    إذا (تذكرة GT ؛ 0)
    إذا (OrderSelect (تذكرة ، SELECT_BY_TICKET ، MODE_TRADES))
    طباعة (تم فتح أمر الشراء: ، OrderOpenPrice ()) ؛
    if (SignalMail) SendMail ([Signal Alert] ، [ الرمز () ] DoubleToStr (Ask ، Digits) Open Buy) ؛
    آخر
    طباعة (خطأ في فتح أمر الشراء: ، GetLastError ()) ؛
    التجارة الدولية = خطأ ،
    buyFlag = خطأ ؛


    else/*** تمت إضافة أخرى إلى if (Ticket gt ؛ 0)

    //حدث خطأ أثناء فتح الصفقة لذا تعامل معها
    طباعة (خطأ في فتح أمر الشراء: ، GetLastError ()) ؛
    التجارة الدولية = خطأ ،
    buyFlag = خطأ ؛

    إذا (EachTickMode) TickCheck = صحيح ؛
    إذا (! EachTickMode) BarCount = أشرطة ؛
    عودة (0) ؛





    هذا هو طلبي إغلاق رمز معالجة الخطأ لطلب الشراء:



    // ----------------------------------------------- -------------------
    //| نهاية الإشارة (خروج الشراء) |
    // ----------------------------------------------- -------------------

    إذا (الطلب == SIGNAL_CLOSEBUY ((eachTickMode!) TickCheck) || (! EachTickMode (Bars! = BarCount))))
    لـ (cnt = الإجمالي ؛ cnt gt ؛ = 0 ؛ cnt--)

    OrderSelect (cnt ، SELECT_BY_POS ، MODE_TRADES) ؛

    إذا (OrderMagicNumber () == MagicNumber)

    nomoretrades = صحيح ؛
    التجارة الدولية = خطأ ،
    التذكرة = OrderTicket (OrderTicket () ، OrderLots () ، العطاء ، الانزلاق السعري ، MediumSeaGreen) ؛
    إذا (تذكرة GT ؛ 0)
    إذا (OrderSelect (تذكرة ، SELECT_BY_TICKET ، MODE_TRADES))
    طباعة (تم إغلاق أمر البيع: ، OrderClosePrice ()) ؛
    إذا (SignalMail) SendMail ([تنبيه الإشارة] ، [ الرمز () ] DoubleToStr (العطاء ، الأرقام) البيع المفتوح) ؛
    آخر
    طباعة (خطأ في إغلاق أمر الشراء: ، GetLastError ()) ؛
    nomoretrades = خطأ ؛
    InTrade = صحيح ؛


    else/*** تمت إضافة أخرى إلى if (Ticket gt ؛ 0)

    //لقد أخطأنا في إغلاق الصفقة لذا تعامل معها
    طباعة (خطأ في إغلاق أمر الشراء: ، GetLastError ()) ؛
    nomoretrades = خطأ ؛
    InTrade = صحيح ؛




    إذا (SignalMail) SendMail ([تنبيه الإشارة] ، [ الرمز () ] DoubleToStr (العطاء ، الأرقام) إغلاق الشراء) ؛
    إذا (! EachTickMode) BarCount = أشرطة ؛
    IsTrade = خطأ ،
    استمر؛

    //الوقف المتحرك
    إذا (UseTrailingStop TrailingStop gt؛ 0)
    إذا (العطاء - OrderOpenPrice () gt ؛ النقطة * TrailingStop)
    إذا (OrderStopLoss () lt ؛ العطاء - نقطة * TrailingStop)
    OrderModify (OrderTicket () ، OrderOpenPrice () ، Bid - Point * TrailingStop ، OrderTakeProfit () ، 0 ، MediumSeaGreen) ؛
    إذا (! EachTickMode) BarCount = أشرطة ؛
    استمر؛



    } آخر {



    هل يمكن لأي شخص أن يخبرني ما إذا كان رمز معالجة الخطأ ”إغلاق الطلب” الخاص بي صحيحًا؟

    بالإضافة إلى ذلك ، يبدو أن لدي مشكلة في طباعة OrderClosePrice () لأن السعر المطبوع غير صحيح. ليس لدي أي مشاكل مع طباعة OrderOpenPrice () لرمز فتح الأمر.

  2. #2
    تحتاج إلى إغلاق هذه الفئة في حالة (OrderSelect (Ticket ، SELECT_BY_TICKET ، MODE_TRADES)) حتى آخر {

  3. #3
    لدي هذا الكود بالفعل قبل هذا:/تقييم موقف منطقي IsTrade = False؛ لـ (int I = 0؛ I lt؛ Total؛ I ) {OrderSelect (I، SELECT_BY_POS، MODE_TRADES) ؛ if (OrderType () lt؛ = OP_SELL OrderSymbol () == Symbol ()) {IsTrade = false ؛ إذا (OrderType () == OP_BUY)/ -------------------------------------- ---------------------------- if (buyFlag == false Close1 lt؛ Middle1) الطلب = SIGNAL_CLOSEBUY ؛ إذا (أغلق [0] lt؛ Middle1) الأمر = SIGNAL_CLOSEBUY ؛ buyopenpoint = فتح [0] ، لذلك فإن إغلاق آخر {هو حقًا قوس إغلاق لـ if (OrderType () == OP_BUY) أم أنك تتحدث عن الآخر {الذي يأتي قبل الطباعة (خطأ في إغلاق أمر الشراء: ، GetLastError ()) ؛؟

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز BB مفعل
  • الابتسامات مفعلة
  • رمز[IMG] مفعل
  • رمز [VIDEO] مفعل
  • رمز HTML غير مفعل
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.