النتائج 1 إلى 11 من 11
  1. #1
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي طلب تعديل اكسبيريت ( الرجاء من الغالي الأستاذ أسامة الدخول )

    السلام عليكم ورحمة الله وبركاته

    كل عام والأمة الإسلامية والعربية بألف خير ، وتقبل الله صالح أعمالكم وصيامكم وقيامكم

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

    المهم هو أن الإكسبيريت لابد أن يعمل التالي :

    إذا كان عدد الصفقات المفتوحة = 1 لا تعديل
    إذا كان عدد الصفقات المفتوحة = 2 يتم تعديل التيك بروفت لكل الصفقتين 1 ( الصفقة الأولى ) و 2 ( صفقة التبريد ، التعزيز ) إلى نقطة دخول الصفقة رقم 1
    إذا كان عدد الصفقات المفتوحة = 3 يتم تعديل التيك بروفت لكل الصفقات الثلاث ، 1 ( الصفقة الأولى ) و 2 ( صفقة التبريد ، التعزيز ) و3 ( صفقة التبريد الثانية ) إلى نفس الهدف الموضوع للصفقة رقم 3

    * مع ملاحظة أنه هذا الفعل يطبق على صفقات البيع على حده وكذلك على صفقات الشراء على حده

    وقام كلٌ من الغالي المهندس xcv114 والأخ urlsaver بالمساعدة في تصحيح وتعديل الدوال كوني مبتدىء في هذا البحر الكبير

    وبعد عمل الدوال تم عمل كومبايل فلم ينتج أخطاء في الكود ولكن بعد وضعه على الشارت لم يعمل أبداً وفي الجورنال اتضح أيضاً أنه لايعدل الأهداف كما هو مطلوب بل يرسل تعديل بشكل خلاف ما أردت ولا ينفذها أيضاً

    فأتمنى من الأستاذ أسامة المساعدة في حل المشكلة وتصحيح الخطأ الخاص بالتعديل
    مع العلم بأني اتأسف كثيرا ً لكثرة مراسلتي له و طلباتي منه فهو رجل ُ ذو خلق عالي يساعد الكل وهذا ما جعلني أطلبه نصا ً بالاسم

    الكود في المرفقات
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 1stEA.mq4‏ (4.2 كيلوبايت, المشاهدات 26)

  2. #2
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Moath Mohammed مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته

    كل عام والأمة الإسلامية والعربية بألف خير ، وتقبل الله صالح أعمالكم وصيامكم وقيامكم

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

    المهم هو أن الإكسبيريت لابد أن يعمل التالي :

    إذا كان عدد الصفقات المفتوحة = 1 لا تعديل
    إذا كان عدد الصفقات المفتوحة = 2 يتم تعديل التيك بروفت لكل الصفقتين 1 ( الصفقة الأولى ) و 2 ( صفقة التبريد ، التعزيز ) إلى نقطة دخول الصفقة رقم 1
    إذا كان عدد الصفقات المفتوحة = 3 يتم تعديل التيك بروفت لكل الصفقات الثلاث ، 1 ( الصفقة الأولى ) و 2 ( صفقة التبريد ، التعزيز ) و3 ( صفقة التبريد الثانية ) إلى نفس الهدف الموضوع للصفقة رقم 3

    * مع ملاحظة أنه هذا الفعل يطبق على صفقات البيع على حده وكذلك على صفقات الشراء على حده

    وقام كلٌ من الغالي المهندس xcv114 والأخ urlsaver بالمساعدة في تصحيح وتعديل الدوال كوني مبتدىء في هذا البحر الكبير

    وبعد عمل الدوال تم عمل كومبايل فلم ينتج أخطاء في الكود ولكن بعد وضعه على الشارت لم يعمل أبداً وفي الجورنال اتضح أيضاً أنه لايعدل الأهداف كما هو مطلوب بل يرسل تعديل بشكل خلاف ما أردت ولا ينفذها أيضاً

    فأتمنى من الأستاذ أسامة المساعدة في حل المشكلة وتصحيح الخطأ الخاص بالتعديل
    مع العلم بأني اتأسف كثيرا ً لكثرة مراسلتي له و طلباتي منه فهو رجل ُ ذو خلق عالي يساعد الكل وهذا ما جعلني أطلبه نصا ً بالاسم

    الكود في المرفقات
    وعليكم السلام ورحمة الله وبركاته
    في البدايه لديك خطأ في دالة معرفة سعر دخول أول صفقه
    كود PHP:
    double FirstOrderPrice(int type)
    {
    double c=0;
      for (
    int i=0;i<=OrdersTotal();i++)
      {
        
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==type)
        {
          
    c=OrderOpenPrice();
          }
      }
      return(
    c);

    فبما أنك تريد سعر دخول أول صفقه فبمجرد أن تقوم بتحديدها إستخدم return لإنهاء الحلقه وحفظ القيمة
    لتصبح
    كود PHP:
    double FirstOrderPrice(int type)
    {
    double c=0;
      for (
    int i=0;i<=OrdersTotal();i++)
      {
        
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==type)
        {
          
    c=OrderOpenPrice();
          return(
    c);
          }
      }
      return(
    c);

    في الجزء الآخر إذا كان عدد الصفقات أكثر من 3 ترتيبك للكود خاطئ
    مرفق الإكسبرت بعد التعديل
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي رد:طلب تعديل اكسبيريت ( الرجاء من الغالي الأستاذ أسامة الدخول )

    MR.dollar

    شكراً لك يأستاذي وأنت من شجعتني لدخول هذا العالم بطيبك وكرمك وحرصك دوما ً على مساعدة الكل وتلبية كل الطلبات ، ماشاء الله تبارك الله ، حفظك الله ياغالي

    #######

    بعد تجربة الإكسبيريت لم يعمل مع العلم بأنه تم التجربة بمنصة رباعية وخماسية ولا أعلم ما السبب ولا توجد أخطاء بالجورنال ، هي المفترض بالصفقة الثانية يقوم الاكسبيريت بتعديل الهدف لكلا الصفقتين إلى نقطة الدخول لصفقة رقم 1

    فما هي المشكلة أستاذ أسامة هل تكون بدالة معينة تأخر التعديل أو تمنع خصوصاً التي يتم استدعاءها مرتين وأكثر
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 02.png‏   01.png‏  

  4. #4
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Moath Mohammed مشاهدة المشاركة
    MR.dollar

    شكراً لك يأستاذي وأنت من شجعتني لدخول هذا العالم بطيبك وكرمك وحرصك دوما ً على مساعدة الكل وتلبية كل الطلبات ، ماشاء الله تبارك الله ، حفظك الله ياغالي

    #######

    بعد تجربة الإكسبيريت لم يعمل مع العلم بأنه تم التجربة بمنصة رباعية وخماسية ولا أعلم ما السبب ولا توجد أخطاء بالجورنال ، هي المفترض بالصفقة الثانية يقوم الاكسبيريت بتعديل الهدف لكلا الصفقتين إلى نقطة الدخول لصفقة رقم 1

    فما هي المشكلة أستاذ أسامة هل تكون بدالة معينة تأخر التعديل أو تمنع خصوصاً التي يتم استدعاءها مرتين وأكثر
    هذا لأنك وضعت متغير MagicNumber في الإكسبرت بالتالي لن يتعامل مع الصفقات إلا التي لديها نفس الماجيك نمبر 2533
    إذا كنت تفتح الصفقات يدويا إجعل الماجيك نمبر 0 حتى يستطيع الإكسبرت التعامل معها
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي

    بالفعل تم تعديل الماجيك إلى 0 وعمل الاكسبيريت على كلا المنصتين

    لكن وجدت خطأ في أحد الدوال والتي لا تجعل الاكسبيريت يؤدي العمل بمثل ما أرغب ولا أعرف لماذا

    كنت أرغب بأنه إذا كانت عمليات الشراء = 1 لا يعمل تعديل وإذا كانت =2 فيجعل قيمة التيك بروفت لكل الصفقتين هو نقطة دخول العملية رقم 1 وإذا كانت عمليات الشراء = 3 يجعل قيمة التيك بروفت للكل هو نفس قيمة الهدف لصفقة رقم 3

    فاليوم كانت عندي ( على الحساب التجربي ) صفقة بيع على الاسترالي وحدث التالي :

    الصفقة الأولى ( مرقمة برقم 1 )



    كان الهدف المحدد للصفقة رقم 1 هو 1.04320

    لكن نزل السعر وتفعلت صفقة التعزيز ( التبريد الأولى ) فأصبح مجموع عمليات البيع المفتوحة = 2 وكان الهدف المحدد لصفقة رقم 2 هو 1.04754



    لكن بمجرد تفعيل صفقة رقم 2 قام الاكسبيريت بتعديل التيك بروفت للصفقتين إلى نفس نقطة دخول صفقة رقم 2 !!!



    وهذا خطأ

    والصواب ( إذا كانت الصفقات = 2 إذا التعديل يكون لنفس نقطة دخول صفقة رقم 1 ، إذا كانت = 3 التعديل يكون لنفس هدف آخر صفقة فتحت أي نفس هدف الصفقة رقم 3 )



    والسؤال الآخر هل احتاج لمتغير الماجيك نمبر في حال فعلت الاكسبيريت على اكثر من زوج حتى لا يحصل خلط
    آخر تعديل بواسطة Moath Mohammed ، 21-08-2012 الساعة 05:25 AM

  6. #6
    الصورة الرمزية دمبلدور
    دمبلدور غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    المملكة العربية السعودية
    المشاركات
    7

    افتراضي رد:طلب تعديل اكسبيريت ( الرجاء من الغالي الأستاذ أسامة الدخول )

    يعطيك العافية اخي مستر دولار واخي معاذ بن محمد

    لو تتكرم عندي سؤال ؟

    هل هذا الاكسبرت تطبيق للمؤشر الذي يحقق 5000 نقطة خلال اسبوعين وهو مستويات عماد ؟

    تحياتي لكم جميعا

  7. #7
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي

    يعافيك ربي ، فقط للتوضيح هذا الاكسبيريت ليس له علاقة بفكرة المهندس عماد

    إنما الفكرة هي يالغالي تعتمد على عدد الصفقات المفتوحة بأي اتجاه وللتوضيح

    هي فكرة تعمد على قيم محددة وضعت للدوال حتى يتعامل معها الاكسبيريت بدلا ً من التدخل اليدوي والمتابعة الدائمة

    والفكرة هي على ثلاثة مستويات وقيم
    فلو كان مجموع الصفقات المفتوحة على الزوج هو صفقة واحدة فالإكسبيريت لن يعمل ويدعها كما هي بلا تعديل
    لو كان مجموع الصفقات المفتوحة على الزوج هو صفقتين فالإكسبيريت يعمل على تعديل التيك بروفت لكل الصفقتين لنقطة دخول أول صفقة بحيث تخرج صفقة بصفر أرباح وصفقة بربح
    لو كان مجموع الصفقات المفتوحة على الزوج هو ثلاثة صفقات فالإكسبيريت يعمل على تعديل التيك بروفت لكل الصفقات الثلاثة إلى الهدف للصفقة الثالثة وبحيث تخرج صفقتين رابحتين وثالثه خاسرة فيصبح المجموع الكلي ربح

    أما كيفية تحديد وخول الصفقات وحجم العقد فهذه لا تعتمد على مؤشر محدد بل بطريقة يدوية تعتمد على الرينج اليوم للزوج وهي من عمل المبدع الأستاذ جمال ممدوح في فترات سابقة
    فالعقد الأولي يكون عند وصول السعر لأقصى منقطة أي منطقة الرنج اليومي ( وهنا مثلا بيع )
    عقد ثاني كتعزيز أولي بعد ارتفاع الزوج بمقدار ثلثي الرينج اليومي ويكون بضعف العقد الاول
    عقد ثاني كتعزيز ثاني بعد ارتفاع الزوج بمقدار الرينج كاملا ً ويكون ب4 أضعاف العقد الأولي
    وحسبت الهدف بعد الصفقة الأولى هي مثلا 50 % من قيمة الرينج
    لو تفعل التعزيز الأول تكون الأهداف هي نقطة دخول الصفقة رقم 1
    لو تفعل التعزيز الثاني تكون الأهداف هي مثلا 40 % من الرينج وتعدل للكل

    في المحصلة النهائية النتيجة هي + + - = +

    طيب لو سأل واحد ليه في الصور كل العقود 0.01 ولم تغيرها تبعاً للشرح ؟
    الجواب هنا أني أعمل على حساب تجريبي للتأكد من عمل الاكسبيريت بشكل صحيح و خلوه من أي خطأ
    ولو لا حظت في زوج الباوند دولار وزوج الاسترالي دولار أني بعت من أي رقم المهم وعززت له بعد 15 نقطة فقط كي أطلع على عمل الاكسبيريت

    لماذا لا تجعل فكرة الرينج الية بالكل ؟
    ببساطة كوني مبتدىء بالبرمجة لا أستيطع ذلك حاليا ً
    ثانياً أفضل التعامل مع مؤشر حساب الرينج للأستاذ جمال ممدوح ودراسة وتجربة الفكرة والعمل بها يدوي حتى احترافها ثم بعد ذلك نجد الحل
    ثالثاً فقط تضع اوامر معلقة وصلها السعر فالحمدلله لو لم يصل تلغى بنهاية اليوم واليوم الجديد ارقام جديدة ومستويات جديدة

    بالأخير إن كان الاكسبيريت يسير بنفس ما ترغب فحمداً لله وللمعلومية يوجد به خطأ وانتظر تصحيح الأستاذ أسامة وتعليمي إياه لذلك حتى الآن فهو غير مكتمل ولا يترجم ماهو مكتوب هنا وأعلى الموضوع

  8. #8
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي

    ##

    UP

  9. #9
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Moath Mohammed مشاهدة المشاركة
    بالفعل تم تعديل الماجيك إلى 0 وعمل الاكسبيريت على كلا المنصتين

    لكن وجدت خطأ في أحد الدوال والتي لا تجعل الاكسبيريت يؤدي العمل بمثل ما أرغب ولا أعرف لماذا

    كنت أرغب بأنه إذا كانت عمليات الشراء = 1 لا يعمل تعديل وإذا كانت =2 فيجعل قيمة التيك بروفت لكل الصفقتين هو نقطة دخول العملية رقم 1 وإذا كانت عمليات الشراء = 3 يجعل قيمة التيك بروفت للكل هو نفس قيمة الهدف لصفقة رقم 3

    فاليوم كانت عندي ( على الحساب التجربي ) صفقة بيع على الاسترالي وحدث التالي :

    الصفقة الأولى ( مرقمة برقم 1 )



    كان الهدف المحدد للصفقة رقم 1 هو 1.04320

    لكن نزل السعر وتفعلت صفقة التعزيز ( التبريد الأولى ) فأصبح مجموع عمليات البيع المفتوحة = 2 وكان الهدف المحدد لصفقة رقم 2 هو 1.04754



    لكن بمجرد تفعيل صفقة رقم 2 قام الاكسبيريت بتعديل التيك بروفت للصفقتين إلى نفس نقطة دخول صفقة رقم 2 !!!



    وهذا خطأ

    والصواب ( إذا كانت الصفقات = 2 إذا التعديل يكون لنفس نقطة دخول صفقة رقم 1 ، إذا كانت = 3 التعديل يكون لنفس هدف آخر صفقة فتحت أي نفس هدف الصفقة رقم 3 )



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

  10. #10
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Moath Mohammed مشاهدة المشاركة
    يعافيك ربي ، فقط للتوضيح هذا الاكسبيريت ليس له علاقة بفكرة المهندس عماد

    إنما الفكرة هي يالغالي تعتمد على عدد الصفقات المفتوحة بأي اتجاه وللتوضيح

    هي فكرة تعمد على قيم محددة وضعت للدوال حتى يتعامل معها الاكسبيريت بدلا ً من التدخل اليدوي والمتابعة الدائمة

    والفكرة هي على ثلاثة مستويات وقيم
    فلو كان مجموع الصفقات المفتوحة على الزوج هو صفقة واحدة فالإكسبيريت لن يعمل ويدعها كما هي بلا تعديل
    لو كان مجموع الصفقات المفتوحة على الزوج هو صفقتين فالإكسبيريت يعمل على تعديل التيك بروفت لكل الصفقتين لنقطة دخول أول صفقة بحيث تخرج صفقة بصفر أرباح وصفقة بربح
    لو كان مجموع الصفقات المفتوحة على الزوج هو ثلاثة صفقات فالإكسبيريت يعمل على تعديل التيك بروفت لكل الصفقات الثلاثة إلى الهدف للصفقة الثالثة وبحيث تخرج صفقتين رابحتين وثالثه خاسرة فيصبح المجموع الكلي ربح

    أما كيفية تحديد وخول الصفقات وحجم العقد فهذه لا تعتمد على مؤشر محدد بل بطريقة يدوية تعتمد على الرينج اليوم للزوج وهي من عمل المبدع الأستاذ جمال ممدوح في فترات سابقة
    فالعقد الأولي يكون عند وصول السعر لأقصى منقطة أي منطقة الرنج اليومي ( وهنا مثلا بيع )
    عقد ثاني كتعزيز أولي بعد ارتفاع الزوج بمقدار ثلثي الرينج اليومي ويكون بضعف العقد الاول
    عقد ثاني كتعزيز ثاني بعد ارتفاع الزوج بمقدار الرينج كاملا ً ويكون ب4 أضعاف العقد الأولي
    وحسبت الهدف بعد الصفقة الأولى هي مثلا 50 % من قيمة الرينج
    لو تفعل التعزيز الأول تكون الأهداف هي نقطة دخول الصفقة رقم 1
    لو تفعل التعزيز الثاني تكون الأهداف هي مثلا 40 % من الرينج وتعدل للكل

    في المحصلة النهائية النتيجة هي + + - = +

    طيب لو سأل واحد ليه في الصور كل العقود 0.01 ولم تغيرها تبعاً للشرح ؟
    الجواب هنا أني أعمل على حساب تجريبي للتأكد من عمل الاكسبيريت بشكل صحيح و خلوه من أي خطأ
    ولو لا حظت في زوج الباوند دولار وزوج الاسترالي دولار أني بعت من أي رقم المهم وعززت له بعد 15 نقطة فقط كي أطلع على عمل الاكسبيريت

    لماذا لا تجعل فكرة الرينج الية بالكل ؟
    ببساطة كوني مبتدىء بالبرمجة لا أستيطع ذلك حاليا ً
    ثانياً أفضل التعامل مع مؤشر حساب الرينج للأستاذ جمال ممدوح ودراسة وتجربة الفكرة والعمل بها يدوي حتى احترافها ثم بعد ذلك نجد الحل
    ثالثاً فقط تضع اوامر معلقة وصلها السعر فالحمدلله لو لم يصل تلغى بنهاية اليوم واليوم الجديد ارقام جديدة ومستويات جديدة

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

    https://forum.arabictrader.com/t141767.html

    وهذه كانت آخر مشاركه بها آخر نسخة من الإكسبرت

    https://forum.arabictrader.com/showt...=1#post2450799
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #11
    الصورة الرمزية Moath Mohammed
    Moath Mohammed غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    المملكة العربية السعودية
    المشاركات
    84

    افتراضي رد:طلب تعديل اكسبيريت ( الرجاء من الغالي الأستاذ أسامة الدخول )

    MR.dollar

    شكرا ً لك يا غالي وتعبتك كثيراً كيثراً معي

    ولازلت لم أفهم لماذا الدالة الموجودة في start لا تعمل لما تكون القيمة للصفقات المفتوحة تساوي أو أكبر من 3

    فالمفترض بناءاً على الكود الموجود أن الصفقات بعد تفعيل الصفقة الثالثة يكون التيك بروفت للكل هو آخر تيك بروفت ، وفي بداية الكود كنا قد عملنا دالة لمعرفة آخر تيك بروفت .

    فلا مشكلة بالأكواد لكن المشكلة هنا بأنها في حال كانت الصفقات المفتوحة تساوي 2 فالعمل يتم على أكمل وجه
    لكن لما يكون يساوي 3 هنا لا تغيير !

    هنا الكود المقصود

    كود:
    int start()
      {
      
      if(orderstotal(OP_BUY)>1 && orderstotal(OP_BUY)<3){ModifyTP(OP_BUY);} 
       if(orderstotal(OP_SELL)>1 && orderstotal(OP_SELL)<3){ModifyTP(OP_SELL);}
           
            if(orderstotal(OP_BUY)>=3){
            for (int i=OrdersTotal();i>=0;i--){
                 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if (OrderTakeProfit()!=GetlastTP(OP_BUY) && OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_BUY){
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),GetlastTP(OP_BUY),0);
            }
          }
        }    
            
            if(orderstotal(OP_SELL)>=3){
             for ( i=OrdersTotal();i>=0;i--){
              OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
              if (OrderTakeProfit()!=GetlastTP(OP_SELL) && OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_SELL){
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),GetlastTP(OP_SELL),0);
            }
           }
          }
    //----
       return(0);
      }
    مرفق بالأسفل صورة من عمليات التجربة على الديمو

    هل المشكلة ربما تكون في دالة معرفة آخر تيك بروفت بحيث أنها تحسب آخر بروفت وليس البروفت الجديد أي تقوم بحسب البروفت للصفقة الثانية وليست الثالثة الجديدة ؟
    هنا الدالة
    كود:
    double GetlastTP(int type)
    {double c=0;
      for (int i=OrdersTotal();i>0;i--)
      {
        OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==type)
        {
          c=OrderTakeProfit();
          }
      }
      return(c);
    }
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 01.jpg‏  


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17