احترافية التحليل الفني في السوق السعودي

إعلانات تجارية اعلن معنا

النتائج 1 إلى 8 من 8

الموضوع: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

  1. #1

    افتراضي موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر نادي خبراء المال

    هذا الموضوع تعليمي لكيفية صنع اكسبيرت يفتح صفقات على زوج آخر غير الزوج الذي وُضع عليه الاكسبيرت


    ملاحظة :
    هذا الموضوع مفيد فقط لمن لديه خبرة في البرمجة بلغة mql4

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

    أهم مواضيع تعليم لغة MQL4

    بالتوفيق ان شاء الله


  2. #2

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    نبدأ على بركة الله

    أولاً
    قم يفتح برنامج MetaEditor

    ثانياً
    من القائمة العلوية
    File
    New

    or

    Ctrl+N

    ثم

    Expert Advisor
    ثم
    Next

    ثم
    Name : m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1

    Auther: Copyright © 2010 m-e-c.biz

    Link : http://m-e-c.biz

    ثم

    Finsh

    وبهذا يكون عندنا كود فارغ لاكسبيرت اسمه

    m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1

    الكود سيكون كالتالي

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1.mq4 |
    //| Copyright © 2010 m-e-c.biz |
    //| http://m-e-c.biz |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2010 m-e-c.biz"
    #property link "http://m-e-c.biz"

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    [/PHP]

    يتبع ....


  3. #3

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    الآن يجب ان نضيف له متغيرات خارجية مثل

    متغير خاص بالزوج الذي نريد التعامل نعه
    متغير خاص بالعملية (شراء أو بيع)
    متغير خاص بالهدف
    متغير خاص بالوقف
    متغير خاص باللوت
    متغير خاص بالماجيك نمبر

    --------------

    قم باضافة هذا الكود

    [PHP]
    //خصائص الاكسبيرت
    extern string symbol="GBPUSD";
    extern bool Buy_T_Sell_F = true;
    extern int TakeProfit=50;
    extern int StopLoss=50;
    extern double Lots=0.04;
    extern int MagicNumber = 123456;
    [/PHP]


    تحت هذا الكود
    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1.mq4 |
    //| Copyright © 2010 m-e-c.biz |
    //| http://m-e-c.biz |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2010 m-e-c.biz"
    #property link "http://m-e-c.biz"

    [/PHP]

    ثم نضع هذه الدالة والخاصة بمعرفة عدد صفقات الشراء المفتوحة في آخر الكود

    [PHP]
    // وظيفة لحساب عدد صفقات الشراء الحالية
    int MyBuyRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_BUY)
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    --------------

    ثم نضع هذه الدالة والخاصة بمعرفة عدد صفقات البيع المفتوحة في آخر الكود

    [PHP]
    // وظيفة لحساب عدد صفقات البيع الحالية
    int MySellRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_SELL)
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    --------------

    ليصبح الكود حتى هذه اللحظة كالتالي

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1.mq4 |
    //| Copyright © 2010 m-e-c.biz |
    //| http://m-e-c.biz |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2010 m-e-c.biz"
    #property link "http://m-e-c.biz"

    //خصائص الاكسبيرت
    extern string symbol="GBPUSD";
    extern bool Buy_T_Sell_F = true;
    extern int TakeProfit=50;
    extern int StopLoss=50;
    extern double Lots=0.04;
    extern int MagicNumber = 123456;


    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    // وظيفة لحساب عدد صفقات الشراء الحالية
    int MyBuyRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_BUY)
    {
    c++;
    }
    }
    return(c);
    }

    // وظيفة لحساب عدد صفقات البيع الحالية
    int MySellRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_SELL)
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    يتبع ...


  4. #4

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    جزاك الله الف خير اخي وجدي
    متابع

  5. #5

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    اقتباس المشاركة الأصلية كتبت بواسطة cobra100 مشاهدة المشاركة
    جزاك الله الف خير اخي وجدي
    متابع
    بالتوفيق ان شاء الله

  6. #6

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    الآن وفي دالة

    [PHP]
    int start()
    [/PHP]

    نضيف هذا الكود الخاص بمعرفة اسعار الشراء والبيع والهدف والوقف

    [PHP]
    string Name="m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1";

    double b= MarketInfo(symbol,MODE_ASK);
    double s= MarketInfo(symbol,MODE_BID);

    if (StopLoss>0)
    {
    double bsl=b-StopLoss*MarketInfo(symbol,MODE_POINT);
    double ssl=s+StopLoss*MarketInfo(symbol,MODE_POINT);
    }
    else
    {
    bsl=0;
    ssl=0;
    }

    if (TakeProfit>0)
    {
    double bt=b+TakeProfit*MarketInfo(symbol,MODE_POINT);
    double st=s-TakeProfit*MarketInfo(symbol,MODE_POINT);
    }
    else
    {
    bt=0;
    st=0;
    }

    [/PHP]

    والآن نضيف أوامر الشراء والبيع بعد الكود السابق

    [PHP]
    if (Buy_T_Sell_F && MyBuyRealOrdersTotal(MagicNumber,symbol)==0) OrderSend(symbol,OP_BUY,Lots,b,3,bsl,bt,Name,Magic Number,0,Green);
    if (!Buy_T_Sell_F && MySellRealOrdersTotal(MagicNumber,symbol)==0) OrderSend(symbol,OP_SELL,Lots,s,3,ssl,st,Name,Magi cNumber,0,Red);

    [/PHP]

    الكود النهائي

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1.mq4 |
    //| Copyright © 2010 m-e-c.biz |
    //| http://m-e-c.biz |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2010 m-e-c.biz"
    #property link "http://m-e-c.biz"

    //خصائص الاكسبيرت
    extern string symbol="GBPUSD";
    extern bool Buy_T_Sell_F = true;
    extern int TakeProfit=50;
    extern int StopLoss=50;
    extern double Lots=0.04;
    extern int MagicNumber = 123456;


    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    string Name="m-e-c_biz_Open_Orders_for_Another_Symbol_EA_V1";

    double b= MarketInfo(symbol,MODE_ASK);
    double s= MarketInfo(symbol,MODE_BID);

    if (StopLoss>0)
    {
    double bsl=b-StopLoss*MarketInfo(symbol,MODE_POINT);
    double ssl=s+StopLoss*MarketInfo(symbol,MODE_POINT);
    }
    else
    {
    bsl=0;
    ssl=0;
    }

    if (TakeProfit>0)
    {
    double bt=b+TakeProfit*MarketInfo(symbol,MODE_POINT);
    double st=s-TakeProfit*MarketInfo(symbol,MODE_POINT);
    }
    else
    {
    bt=0;
    st=0;
    }

    if (Buy_T_Sell_F && MyBuyRealOrdersTotal(MagicNumber,symbol)==0) OrderSend(symbol,OP_BUY,Lots,b,3,bsl,bt,Name,Magic Number,0,Green);
    if (!Buy_T_Sell_F && MySellRealOrdersTotal(MagicNumber,symbol)==0) OrderSend(symbol,OP_SELL,Lots,s,3,ssl,st,Name,Magi cNumber,0,Red);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    // وظيفة لحساب عدد صفقات الشراء الحالية
    int MyBuyRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_BUY)
    {
    c++;
    }
    }
    return(c);
    }

    // وظيفة لحساب عدد صفقات البيع الحالية
    int MySellRealOrdersTotal(int Count,string symbol)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderSymbol()==symbol && OrderType()==OP_SELL)
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    والاكسبيرت في المرفقات

    ملاحظة
    لا يمكن عمل باك تيست لمثل هذه الاكسبيرتات
    الباك تيست لا يظهر اي عملية غير العمليات التي تجري على نفس الزوج الذي وُضع عليه الاكسبيرت في الباك تيست

    تحياتي

  7. #7

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    شكراا جزيلاا

  8. #8

    افتراضي رد: موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر

    اقتباس المشاركة الأصلية كتبت بواسطة faridns مشاهدة المشاركة
    شكراا جزيلاا
    بالتوفيق ان شاء الله

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 46
    آخر مشاركة: 16-02-2019, 11:52 AM
  2. طرق تأكيد الاختراق (موضوع تعليمى بحت)
    بواسطة احمد محى في المنتدى نادي خـبـراء الـبـورصه العالمية
    مشاركات: 50
    آخر مشاركة: 30-03-2010, 12:44 PM
  3. موضوع تعليمي (5) : صنع اكسبيرت لاغلاق صفقات الشراء فقط او البيع فقط
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 8
    آخر مشاركة: 04-12-2009, 05:30 PM
  4. موضوع تعليمي : (3) التعديل على اكسبيرت MACD
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 5
    آخر مشاركة: 25-11-2009, 08:18 PM
  5. موضوع تعليمي : صنع مؤشر (1)
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 15
    آخر مشاركة: 16-11-2009, 10:17 PM

الكلمات الدلالية لهذا الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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

الدعم الفني المباشر
دورات تدريبية
اتصل بنا