دورة المضاربة بالسوق السعودى بتحليل السلوك السعرى مع احجام التداول

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

صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 10 من 25

الموضوع: الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

  1. #1

    افتراضي الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    بسم الله الرحمن الرحيم

    مرحبا بكم في الدرس الثاني عشر ... برمجة الإكسبرت الأول (جزء 1)

    ما هو الإكسبرت ؟

    هو برنامج مكتوب بلغة MQL4 يستخدم مؤشراتك المفضلة وطرق التجارة التي تستخدمها ليقوم بفتح صفقاتك اوتوماتيكيا على اساسها .

    يستطيع ان يبيع ويشتري ويعدل في عقودك كما برمجته .

    اليوم سنتكلم عن برمجة إكسبرتنا الأول , دعونا نبدأ على بركة الله ,

    أول خطوتين :

    * الخطوة 1 :

    قم بتشغيل الميتاتريدر ومن ثم اضغط على F4 .. او اذهب الى قائمة Tools واختر MetaEditor .

    نضغط على قائمة الملفات file ونختار New ( او نضغط CTRL+N ) ليفتح لنا محرر الميتا برنامج التوجيه والذي إخترنا من قبل منه المؤشر الأول .

    اليوم سنقوم بإختيار الخيار الأول “Expert Advisor program” ومن ثم نضغط التالي Next كما في الصورة 1

    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 1

    * الخطوة 2 :

    متى ضغطت على Next , سينقلك برنامج التوجيه الى الصفحة الثانية والتي يمكنك من خلالها ان تكتب الخصائص العامة للإكسبرت ( صورة 2 )

    هذه الصفحة يمكنك من خلالها ان تكتب خصائص الإكسبرت كما قلنا والمتغيرات الخارجية التي ستستخدمها فيه .

    وهذه هي الخصائص التي يمكنك كتابتها في هذه الخطوة :

    a- اسم برنامجك ( الإكسبرت ) Name : وهو الأسم الذي سيظهر لمستخدمي الإكسبرت وسيعرف به .

    b- اسم المبرمج Auther : صانع الإكسبرت ( اسم المبرمج ) .

    c- رابط لموقعك الخاص Link .

    d- قائمة المتغيرات الخارجية External variables list : وهي المتغيرات التي تسمح لمستخدم الإكسبرت بالتعديل فيها من خلال نافذة خصائص الإكسبرت .

    لإضافة متغير جديد قم بالضغط على زر ( Add ) , وبالضغط عليه سيضيف سطرا من البيانات في قائمة المتغيرات الخارجية , وكل سطر يحتوي على 3 مجالات :

    * الإسم ( name ) : ضغطتان بالماوس على هذا المجال لتقوم بكتابة اسم ( معرف ) للمتغير .

    * النوع ( type ) : ضغطتان بالماوس على هذا المجال لتقوم بتحديد نوع المتغير .

    * قيمة المتغير ( initial vale ) : ضغطتان بالماوس على هذا المجال لتقوم بتحديد القيمة التي سيعمل عليها المتغير .
    (هذا المجال إختياري , اي انك ممكن تركه فارغا )

    في نموذج الأكسبرت هذا قمنا بإضافة 3 متغيرات :

    اسم المتغير -----> نوعه -----> القيمة المبدئية
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    هدف الربح (الليمت) -----> النوع ( عدد ) -----> 350

    عدد العقود( باللوت ) -----> النوع ( عدد ) -----> 0.1

    الوقف المتحرك -----> النوع ( عدد ) -----> 35


    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 2

    الأن إضغط زر Finish لتغلق برنامج التوجيه , وسيحضر لك برنامج الميتا اديتور الأكواد الناتجة من برنامج التوجيه , وسيحفظ ملف ( My_First_EA.mq4 ) في الميتاتريدر في الأمتداد ( MetaTrader 4\experts ).

    ملاحظة : يجب عليك وضع الإكسبرتات في مجلد (experts) الموجود في مجلد الميتاتريدر على جهازك , والمؤشرات في الإمتداد ( MetaTrader 4\experts\indicators ) على الجهاز ,والا لن يعملوا مطلقا .

    الأن هذا هو الكود الناتج من برنامج التوجيه :

    [PHP]//+------------------------------------------------------------------+

    //| My_First_EA.mq4 |

    //| dr_waleed |

    //| http://www.moneyexpertsclub.com |

    //+------------------------------------------------------------------+

    #property copyright "Coders Guru"

    #property link "http://www.forex-tsd.com"

    //---- input parameters

    extern double TakeProfit=250.0;

    extern double Lots=0.1;

    extern double TrailingStop=35.0;

    //+------------------------------------------------------------------+

    //| expert initialization function |

    //+------------------------------------------------------------------+

    int init()

    {

    //----

    //----

    return(0);

    }

    //+------------------------------------------------------------------+

    //| expert deinitialization function |

    //+------------------------------------------------------------------+

    int deinit()

    {

    //----

    //----

    return(0);

    }

    //+------------------------------------------------------------------+

    //| expert start function |

    //+------------------------------------------------------------------+

    int start()

    {

    //----

    //----

    return(0);

    }

    //+------------------------------------------------------------------+
    [/PHP]

    كما ترى اعلاه , الكود الناتج من برنامج التوجيه هو مجرد قالب لتضيف أكوادك الخاصة بدون ان يزعجك بكتابة الدوال الأساسية .

    الأن نضيف أكوادنا الخاصة :

    [PHP]//+------------------------------------------------------------------+

    //| My_First_EA.mq4 |

    //| dr_waleed |

    //| http://www.moneyexpertsclub.com |

    //+------------------------------------------------------------------+

    #property copyright "Coders Guru"

    #property link "http://www.forex-tsd.com"

    //---- input parameters

    extern double TakeProfit=250.0;

    extern double Lots=0.1;

    extern double TrailingStop=35.0;

    //+------------------------------------------------------------------+

    //| expert initialization function |

    //+------------------------------------------------------------------+

    int init()

    {

    //----

    //----

    return(0);

    }

    //+------------------------------------------------------------------+

    //| expert deinitialization function |

    //+------------------------------------------------------------------+

    int deinit()

    {

    //----

    //----

    return(0);

    }

    int Crossed (double line1 , double line2)

    {

    static int last_direction = 0;

    static int current_dirction = 0;

    if(line1>line2)current_dirction = 1; //up

    if(line1<line2)current_dirction = 2; //down

    if(current_dirction != last_direction) //changed

    {

    last_direction = current_dirction;

    return (last_direction);

    }

    else

    {

    return (0);

    }

    }

    //+------------------------------------------------------------------+

    //| expert start function |

    //+------------------------------------------------------------------+

    int start()

    {

    //----

    int cnt, ticket, total;

    double shortEma, longEma;

    if(Bars<100)

    {

    Print("bars less than 100");

    return(0);

    }

    if(TakeProfit<10)

    {

    Print("TakeProfit less than 10");

    return(0); // check TakeProfit

    }

    shortEma = iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,0);

    longEma = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

    int isCrossed = Crossed (shortEma,longEma);

    total = OrdersTotal();

    if(total < 1)

    {

    if(isCrossed == 1)

    {

    ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+ TakeProfit*Point,

    "My EA",12345,0,Green);

    if(ticket>0)

    {

    if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))

    Print("BUY order opened : ",OrderOpenPrice());

    }

    else Print("Error opening BUY order : ",GetLastError());

    return(0);

    }

    if(isCrossed == 2)

    {

    ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,

    Bid-TakeProfit*Point,"My EA",12345,0,Red);

    if(ticket>0)

    {

    if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ))

    Print("SELL order opened : ",OrderOpenPrice());

    }

    else Print("Error opening SELL order : ",GetLastError());

    return(0);

    }

    return(0);

    }

    for(cnt=0;cnt<total;cnt++)

    {

    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

    if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

    {

    if(OrderType()==OP_BUY) // long position is opened

    {

    // should it be closed?

    if(isCrossed == 2)

    {

    OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ;

    // close position

    return(0); // exit

    }

    // check for trailing stop

    if(TrailingStop>0)

    {

    if(Bid-OrderOpenPrice()>Point*TrailingStop)

    {

    if(OrderStopLoss()<Bid-Point*TrailingStop)

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-

    Point*TrailingStop,OrderTakeProfit(),0,Green);

    return(0);

    }

    }

    }

    }

    else // go to short position

    {

    // should it be closed?

    if(isCrossed == 1)

    {

    OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ;

    // close position

    return(0); // exit

    }

    // check for trailing stop

    if(TrailingStop>0)

    {

    if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

    {

    if((OrderStopLoss()>(Ask+Point*TrailingStop)) ||

    (OrderStopLoss()==0))

    {

    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Poi nt*TrailingStop,

    OrderTakeProfit(),0,Red);

    return(0);

    }

    }

    }

    }

    }

    }

    return(0);

    }

    //+------------------------------------------------------------------+
    [/PHP]

    هل أحسست بالقلق ؟ الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال

    لا تقلق من ال 160 سطرا الذين رأيتهم في الأعلى , سنعرف كل شئ عن هذه الأكواد سطرا سطرا , بإذن الله ستكون سهلة ومفهومة .

    * إختبار فاعلية الإكسبرت :

    قبل دراسة الأكواد , علينا ان نعرف هل هو مربح ام لا ..

    يمكنك إختبار الإكسبرت بإحدى طريقتين :

    1- المتاجرة الحية ( Live trading ) :

    في المتاجرة الحية , النتائج ستكون أكثر وضوحا ومصداقية . ولكن عيبها انك يجب ان تقضي ايام واسابيع وممكن شهور كذلك لتعرف هل الأكسبرت مربح ام لا .

    عليك تفعيل الإكسبرت ليقوك بعمله بالمتاجرة وذلك بالضغط على ( Tools ) ومن ثم الخيارات ( option ) او الضغط على F5 , وهذا سيأتي اليك بنافذة الخيارات ( صورة 3 ) , اضغط على مجال ( Expert Advisors ) والقيام بتفعيل هذه الخيارات :

    ** تفعيل عمل الإكسبرت Enable Expert Advisors

    ** السماح بالمتاجرة الحية Allow live trading


    ومن ثم أضغط على OK .

    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 3

    سترى وقتها وجه مبتسم بجانب اسم الإكسبرت ,مما يعني انه يعمل بإنتظام وجاهز للمتاجرة من أجلك ( صورة 4 )

    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 4

    2- مختبر الإستراتيجيات (Strategy Tester) :

    الطريقة الثانية لإختبار الإكسبرت والتي تستهلك وقتا اقل بكثير من الطريقة السابقة ولكنها أقل مصداقية ووضوحا هي مختبر الإستراتيجيات . سنعرف كل شئ عن مختبر الإستراتيجيات بعد ذلك , اما الأن دعونا نحضر نافذتها بالضغط على F6 (صورة 5) .

    متى ظهرت النافذة أدخل هذه الخيارات :

    Symbol: EURUSD.

    Period: H4 (4 Hours).

    Model: Open price only.


    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 5

    الأن اضغط على Start لتبدأ عملية إختبار الإكسبرت .

    بعد ذلك قم بالضغط على Report لترى ارباح الكسبرت كما هو موضح بالصورة 6 .

    الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    صورة 6

    امامنا الكثير لنتكلم عنه في الدرس القادم , اتمنى ان نكونوا جاهزين للتحدي الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال



    في الدرس القادم بأذن الله سنتكلم عن برمجة الإكسبرت الأول (جزء 2)
    اراكم على خير مجددا
    وليد

  2. #2

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    مشكوووووور ويعطيك العافية

  3. #3

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    ألف شكر أستاذ وليد على هذه الدروس الرائعة

    لي تساؤل بخصوص بقية الدروس، هل سيتم وضعها قريبا؟

  4. #4

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    اقتباس المشاركة الأصلية كتبت بواسطة Belzak56
    ألف شكر أستاذ وليد على هذه الدروس الرائعة

    لي تساؤل بخصوص بقية الدروس، هل سيتم وضعها قريبا؟
    مرحبا بك أخي الكريم

    كنت انتظر احد الأعضاء ليسأل عن بقية الدروس في البرمجة الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال

    واضح ان شعبيتها قليلة

    ان شاء الله سأنهيها قريبا ,,

    تحياتي لك
    مدرب ومحاضر بمعهد خبراء المال للتدريب




    للتواصل مع ادارة النادى
    التواصل الفورى عبر البريد الالكترونى
    adminmec.biz
    او عن طريق الجوال


    00966552164440
    للاتصال من جميع دول العالم
    0020161111230


    .
    .

  5. #5

    Thumbs up رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    اقتباس المشاركة الأصلية كتبت بواسطة dr_waleed
    مرحبا بك أخي الكريم

    كنت انتظر احد الأعضاء ليسأل عن بقية الدروس في البرمجة الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال

    واضح ان شعبيتها قليلة

    ان شاء الله سأنهيها قريبا ,,

    تحياتي لك



    شكرا جزيلا لك


    فين بأه باقى الدروس

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

    مع تحياتى :04: :t_up:

  6. #6

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    ربنا يوفقك دكتور وليد أين باقي الدروس نحن متابعين

  7. #7

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    شكرا لك د.وليد
    لدي سؤال
    ملاحظة : يجب عليك وضع الإكسبرتات في مجلد (experts) الموجود في مجلد الميتاتريدر على جهازك , والمؤشرات في الإمتداد ( MetaTrader 4\experts\indicators ) على الجهاز ,والا لن يعملوا مطلقا .

    اين اجد هذا الامتداد
    وشكرا

  8. #8

    افتراضي رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    اقتباس المشاركة الأصلية كتبت بواسطة دايم نت
    شكرا لك د.وليد
    لدي سؤال
    ملاحظة : يجب عليك وضع الإكسبرتات في مجلد (experts) الموجود في مجلد الميتاتريدر على جهازك , والمؤشرات في الإمتداد ( MetaTrader 4\experts\indicators ) على الجهاز ,والا لن يعملوا مطلقا .

    اين اجد هذا الامتداد
    وشكرا
    هذا الإمتداد تكتبه على adress على متصفح الويندوز عندك

    وقم بتغيير اسم metatrader4 الى اسم شركة الوساطة التي على جهازك ان كانت مختلفة

    بالتوفيق الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال
    مدرب ومحاضر بمعهد خبراء المال للتدريب




    للتواصل مع ادارة النادى
    التواصل الفورى عبر البريد الالكترونى
    adminmec.biz
    او عن طريق الجوال


    00966552164440
    للاتصال من جميع دول العالم
    0020161111230


    .
    .

  9. #9

    Talking رد : الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    جزاك الله الف خير كلو واضح بس وين بقية الدروس

  10. #10

    افتراضي رد: الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1)

    6 اشهر ونحن ننتظر الجزء الثاني !! الدرس الثاني عشر .. برمجة الإكسبرت الأول (جزء 1) نادي خبراء المال

    أتمنى ان يكون المانع خير

صفحة 1 من 3 123 الأخيرةالأخيرة

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

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

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

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

  1. الدرس الأول - مرحبا
    بواسطة م / أحمد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 34
    آخر مشاركة: 16-08-2018, 07:17 AM
  2. الدرس التاسع .. برمجة مؤشرك الأول (جزء 1)
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 23
    آخر مشاركة: 09-07-2013, 12:00 PM
  3. الدرس الأول .. قواعد لغة MQL4
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 24
    آخر مشاركة: 12-04-2013, 05:49 PM
  4. الدرس الحادي عشر .. برمجة مؤشرك الأول (جزء 3)
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 10
    آخر مشاركة: 21-08-2011, 02:45 AM
  5. الدرس العاشر .. برمجة مؤشرك الأول (جزء 2)
    بواسطة د. وليد سليمان في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 10
    آخر مشاركة: 03-08-2008, 08:55 PM

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

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

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

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

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

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

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