MT4 - مستويات جني الربح متعددةإغلاق جزئي
Results 1 to 10 of 10

Thread: MT4 - مستويات جني الربح متعددةإغلاق جزئي

  1. #1
    أود إغلاق طلب على مستويات مختلفة. مثال أغلق نصف طلبي في takeprofit1 والباقي في takeprofit2 باستخدام شيء مماثل لهذه:
    تم إدراج الرمز إذا (OrderType () == OP_BUY) إذا كان (Bid gt؛ OrderOpenPrice () TakeProfit1) OrderClose (12345، 0.5، Bid، 2)؛ if (Bid gt؛ OrderOpenPrice () TakeProfit2) OrderClose (12345، 0.5، Bid، 2)؛ المشكلة الواضحة هي أنه عندما يصطدم السعر بـ TakeProfit1 فسوف يحاول إغلاق كل علامة جديدة أخيرًا إغلاق الطلب بأكمله. هل هناك طريقة لتنفيذ هذا الإجراء فقط؟

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

  2. #2

    Quote Originally Posted by ;
    أحب إغلاق طلب على مستويات مختلفة. مثال سأغلق نصف طلبي في takeprofit1 والباقي في takeprofit2 له شيء مشابه لذلك: Inserted Code if (OrderType () == OP_BUY) if (Bid gt؛ OrderOpenPrice () TakeProfit1) OrderClose (12345، 0.5، Bid، 2 )؛ if (Bid gt؛ OrderOpenPrice () TakeProfit2) OrderClose (12345، 0.5، Bid، 2)؛ المشكلة الواضحة هي أنه إذا وصل السعر إلى TakeProfit1 فسوف يحاول إيقاف كل علامة جديدة تغلق في النهاية ...
    فقط استخدم أمرين منفصلين. تقسيم الطلب بعد فتحه هو ألم في المؤخرة ويتطلب تعقب الأوامر الحالية والبحث عن التذاكر التي تم إنشاؤها حديثًا ، إلخ ، وما إلى ذلك. إذا أصبحت عالقًا بعد مسح الرمز أعلاه فقط ، فمن الأفضل تركه اليوم وحفظه في أقرب وقت ممكن من رمز ، على الرغم من ذلك. استخدم فقط أمرين منفصلين واستمر في حياتك اليومية. خلاف ذلك ، سنكون و لن تكون قد عملت أي شيء بنفسك.

  3. #3
    يتم غلق جزء من الطلب للمبرمجين المتقدمين.

  4. #4

    Quote Originally Posted by ;
    المشكلة الواضحة هي أنه عندما يصطدم السعر بـ TakeProfit1 فسوف يحاول إغلاق كل علامة جديدة في النهاية إغلاق الأمر بأكمله. هل هناك طريقة للحصول على هذا فقط تنفيذ الإجراء؟ أدرك أن بإمكاني فتح طلبين منفصلين بأرباح مختلفة ولكنني أفضل أن أفهم كيفية القيام بذلك بطريقة أخرى إذا كان هناك طريقة أخرى. أنا أحب فكرة إخفاء أرباحي من وسيطك. أي مشورة أو مساعدة هو موضع تقدير.
    //----- hey trumpjr .... استخدم orderselect لتحديد الأمر .... استخدم مرشح orderlots () .... أدناه مجرد حالة سريعة سريعة ... H/- Inserted Code for (int I = Orderstotal () - 1؛ i gt؛ = 0؛ I--) {OrderSelect (I، SEL_BY_POSITION، MODE_TRADES)؛ يجب أن تستمر (OrderSymbol ()!) = الرمز ())؛ يجب (OrderLots () gt؛ = 1)/orderlots filter {if (OrderType () == OP_BUY) if (Bid gt؛ OrderOpenPrice () TakeProfit1) OrderClose (OrderTicket ()، 0.5، Bid، 0، CLR_NONE)؛

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

  6. #6
    الأرقام ليست فريدة لأحد الطلبات. يتم تعيين نفس الرقم السحري (بشكل عام) لكل أمر يتم فتحه بواسطة EA. هناك أوامر مع نفس العدد الذي هو السحر. اقتراحك لن يعمل.

  7. #7
    هل هناك طريقة للقيام بذلك؟ ستحتاج المجموعة الأولى من المحطات إلى أن تكون أكثر إحكامًا وفقًا لفيفو. افترض عند الترميز أقوم بشراء طلبين منفصلين .... الكثير A ، والوطعة B للحصول على lotA أحتاج SL-A في 30 نقطة و TP-A في 30 نقطة إلى الحصول على lotB أحتاج SL-B في 50 نقطة و TP-B كما 50 نقطة أفترض أنني يجب أن أغلق عبر مبلغ التذاكر واستخدام الخسائر المخفية لأن الوسيط الخاص بي يغلق جميع المراكز في أي SL TP هذا يبدو سهل جدا ولكن ما زلت جديدة في البرمجه و أنا أتحدث عن المكسرات هناك بعض الأمثلة على مثل هذا الكود حتى أتمكن من تحطيم البصر بشكل ظاهر

  8. #8
    أي شيء بصرف النظر عن أخذ الربح الحقيقي في هذا الترتيب سيكون خياليا ، لذلك ستحتاج إلى حساب الثانوية في حلقة OrderSelect الخاصة بك: Inserted Code إذا ((OrderType () == OP_BUY) (OrderSymbol () == Symbol ( )) (OrderMagicNumber () == MagicNumber)) if (OrderLots () = gt؛ 1 (Bid = gt؛ OrderTakeProfit () - (TakeProfitA * Point))) double dNewLotSize = NormalizeDouble (OrderLots ()2، two)؛ إذا (! OrderClose (OrderTicket ()، dNewLotSize، Bid، 3، Violet)) طباعة (خطأ OrderClose، GetLastError ())؛ آخر الطباعة (OrderClose - OrderTicket ())؛

  9. #9
    شكرا جزيلا لأخذ الوقت لنشر هذا ايم لديك صعوبة في ترجمة الجملة داخل إذا حلقة كيف يتم التفريق بين LotA و Lot B؟ أم أنه يفترض أن TakeProfit A يجب أن يحدث أولاً حتى يتحقق gt ؛ من فقط؟ ما هو هذا الخط من التعليمات البرمجية؟ Inserted Code double dNewLotSize = NormalizeDouble (OrderLots ()2، two)؛ من المفترض أن يحدث هذا عن طريق اختيار الإغلاق عن طريق رقم التذكرة ولكن يبدو أن حلقة العمل الخاصة بك تعمل على ذلك ، ولكني أواجه صعوبة في ترجمتها بوضوح

  10. #10
    كيف يعمل هذا حول مبلغ التذكرة؟

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز 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.