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

    افتراضي سؤال حول الدالة البرمجية GlobalVariableGet .. لتسجيل نوع أمر الصفقة

    الى خبراء البرمجة .. السلام عليكم ورحمة الله وبركاته

    لقد بحثت عن داله تعمل على تعاقب نوع اوامر الصفقات .. بحيث تجعل عملية بيع تتلوها عملية شراء تتلوها بيع وهكذا

    بيع
    شراء
    بيع
    شراء

    وهكذا

    فوقع البحث على دالة GlobalVariableGet

    وبحكم عدم الالمام الجيد في اللغة الانجليزية واجهت صعوبة في فهم هذه الدالة

    المراد منكم اخواني المبرمجين الافادة عن مدى فعالية هذه الداله للمهمة المطلوبة .. وكيف يمكن ان يكتب الكود البرمجي لتحقيق تنفيذ المهمة كما هو مطلوب

    وما الخيارات البديلة لمثل ذلك

    ودمتم جميعا سالمين

  2. #2
    الصورة الرمزية صلاح الدين الفوركساوى
    صلاح الدين الفوركساوى غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2012
    الإقامة
    مصر
    المشاركات
    740

    افتراضي

    +1

  3. #3
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

    افتراضي رد:سؤال حول الدالة البرمجية GlobalVariableGet .. لتسجيل نوع أمر الصفقة

    لن تحتاج لها ويكفي ان تعمل دالة عبارة عن حلقة لأستخراج نوع آخر صفقة وبالتالي تطلب عدم تنفيذ نفس النوع ، والدالة تختلف اذا كنت تستدعي معرفه عقد مفتوح او عقد مغلق .

    هذا مثال للدالة لمعرفة آخر عقد مغلق فأذا كان شراء اوجه الأمر الى البيع
    كود PHP:
    void CheckLastOrder()
    {
      
        
    datetime lastCloseTime 0;
        
    int cnt OrdersHistoryTotal();
        for (
    int i=0cnti++)
        {
            if (!
    OrderSelect(iSELECT_BY_POSMODE_HISTORY)) continue;
            if (
    OrderSymbol() == Symbol() && lastCloseTime OrderCloseTime() && OrderType()== OP_BUY)
            {
                
    GO SELL
            
    }
        }

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

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

    افتراضي

    يمكنك أن تستخدم الطريقة التي شرحها الأخ جميل

    بالنسبه للداله GlobalVariableGet و GlobalVariableSet
    تستخدم لحفظ قيم في الذاكره العامه ويمكنك إسترجاعها حتى لو أغلقت الميتاتريدر

    بالنسبه لإستخدامها في الكود الذي تريده
    يمكنك حفظ قيمة في الذاكره بحيث عندما يتم فتح صفقة شراء تتحول إلى 1 وعندما يتم فتح صفقة بيع تتحول إلى -1
    ثم تضع في الشروط هذه المقارنه
    مثال
    كود PHP:
     if(GlobalVariableGet("NextOrderType")!=1)
            {
              
    OrderSend(Symbol(),OP_BUY,Lots1,NormalizeDouble(Ask,Digits),3,SL,TP,"EA",MagicNumber,0,Blue);
              
    GlobalVariableSet("NextOrderType",1);
            }
        if(
    GlobalVariableGet("NextOrderType")!=-1)
            {
              
    OrderSend(Symbol(),OP_SELL,Lots1,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",MagicNumber,0,Red);
              
    GlobalVariableSet("NextOrderType",-1);
            } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    الصورة الرمزية 911
    911
    911 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2009
    الإقامة
    Riyadh
    المشاركات
    92

    افتراضي

    مشكور اخي جميل على المساعدة ولا حرمك الله الاجر

    الكود الذي كتبته اقتصر فقط على معرفة اخر صفقة مغلقة ليتم بعدها تحديد الصفقة التالية ولكن المطلوب هو لا يقف على كون الصفقة الاخيرة مغلقة فقط .. فقد تكون لم تغلق بعد

    جزاك الله خيرا

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

    افتراضي رد:سؤال حول الدالة البرمجية GlobalVariableGet .. لتسجيل نوع أمر الصفقة

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    يمكنك أن تستخدم الطريقة التي شرحها الأخ جميل

    بالنسبه للداله GlobalVariableGet و GlobalVariableSet
    تستخدم لحفظ قيم في الذاكره العامه ويمكنك إسترجاعها حتى لو أغلقت الميتاتريدر

    بالنسبه لإستخدامها في الكود الذي تريده
    يمكنك حفظ قيمة في الذاكره بحيث عندما يتم فتح صفقة شراء تتحول إلى 1 وعندما يتم فتح صفقة بيع تتحول إلى -1
    ثم تضع في الشروط هذه المقارنه
    مثال
    كود PHP:
     if(GlobalVariableGet("NextOrderType")!=1)
    {
    OrderSend(Symbol(),OP_BUY,Lots1,NormalizeDouble(Ask,Digits),3,SL,TP,"EA",MagicNumber,0,Blue);
    GlobalVariableSet("NextOrderType",1);
    }
    if(
    GlobalVariableGet("NextOrderType")!=-1)
    {
    OrderSend(Symbol(),OP_SELL,Lots1,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",MagicNumber,0,Red);
    GlobalVariableSet("NextOrderType",-1);

    شكرا استاذا اسامه .. ربي يوفقك ويرحم والديك

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

    ارجو الاطلاع وتعديله ولا حرمك الله الاجر
    الملفات المرفقة الملفات المرفقة

  7. #7
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة 911 مشاهدة المشاركة
    مشكور اخي جميل على المساعدة ولا حرمك الله الاجر

    الكود الذي كتبته اقتصر فقط على معرفة اخر صفقة مغلقة ليتم بعدها تحديد الصفقة التالية ولكن المطلوب هو لا يقف على كون الصفقة الاخيرة مغلقة فقط .. فقد تكون لم تغلق بعد

    جزاك الله خيرا
    الدوال المستخدمة عموما هي نفسها في الغالب فقط غير الى MODE_HISTORY للصفقات المغلقة أو MODE_TRADES للصفقات المفتوحة
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  8. #8
    الصورة الرمزية 911
    911
    911 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2009
    الإقامة
    Riyadh
    المشاركات
    92

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة 911 مشاهدة المشاركة
    شكرا استاذا اسامه .. ربي يوفقك ويرحم والديك

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

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة 911 مشاهدة المشاركة
    شكرا استاذا اسامه .. ربي يوفقك ويرحم والديك

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

    ارجو الاطلاع وتعديله ولا حرمك الله الاجر
    الإكسبرت الذي أرفقته به أخطاء برمجيه فأنصحك أن تراجع الدروس التعليميه مره أخرى
    هذا كود الإكسبرت بعد التعديل
    لكن هذا الكود سيظل يفتح بيع ثم شراء بدون شروط أو توقف
    كود PHP:
    extern double Lots 0.1;
    extern int TakeProfit 10;
    extern int StopLoss 10;
    extern int MagicNumber 100;

    /*************
    *
    * Testing EA
    *
    */////////

    void init() {
       Print(
    "** INIT **");
    }

    void start() {


       if(
    Volume[0] > 1) {
          return;
       }   
             
     

    if(
    GlobalVariableGet("NextOrderType")!=1)
            {
              
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,StopLoss,TakeProfit,"EA",MagicNumber,0,Blue);
              
    GlobalVariableSet("NextOrderType",1);
            }
        if(
    GlobalVariableGet("NextOrderType")!=-1)
            {
              
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,StopLoss,TakeProfit,"EA",MagicNumber,0,Red);
              
    GlobalVariableSet("NextOrderType",-1);
            }
            
       } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #10
    الصورة الرمزية 911
    911
    911 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2009
    الإقامة
    Riyadh
    المشاركات
    92

    افتراضي

    مشكور أستاذ اسامة على التصحيح

    المقصود هو ان يقوم الاكسبيرت بفتح صفقة عند كل افتتاح للشمعه .. ويقوم في الافتتاح التالي للشمعه التالية فتح صفقة معاكسة

    أراك هنا حذفت شرط سعر الافتتاح

    كرما منك تعديل الاكسبيرت كما هو مطلوب .. وجزاك الله خيرا

  11. #11
    الصورة الرمزية 911
    911
    911 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2009
    الإقامة
    Riyadh
    المشاركات
    92

    افتراضي

    كيف بالامكان اضيف شرط تحقق فتح الصفقة عند سعر الافتتاح


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