الحلقة الثامنة عشر من سلسلة تعلم البرمجة باسهل طريقة

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الحلقة الثامنة عشر من سلسلة تعلم البرمجة باسهل طريقة

    استرجاع معلومات الطلب

    بمجرد أن نضع طلبًا بنجاح ، سنحتاج إلى استرداد بعض المعلومات حول الطلب إذا
    نريد تعديله أو إغلاقه. نقوم بذلك باستخدام وظيفة OrderSelect (). لاستخدام OrderSelect () ،
    يمكننا إما استخدام رقم بطاقة الطلب ، أو يمكننا المرور عبر مجموعة الطلبات المفتوحة و
    حدد كل منهم بالترتيب.

    بمجرد اختيار طلب باستخدام OrderSelect () ، يمكننا استخدام مجموعة متنوعة من معلومات الطلب
    وظائف لإرجاع معلومات حول الأمر ، بما في ذلك وقف الخسارة الحالي ، وجني الأرباح ، والأمر
    سعر الافتتاح وسعر الإغلاق والمزيد.


    OrderSelect()

    فيما يلي بناء الجملة لوظيفة OrderSelect ():

    كود:
    bool OrderSelect(int Index, int Select, int Pool = MODE_TRADES)
    Index - هذا إما رقم تذكرة الأمر الذي نريد تحديده ، أو المركز
    في تجمع الطلبات. ستشير المعلمة Select إلى أي من هؤلاء نستخدمه.

    Select - ثابت يشير إلى ما إذا كانت معلمة الفهرس هي رقم تذكرة أم أمر
    موقف التجمع:

    SELECT_BY_TICKET - قيمة معلمة الفهرس هي رقم تذكرة الطلب.
    SELECT_BY_POS - قيمة معلمة الفهرس هي موضع تجمع الطلبات.


    Pool - ثابت اختياري يشير إلى تجمع الأوامر: الأوامر المعلقة / المفتوحة ، أو الأوامر المغلقة.

    MODE_TRADES - بشكل افتراضي ، نحن نفحص مجموعة الطلبات المفتوحة حاليًا.
    MODE_HISTORY - يفحص تجمع الأوامر المغلقة (سجل الطلبات).

    إذا حددت الدالة OrderSelect () موقع الطلب بنجاح ، فستكون قيمة الإرجاع صحيحة ،
    خلاف ذلك ، ستكون القيمة المعادة خطأ.
    فيما يلي مثال على وظيفة OrderSelect () باستخدام رقم تذكرة الطلب. متغير التذكرة
    يجب أن تحتوي على بطاقة طلب صالحة:

    كود:
    OrderSelect(Ticket,SELECT_BY_TICKET);
    بعد استدعاء وظيفة OrderSelect () ، يمكننا استخدام أي من وظائف معلومات الطلب
    لاسترداد معلومات حول هذا الطلب. قائمة كاملة بالوظائف التي يمكن استخدامها
    يمكن العثور على OrderSelect () في مرجع MQL ضمن وظائف التداول. فيما يلي قائمة بالأكثر
    وظائف معلومات الطلب شائعة الاستخدام:


    OrderSymbol () - رمز الأداة التي تم وضع الأمر المحدد عليها.
    OrderType () - نوع الأمر للأمر المحدد: شراء أو بيع ؛ السوق أو التوقف أو الحد. ال
    القيمة المرجعة هي عدد صحيح مطابق لثوابت نوع الأمر في .
    OrderOpenPrice () - سعر فتح الأمر المحدد.
    OrderLots () - حجم اللوت للأمر المحدد.
    OrderStopLoss () - سعر وقف الخسارة للأمر المحدد.
    OrderTakeProfit () - سعر جني الأرباح للأمر المحدد.
    OrderTicket () - رقم تذكرة الأمر المحدد. تستخدم بشكل عام عند ركوب الدراجات
    من خلال تجمع الطلبات مع المعلمة SELECT_BY_POS.
    OrderMagicNumber () - الرقم السحري للترتيب المحدد. عند ركوب الدراجات من خلال
    الطلبات ، ستحتاج إلى استخدام هذا لتحديد الطلبات التي قدمتها EA الخاص بك.
    OrderComment () - التعليق الذي تم وضعه مع الطلب. يمكن استخدام هذا كملف
    معرّف الطلب الثانوي.
    OrderClosePrice () - سعر إغلاق الأمر المحدد. يجب أن يكون الطلب بالفعل
    مغلق (أي موجود في تجمع محفوظات الطلبات).
    OrderOpenTime () - وقت فتح الأمر المحدد.
    OrderCloseTime () - وقت إغلاق الأمر المحدد.
    OrderProfit () - إرجاع الربح (بعملة الإيداع) للأمر المحدد.


    سنحتاج إلى استخدام OrderSelect () قبل إغلاق أو تعديل أمر. دعونا نوضح كيف نستخدم
    OrderSelect() لإغلاق الأمر.



    أوامر الإغلاق

    عندما نغلق طلب السوق ، فإننا نغادر الصفقة بسعر السوق الحالي. لأوامر الشراء ،
    نغلق عند سعر العرض ، وبالنسبة لأوامر البيع ، نغلق عند الطلب. للأوامر المعلقة ، نحن ببساطة
    حذف الأمر من مجمع التجارة (المراكز التي قمنا بدخولها او اغلاقها ).

    OrderClose()

    نقوم بإغلاق أوامر السوق باستخدام وظيفة OrderClose (). هنا بناء الجملة:

    كود:
    bool OrderClose(int Ticket, double Lots, double Price, int Slippage, color Arrow);
    Ticket- رقم التذكرة لأمر السوق للإغلاق.
    Lots- عدد اللوتات المطلوب إغلاقها. يسمح معظم الوسطاء بالإغلاق الجزئي.
    Price- السعر المفضل لإغلاق الصفقة. لأوامر الشراء ، سيكون هذا هو
    سعر العطاء الحالي ، وأوامر البيع ، سعر الطلب الحالي.
    Slippage - الانزلاق السعري المسموح به من سعر الإغلاق بالنقاط.
    Color- ثابت اللون لسهم الإغلاق. إذا لم تتم الإشارة إلى أي لون ، فلن يظهر أي سهم


    يمكنك إغلاق جزء من الصفقة عن طريق تحديد حجم جزئي للوت. على سبيل المثال ، إذا كان لديك صفقة مفتوحة
    بحجم 2.00 ، وتريد إغلاق نصف الصفقة ، ثم حدد عقدًا واحدًا للعقد. لاحظ أنه لا يدعم جميع الوسطاء عمليات الإغلاق الجزئي.

    من المستحسن أنه إذا كنت بحاجة إلى إغلاق مركز في عدة أجزاء ، فيجب عليك وضع عدة مرات
    أوامر بدلاً من القيام بإغلاق جزئي. باستخدام المثال أعلاه ، يمكنك وضع أمرين بقيمة 1.00
    لوت لكل منها ، ثم ببساطة أغلق أحد الأوامر عندما تريد إغلاق نصف المركز ، سنقوم دائمًا بإغلاق الطلب الكامل.

    المثال التالي يغلق أمر شراء في السوق:

    كود:
    OrderSelect(CloseTicket,SELECT_BY_TICKET);
    if(OrderCloseTime() == 0 && OrderType() == OP_BUY)
    {
    double CloseLots = OrderLots();
    double ClosePrice = Bid;
    bool Closed = OrderClose(CloseTicket,CloseLots,ClosePrice,UseSli ppage,Red);
    }

    متغير CloseTicket هو رقم تذكرة الأمر الذي نرغب في إغلاقه. اختر ()
    تحدد الوظيفة الطلب ، وتسمح لنا باسترداد معلومات الطلب. نحن نستخدم
    OrderCloseTime () للتحقق من وقت إغلاق الأمر لمعرفة ما إذا كان الأمر قد تم إغلاقه بالفعل. لو
    تُعيد OrderCloseTime () 0 ، ثم نعلم أن الأمر لم يُغلق بعد.

    نحتاج أيضًا إلى التحقق من نوع الأمر ، لأن نوع الأمر يحدد سعر الإغلاق للأمر.
    ترجع الدالة OrderType () عددًا صحيحًا يشير إلى نوع الأمر. إذا كان طلب شراء في السوق ،
    المشار إليه بواسطة OP_BUY ، سنستمر في إغلاق الأمر.

    بعد ذلك ، نسترجع حجم حصة الأمر باستخدام OrderLots () ، ونخزن هذه القيمة في CloseLots.
    تعيين سعر العطاء الحالي إلى ClosePrice. ثم نسمي وظيفة OrderClose () للإغلاق
    طلبنا.

    نحدد إعداد Slippage الخاص بنا باستخدام UseSlippage ، ونشير إلى السهم الأحمر الذي ستتم طباعته على
    جدول. يتم تخزين قيمة إرجاع منطقية في المتغير Closed. إذا تم إغلاق الأمر
    بنجاح ، فإن قيمة Closed ستكون صحيحة true ، وإلا ستكون خطأ false.

    لإغلاق أمر بيع في السوق ، كل ما عليك فعله هو تغيير نوع الأمر إلى OP_SELL وتعيين
    سعر الطلب Ask الحالي للإغلاق

    كود:
    if(OrderCloseTime() == 0 && OrderType() == OP_SELL)
    {
    double CloseLots = OrderLots();
    double ClosePrice = Ask;
    bool Closed = OrderClose(CloseTicket,CloseLots,ClosePrice,UseSli ppage,Red);
    }
    التعديل الأخير تم بواسطة Turkm; 2023 - 01 - 30, 23:41.
يعمل...
X