الرجاء المساعدة مع رمز الوظيفة المخصصة
Results 1 to 7 of 7

Thread: الرجاء المساعدة مع رمز الوظيفة المخصصة

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

    تم إدراج إغلاق باطل الشفرة (تراكم منطقي ، هدف مزدوج) {if (التراكم == صحيح) {double orderProfit = 0؛ لـ (int i = 0؛ ilt؛ OrdersTotal ()؛ i ) {if (OrderSelect (i، SELECT_BY_POS، MODE_TRADES) == true) {orderProfit = OrderProfit () ؛ if (orderProfit gt؛ = target) {for (int ic = 0؛ iclt؛ OrdersTotal ()؛ ic ) {if (OrderSelect (ic، SELECT_BY_POS) == true) {if (OrderType () == 0) {bool tutup = إغلاق الطلب (OrderTicket () ، OrderLots () ، العطاء ، 0 ، clrGreen) ؛ كومن (أغلق كل كارينا الهدف ، 255 ، 255 ، 255) ؛ } if (OrderType () == 1) {bool tutup = OrderClose (OrderTicket ()، OrderLots ()، Ask، 0، clrGreen)؛ كومن (أغلق كل كارينا الهدف ، 255 ، 255 ، 255) ؛ }}}}}}}}

  2. #2

    Quote Originally Posted by ;
    {quote} عند إغلاق الطلبات ، يجب عليك إما: 1تشغيل الحلقة بالترتيب المعاكس ... لـ (int ic = OrdersTotal () - 1؛ icgt؛ = 0؛ ic--) أو 2التحقق بعد الحلقة أنه تم إغلاق جميع الطلبات ذات الصلة لأنه في الحلقة ic ، عندما يتم إغلاق أحد الطلبات ، يصبح مجموع إجمالي الطلبات خاطئًا ولن يتم العثور على آخر طلب (أوامر) في المجموعة. لست متأكدًا مما إذا كان توضيحي باللغة الإنجليزية جيدًا ... لكن هذا كل شيء!
    أنت محق! تكمن المشكلة في ترتيب الحلقة ، لأنه في حالة استخدام منطق ic ، فسيؤدي ذلك إلى تعطل OrdersTotal. أحاول الحلقة المعاكسة وعملت! شكرًا جزيلاً! سأغلق هذا الموضوع في أسرع وقت ممكن.

  3. #3

    Quote Originally Posted by ;
    ... إذا (OrderSelect (ic، SELECT_BY_POS) == صحيح)
    من الأفضل أيضًا إضافة MODE_TRADES في تحديد الترتيب كما فعلت في الحلقة الأولى.

  4. #4

    Quote Originally Posted by ;
    {quote} تقصد مثل هذا ، أليس كذلك؟ هذا هو الإصدار الأول من الكود الخاص بي ، في الأصل يبدو كالتالي: إغلاق باطل (تراكم منطقي ، هدف مزدوج) {if (التراكم == صحيح) {double orderProfit = 0؛ لـ (int i = 0؛ ilt؛ OrdersTotal ()؛ i ) {if (OrderSelect (i، SELECT_BY_POS، MODE_TRADES) == true) {orderProfit = OrderProfit () ؛ }} if (orderProfit gt؛ = target) {for (int ic = 0؛ iclt؛ OrdersTotal ()؛ ic ) {if (OrderSelect (ic، SELECT_BY_POS) == true) {if (OrderType () == 0) { bool tutup = OrderClose (OrderTicket () ، OrderLots () ، العطاء ، 0 ، clrGreen) ؛ كومن (إغلاق الكل ...
    عند إغلاق الطلبات ، يجب عليك إما: 1تشغيل الحلقة الخاصة بك بالترتيب المعاكس ... رمز مدرج لـ (int ic = OrdersTotal () - 1؛ icgt؛ = 0؛ ic--) أو 2التحقق بعد الحلقة الخاصة بك تم إغلاق جميع الطلبات ذات الصلة لأنه في الحلقة ic ، عند إغلاق أحد الطلبات ، يصبح مجموع إجمالي الطلبات خاطئًا ولن يتم العثور على آخر طلب (أوامر) في المجموعة. لست متأكدًا مما إذا كان توضيحي باللغة الإنجليزية جيدًا ... ولكن هذا هو!

  5. #5

    Quote Originally Posted by ;
    مرحبًا يا شباب ، يمكن لأي شخص أن يخبرني أين الخطأ في الكود الخاص بي. لذلك أريد عمل وظيفة لإغلاق جميع الطلبات المفتوحة (بغض النظر عن نوع الأمر) بعد الوصول إلى الربح المستهدف ، ولكن بطريقة ما ، يقوم المستشار الخبير بإغلاق الشراء فقط أو إغلاق البيع فقط بعد الوصول إلى الربح المستهدف. ها هو الرمز: إغلاق باطل (تراكم منطقي ، هدف مزدوج) {إذا (تراكم == صحيح) {double orderProfit = 0؛ لـ (int i = 0؛ ilt؛ OrdersTotal ()؛ i ) {if (OrderSelect (i، SELECT_BY_POS، MODE_TRADES) == true) {orderProfit = OrderProfit () ؛ if (orderProfit gt؛ = target) {for (int ic = 0؛ iclt؛ OrdersTotal ()؛ ic ) {if (OrderSelect (ic، ...
    لا تضع حلقة ثانية تستدعي OrdersTotal () داخل الحلقة الأولى. قم بتشغيل الحلقة الأولى لمجموع الربحالخسارة ... ثم إذا كان الربحالخسارة في هدفك أو أكبر ، فقم بتشغيل الحلقة الثانية لإغلاق جميع طلباتك.

  6. #6

    Quote Originally Posted by ;
    {quote} لا تضع حلقة ثانية تستدعي OrdersTotal () داخل الحلقة الأولى. قم بتشغيل الحلقة الأولى لمجموع الربحالخسارة ... ثم إذا كان الربحالخسارة في هدفك أو أكبر ، فقم بتشغيل الحلقة الثانية لإغلاق جميع طلباتك.
    تقصد مثل هذا الحق؟ هذا هو الإصدار الأول من الكود الخاص بي ، في الأصل يبدو كالتالي: إغلاق باطل الرمز المُدرج (تراكم منطقي ، هدف مزدوج) {if (التراكم == صحيح) {double orderProfit = 0؛ لـ (int i = 0؛ ilt؛ OrdersTotal ()؛ i ) {if (OrderSelect (i، SELECT_BY_POS، MODE_TRADES) == true) {orderProfit = OrderProfit () ؛ }} if (orderProfit gt؛ = target) {for (int ic = 0؛ iclt؛ OrdersTotal ()؛ ic ) {if (OrderSelect (ic، SELECT_BY_POS) == true) {if (OrderType () == 0) { bool tutup = OrderClose (OrderTicket () ، OrderLots () ، العطاء ، 0 ، clrGreen) ؛ كومن (أغلق كل كارينا الهدف ، 255 ، 255 ، 255) ؛ } if (OrderType () == 1) {bool tutup = OrderClose (OrderTicket ()، OrderLots ()، Ask، 0، clrGreen)؛ كومن (أغلق كل كارينا الهدف ، 255 ، 255 ، 255) ؛ }}}}}} وحاولت إعادته إلى هذا الإصدار ولم يتغير شيء ، فقط أوامر الشراء مغلقة ، أو أوامر البيع مغلقة

  7. #7

    Quote Originally Posted by ;
    {quote} أنت على حق! تكمن المشكلة في ترتيب الحلقة ، لأنه في حالة استخدام منطق ic ، فسيؤدي ذلك إلى تعطل OrdersTotal. أحاول الحلقة المعاكسة وعملت! شكرًا جزيلاً! سأغلق هذا الموضوع في أسرع وقت ممكن.
    رائعة!

أذونات النشر

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