أساسيات المتاجرة في الأسهم الامريكية والعالمية وعقود الخيارات

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



صفحة 1 من 5 12345 الأخيرةالأخيرة
النتائج 1 إلى 10 من 42

الموضوع: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

  1. #1

    افتراضي موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

    موضوع تعليمي اكسبيرت اوامر معلقة 72423-besm2zno5ftfe3

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

    1) الساعة 12:15 بتوقيت جرينتش نأخذ سعر اغلاق اخر شمعة (15 دقيقة) للكيبل وهو gbpusd ولنفرض ان سعر الاغلاق هو 1.5260


    2 ، 3) يتم وضع امر معلق BUYSTOP فوق سعر الاغلاق السابق بـ 50 نقطة
    يعني عند السعر 1.5310 والهدف 20 نقطة يعني عند 1.5330 والوقف 20 نقطة يعني عند 1.5290

    و يتم وضع امر معلق آخر SELLSTOP تحت سعر الاغلاق السابق بـ 50 نقطة
    يعني عند السعر 1.5210 والهدف 20 نقطة يعني عند 1.5190 والوقف 20 نقطة يعني عند 1.5230

    4) عند تفعل أي أمر يُلغى الآخر
    يعني يجب وضع أمرين ولكن يتم تنفيذ أمر واحد فقط

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

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

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

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


  2. #2

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

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

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

    or

    Ctrl+N

    ثم

    Expert Advisor
    ثم
    Next

    ثم
    Name : m-e-c_biz_Pending_Orders_EA_V1

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

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

    ثم

    Finsh

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

    m-e-c_biz_Pending_Orders_EA_V1

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

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Pending_Orders_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

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

    [PHP]

    //خصائص الاكسبيرت
    extern int Pips=50;// الفرق بالنقاط بين سعر الاغلاق وسعر وضع الاوامر المعلقة
    extern int hour = 0;// ساعة وضع الاوامر
    extern int minute = 15;// دقيقة وضع الاوامر
    extern int TakeProfit=20;// الهدف
    extern int StopLoss=20;// الوقف
    extern double Lots=0.1;// اللوت
    extern int MagicNumber = 123456;// الماجيك نمبر
    [/PHP]

    بعد هذا الكود

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Pending_Orders_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 |
    //+------------------------------------------------------------------+

    [/PHP]

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

    1
    دالة معرفة عدد صفقات الشراء المفتوحة

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

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
    {
    c++;
    }
    }
    return(c);
    }
    [/PHP]
    2
    دالة معرفة عدد صفقات البيع المفتوحة

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

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELL))
    {
    c++;
    }
    }
    return(c);
    }
    [/PHP]
    3
    دالة معرفة عدد صفقات الشراء المعلقة

    [PHP]
    // وظيفة لحساب عدد صفقات الشراء المعلقة فقط
    int MyBuyPendingOrdersTotal(int Magic)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT ))
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    4
    دالة معرفة عدد صفقات البيع المعلقة

    [PHP]
    // وظيفة لحساب عدد صفقات البيع المعلقة فقط
    int MySellPendingOrdersTotal(int Magic)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
    {
    c++;
    }
    }
    return(c);
    }

    [/PHP]

    5
    دالة حذف صفقات الشراء المعلقة

    [PHP]
    // وظيفة لحذف صفقات الشراء المعلقة
    void DeleteBuyPendingOrders(int Magic)
    {
    int total = OrdersTotal();

    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }

    [/PHP]

    6
    دالة حذف صفقات البيع المعلقة


    [PHP]
    // وظيفة لحذف صفقات البيع المعلقة
    void DeleteSellPendingOrders(int Magic)
    {
    int total = OrdersTotal();

    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }

    [/PHP]



    يتبع ...

  4. #4

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

  5. #5

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

  6. #6

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

    تعجز الكلمات عن شكرك ولكن يبقى الدعاء
    هو الوسيلة الوحيدة لشكرك
    أثابك الله وجعل هذا في ميزان حسناتك
    ورزقك من حيث لا تحتسب
    سؤال :حضرتك كتبت كلمة يتبع هل للكود تكملة ؟
    بارك الله فيك
    في حفظ الرحمن / هاشمية

  7. #7

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

    الكود لم ينتهي بعد

    عندما ينتهي سأذكر ذلك

    تحياتي


  8. #8

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

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

    منتضرين باقي الأوامر استاذي وجدي

  9. #9

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

    نتابع

    الآن وفي دالة

    [PHP]
    int start()
    [/PHP]

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

    [PHP]
    if (Hour()==hour && Minute()>=minute)
    {
    string Name="m-e-c_biz_Pending_Orders_EA_V1";
    Comment(Name);

    double b= iClose(Symbol(),PERIOD_M15,1)+Pips*Point;
    double s= iClose(Symbol(),PERIOD_M15,1)-Pips*Point;

    if (StopLoss>0)
    {
    double bsl=b-StopLoss*Point;
    double ssl=s+StopLoss*Point;
    }
    else
    {
    bsl=0;
    ssl=0;
    }

    if (TakeProfit>0)
    {
    double bt=b+TakeProfit*Point;
    double st=s-TakeProfit*Point;
    }
    else
    {
    bt=0;
    st=0;
    }
    if (MyBuyPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_BUYSTOP,Lots,b,3,bsl,bt,Name ,MagicNumber,0,Green);
    if (MySellPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_SELLSTOP,Lots,s,3,ssl,st,Nam e,MagicNumber,0,Red);

    }

    [/PHP]


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

    [PHP]
    if (MyBuyRealOrdersTotal(MagicNumber)>0) DeleteSellPendingOrders(MagicNumber);
    if (MySellRealOrdersTotal(MagicNumber)>0) DeleteBuyPendingOrders(MagicNumber);
    [/PHP]

    الاكسبيرت الآن جاهز

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

    [PHP]
    //+------------------------------------------------------------------+
    //| m-e-c_biz_Pending_Orders_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 |
    //+------------------------------------------------------------------+

    //خصائص الاكسبيرت
    extern int Pips=50;// الفرق بالنقاط بين سعر الاغلاق وسعر وضع الاوامر المعلقة
    extern int hour = 0;// ساعة وضع الاوامر
    extern int minute = 15;// دقيقة وضع الاوامر
    extern int TakeProfit=20;// الهدف
    extern int StopLoss=20;// الوقف
    extern double Lots=0.1;// اللوت
    extern int MagicNumber = 123456;// الماجيك نمبر


    int init()
    {
    //----

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

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

    if (Hour()==hour && Minute()>=minute)
    {
    string Name="m-e-c_biz_Pending_Orders_EA_V1";
    Comment(Name);

    double b= iClose(Symbol(),PERIOD_M15,1)+Pips*Point;
    double s= iClose(Symbol(),PERIOD_M15,1)-Pips*Point;

    if (StopLoss>0)
    {
    double bsl=b-StopLoss*Point;
    double ssl=s+StopLoss*Point;
    }
    else
    {
    bsl=0;
    ssl=0;
    }

    if (TakeProfit>0)
    {
    double bt=b+TakeProfit*Point;
    double st=s-TakeProfit*Point;
    }
    else
    {
    bt=0;
    st=0;
    }
    if (MyBuyPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_BUYSTOP,Lots,b,3,bsl,bt,Name ,MagicNumber,0,Green);
    if (MySellPendingOrdersTotal(MagicNumber)==0) OrderSend(Symbol(),OP_SELLSTOP,Lots,s,3,ssl,st,Nam e,MagicNumber,0,Red);

    }

    if (MyBuyRealOrdersTotal(MagicNumber)>0) DeleteSellPendingOrders(MagicNumber);
    if (MySellRealOrdersTotal(MagicNumber)>0) DeleteBuyPendingOrders(MagicNumber);

    //----
    return(0);
    }
    //+------------------------------------------------------------------+

    // وظيفة لحساب عدد الصفقات الحالية الشراء
    int MyBuyRealOrdersTotal(int Magic)
    {
    int c=0;
    int total = OrdersTotal();

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

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

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

    // وظيفة لحساب عدد صفقات الشراء المعلقة فقط
    int MyBuyPendingOrdersTotal(int Magic)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT ))
    {
    c++;
    }
    }
    return(c);
    }

    // وظيفة لحساب عدد صفقات البيع المعلقة فقط
    int MySellPendingOrdersTotal(int Magic)
    {
    int c=0;
    int total = OrdersTotal();

    for (int cnt = 0 ; cnt < total ; cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
    {
    c++;
    }
    }
    return(c);
    }

    // وظيفة لحذف صفقات الشراء المعلقة
    void DeleteBuyPendingOrders(int Magic)
    {
    int total = OrdersTotal();

    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }

    // وظيفة لحذف صفقات البيع المعلقة
    void DeleteSellPendingOrders(int Magic)
    {
    int total = OrdersTotal();

    for (int cnt = total - 1; cnt >= 0; cnt--)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))
    {
    OrderDelete(OrderTicket());
    }
    }
    return(0);
    }

    [/PHP]

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

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

  10. #10

    افتراضي رد: موضوع تعليمي (7) : اكسبيرت وضع اوامر معلقة في وقت معين

    اقتباس المشاركة الأصلية كتبت بواسطة مهندس وجدي مشاهدة المشاركة
    الآن يجب ان نضيف له المتغيرات الخارجية التالية

    [PHP]

    //خصائص الاكسبيرت
    extern int Pips=50;// الفرق بالنقاط بين سعر الاغلاق وسعر وضع الاوامر المعلقة
    extern int hour = 0;// ساعة وضع الاوامر
    extern int minute = 15;// دقيقة وضع الاوامر
    extern int TakeProfit=20;// الهدف
    extern int StopLoss=20;// الوقف
    extern double Lots=0.1;// اللوت
    extern int MagicNumber = 123456;// الماجيك نمبر
    [/PHP]

    [/FONT][/B][/FONT][/B][/FONT][/B]
    عندي استفسار لوسمحت
    اش المقصود ب الماجيك وما فائدتها ؟
    ولماذا وضعت متغير الساعة ب زيرو ، هل لأنها الساعة 12 صباحا ؟
    واسمح لي سأسأل العديد من الأسئلة في الردود القادمة
    أثابك رب العالمين
    في حفظ الرحمن / هاشمية

صفحة 1 من 5 12345 الأخيرةالأخيرة

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

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

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

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

  1. اكسبيرت wajdyss للبيع أو الشراء من سعر معين
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 16
    آخر مشاركة: 30-07-2010, 11:32 PM
  2. موضوع تعليمي (6) : اكسبيرت فتح صفقات على زوج آخر
    بواسطة مهندس وجدي في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 7
    آخر مشاركة: 09-03-2010, 08:38 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. اكسبيرت wajdyss للبيع أو الشراء من سعر معين
    بواسطة مهندس وجدي في المنتدى نادي خـبـراء الـبـورصه العالمية
    مشاركات: 8
    آخر مشاركة: 11-05-2009, 11:03 PM

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

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

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

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

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

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

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