![]() |
ورشة التعليم والتعلم لبرمجة الأكسبيرتات
السلام عليكم ورحمة الله وبركاته
اخواني اعضاء منتديات اف اكس اريبيا اولاً احب اشكر ادارة هذا المنتدى الرائع على ما قدموه من معلومات وقد تعلمت من دورة الاخ العزيز واستاذي الاستاذ حكيم فأحببت ان اقوم بهذه الورشه التي اسأل الله تعالى ان يعنني على ايصال المعلومه الى اخواني وان ينفع بها واحببت ان اعرض ما لدي ولا ادعي الخبره ولكن انا مبتدى ولعل الاخوان ان يشاركونا فيها وكلاً بما يعرفه حتى نصل في نهاية الورشه وقد تعلمنا وعلمنا وهذه الورشه راح تكون لتصميم الاكسبيرتات وسوف نقوم بعمل اكسبيرت يدخل شراء اذا الشمعة اخترقة موفننج 200 صعود و هبوط وهذا الكود الذي سيتم العمل عليه [PHP]//+------------------------------------------------------------------+ //| ART top.mq4 | //| mnaber | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "mnaber" #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int start() { هنا نكتب اوامر الاكسبيرت والاستراتيجيات return(0); } //+------[/PHP] |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
الان نأني الى وضع الشروط المطلوبه قبل فتح صفقه الشراء
[PHP]if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2) iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP] نأتي الى شرح الاوامر اولاً هنا نطلب منه ان يرا هل اغلاق الشمعة رقم 3 اكبر من افتتاح الشمعه رقم 3 اذا كان الشرط متوافق ينتقل الاكسبيرت الى التعليمات الاخر [PHP]if(iClose(0,0,3)>iOpen(0,0,3))[/PHP] هنا نضع الفلتره وكل الشروط التي نريدها قبل الدخول في العمليه وانا وضعة عدة شروط حتى نخرج من الكسر الكاذب للموفننج [PHP]{if(iClose(0,0,3)<iMA(0,0,200,0,0,0,3)&&iOpen(0,0, 2)>iMA(0,0,200,0,0,0,3)&&iClose(0,0,2)>iOpen(0,0,2 ) iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP] ملاحظه ان الشرط الاول انتها [PHP]if(iClose(0,0,3)>iOpen(0,0,3))[/PHP] ويجب فتح { } هذه العلامه وهنا كما قلنا الفلتره قبل الصفقه |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP] { هنا الفلتره وكل الشروط }[/PHP]
ندخل الى الشرط الاول ومعلوم ان الشرط لابد ان يبتدي بي if() [PHP]if(iClose(0,0,3)>iMA(0,0,200,0,0,0,3))[/PHP] طلبنا ان يكون الاغلاق في الشمعه رقم 3 اكبر من الموفننج 200 في الشمعة رقم 3 && وهذه العلامه تعني و في اللغة العربيه يعني ان الاكسبيرت لازم تتوفر فيه الشرط الاول و الشرط الثاني و الشرط الثالث وهكذا [PHP]iOpen(0,0,2)>iMA(0,0,200,0,0,0,3)[/PHP] وهنا نطلب منه ان يكون الافتتاح الشمعة 2 اكبر من الموفننج 200 في الشمعه رقم 3 |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP]iClose(0,0,2)>iOpen(0,0,2)[/PHP]
وهنا نطلب ان يكون الاغلاق في الشمعه رقم 2 اكبر من الافتتاح في الشمعه رقم 2 [PHP]iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)[/PHP] وهنا لكي نضمن اختبار الشمعه للموفننج طلبنا من ان يكون للو الشمعه اصغر من او يساوي الموفننج 200 في الشمعه رقم 3 [PHP]iOpen(0,0,1)>iClose(0,0,2)[/PHP] وان يكون الافتتاح في الشمعه رقم 1 اكبر من الاغلاق في الشمعه رقم 2 [PHP]iClose(0,0,1)>iOpen(0,0,1)[/PHP] وهنا ان تكون الشمعه صاعده اي تعطي ان الترند صاعد شرطنا ان يكون الاغلاق في الشمعه رقم 1 اكبر من الافتتاح في الشمعه رقم 1 |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
مجهود رائع جدا منك أخي الكريم
واصل إبداعك وإن شاء الله إلى الأمام دائما والله المستعان |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
هنا انتهينا من وضع الشروط والفلتره قبل الدخول في الصفقه وهذه هي مجموعة الشروط التي كتبناها
[PHP]{if(iClose(0,0,3)<iMA(0,0,200,0,0,0,3)&&iOpen(0,0, 2)>iMA(0,0,200,0,0,0,3)&&iClose(0,0,2)>iOpen(0,0,2 ) iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP] والان نأتي الى اعطا اوامر الدخول اذا توافقت كل الشروط وتكون داخل { } [PHP]OrderSend(Symbol(), OP_BUY,Lot, Ask, slippage, StopLoss, TakeProfit, "", magic, 0, Green);[/PHP] OrderSend : امر الارسال Symbol() : تبقى كما هي OP_BUY : نوع الصفقه Lot : للو Ask : السعر الحالي للسوق slippage : تكون 3 للمنصات اربع خانات وتكون 30 للمنصات خمس خانات StopLoss : الاستوب TakeProfit : الهدف magic : الرقم السحري وتضع فيه ارقام عشوائيه Green : وهذا لون السهم واختر اللون الذي يعجبك |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP]OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);[/PHP]
نحن وضعنا شروط وكانت شروط لصفقة شراء لذلك لابد ان نضع OP_BUY واذا اردنا صفقة بيع نضع OP_SELL وهنا شراء لذلك OP_BUY اللوت : 1 Ask : هنا تعني السعر الحالي لسوق ولو اردنا ان ندخل صفقة بيع نضع بدلها Bid 3 : تم شرحها Ask-0.0020 : وتعني من سعر دخول الصفقه ضع الاستوب ناقص عشرين Ask+0.0020 :هما عكس السابقه 1236332 : الرقم السحري Green : لو سهم الصفقه |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
وهذه الامر كلها مجموعه في صفقة الشراء
[PHP] if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2) iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))OrderSend( Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);}[/PHP] ونضيف داله جديده وهي دالة OrdersTotal() ونجعلها مساويه لصفر حتى لا يفتح صفقه وهنا صفقه مفتوحه OrdersTotal()==0 وهنا الكود بعد اضافة الداله [PHP]if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2) iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1)&&OrdersTot al()==0)OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);} [/PHP] |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
ونضع الان نفس الامر السابقه ولكن نعكسها
وهذه الامر للبيع [PHP]if(iClose(0,0,3)<iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)<iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)<iOpen(0,0,2) iLow(0,0,2)>=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)<iC lose(0,0,2)&&iClose(0,0,1)<iOpen(0,0,1)&&OrdersTot al()==0) OrderSend(Symbol(), OP_SELL,1, Bid, 3, Bid+0.0020,Bid-0.0020, "",1236332, 0, Red);}[/PHP] OP_SELL : قلنا امر للبيع Bid : سعر العرض هنا صفقتنا بيع يعني ننا نريد ان ينزل السعر 20 نقطه حتى نحقق هدفنا ان الاستوب فهو يكون فوق سعر الدخول للصفقه اذا الاستوب في البيع نضعه Bid+0.0020 والهدف في البيع نضعه Bid-0.0020 الى هنا انهيت انشاء الاكسبيرت واذا فيه اي استفسار او تعديل على ما قلت او زياده انا حاضر وان شاء الله راح نزيد في هذه الورشه كيف نجلب مؤشرات حتى نكون استراتيجيه خاصه بنا اخوكم الهذلي |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
الاكسبيرت بعد الانتهى منه
[PHP]//+------------------------------------------------------------------+ //| ART top.mq4 | //| mnaber | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "mnaber" #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int start() { if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2) &&iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)> iClose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1)&&OrdersT otal()==0) OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);} if(iClose(0,0,3)<iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)<iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)<iOpen(0,0,2) &&iLow(0,0,2)>=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)< iClose(0,0,2)&&iClose(0,0,1)<iOpen(0,0,1)&&OrdersT otal()==0) OrderSend(Symbol(), OP_SELL,1, Bid, 3, Bid+0.0020,Bid-0.0020, "",1236332, 0, Red);} return(0); } //+------------------------------------------------------------------+[/PHP] ان شاء الله نكون وفقنا في الشرح |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
الاكسبيرت لم يدخل اي صفقه لأنها لم تتوافق مع الشروط ويمكنكم تغيير الشروط ولكن انا وضتها لكي تفهم الفكره فقط وان شاء الله راح نبرمج اكسبيرتات لتقاطع الموفننج والمؤشرات التي نتطرق اليها
هذا ما احببت ان اطرحه فطرح انت ما تريد |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
3 مرفق
اليوم معنا استراتيجيه تعتمد على المؤشرات
هذه صور لها http://www.fx-arabia.com/vb/uploaded...1320229599.jpg اذا توافقة المؤشرات على اللون الاحمر يدخل بيع واذا توافقة على الاخضر والازرق يدخل شراء والمؤشرات المستخدمه في المرفقات |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
الان نضع شرطنا الاول
[PHP]if(iClose(0,0,2)>iOpen(0,0,2))[/PHP] وهو الاغلاق اكبر من الافتتاح يعني صعود [PHP]iCustom(0,0,"Awesome",1,2)&&iCustom(0,0,"Awesome", 0,1)[/PHP] هذه الداله تستخدم لجلب المؤشر من مجلد المؤشرات iCustom 0,0 هذه اكتبها كما هي لأن الصفر الاول يعبر من العمله والصفر الثاني يعبر عن الفريم المستخدم واشترطنا ان يكون المؤشر Awesome في الشمعه رقم 2 احمر وفي الشمعه رقم 1 اخضر |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP]&&[/PHP]
طبعاً لا ننسى هذه العلامه بين الشروط [PHP]iCustom(0,0,"Trend Momentum",5,3,3,1,2)&&iCustom(0,0,"Trend Momentum",5,3,3,0,1)[/PHP] اشترطنا ان يكون Trend Momentum بالاعدادات 5,3,3 في الشمعه رقم 2 احمر و في الشمعه رقم 1 يكون ازرق |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP]&&iCustom(0,0,"Trend Strength",1,2)&&iCustom(0,0,"Trend Strength",0,1)[/PHP]
وهنا طلبنا ان يكون المؤشر Trend Strength في الشمعه 2 احمر وفي الشمعه 1 ازرق وكذا نكون انتهينا من شروط الشراء وهذه هي مجموعه [PHP]if(iClose(0,0,2)>iOpen(0,0,2)){if(iCustom(0,0,"Awe some",1,2)&&iCustom(0,0,"Awesome",0,1)&&iCustom(0, 0,"Trend Momentum",5,3,3,1,2)&&iCustom(0,0,"Trend Momentum",5,3,3,0,1) &&iCustom(0,0,"Trend Strength",1,2)&&iCustom(0,0,"Trend Strength",0,1)&&OrdersTotal()==0) OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);}[/PHP] |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
وهذه شروط البيع
[PHP]if(iClose(0,0,2)<iOpen(0,0,2)){if(iCustom(0,0,"Awe some",0,2)&&iCustom(0,0,"Awesome",1,1)&&iCustom(0, 0,"Trend Momentum",5,3,3,0,2)&&iCustom(0,0,"Trend Momentum",5,3,3,1,1) &&iCustom(0,0,"Trend Strength",0,2)&&iCustom(0,0,"Trend Strength",1,1)&&OrdersTotal()==0) OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);} [/PHP] |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
[PHP]//+------------------------------------------------------------------+
//| ART top.mq4 | //| mnaber | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "mnaber" #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int start() { if(iClose(0,0,2)>iOpen(0,0,2)){if(iCustom(0,0,"Awe some",1,2)&&iCustom(0,0,"Awesome",0,1)&&iCustom(0, 0,"Trend Momentum",5,3,3,1,2)&&iCustom(0,0,"Trend Momentum",5,3,3,0,1) &&iCustom(0,0,"Trend Strength",1,2)&&iCustom(0,0,"Trend Strength",0,1)&&OrdersTotal()==0) OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);} if(iClose(0,0,2)<iOpen(0,0,2)){if(iCustom(0,0,"Awe some",0,2)&&iCustom(0,0,"Awesome",1,1)&&iCustom(0, 0,"Trend Momentum",5,3,3,0,2)&&iCustom(0,0,"Trend Momentum",5,3,3,1,1) &&iCustom(0,0,"Trend Strength",0,2)&&iCustom(0,0,"Trend Strength",1,1)&&OrdersTotal()==0) OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);} return(0); } //+------------------------------------------------------------------+[/PHP] هذه الاكسبيرت بعد الانتهاء من وضع الشروط فيه |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
الله عليك
تسلم اخي الهذلي على جهدك المتميز طيب يا غالي لو افترضنا اني عايز اعمل اكسبيرت بسيط بيعتمد على اغلاق الشمعة الحالية بمعني الشرط يكون ... اذا اغلاق الشمعة الحالية اكبر من اغلاق الشمعة السابقة ضع امر معلق شراء ( فوق سعر الاغلاق بـ X نقطة ) اذا اغلاق الشمعة الحالية اقل من اغلاق الشمعة السابقة ادخل بيع ( تحت سعر الاغلاق بـ X نقطة ) اعتقد ان في الحالة دي الشمعة الحالية عند اغلاقها هتبقي رقم 1 وانا كنت ابتديت فيه بس وقفت والورشة هنا شجعتني اني ابتدي افكر من تاني وبحيث ان الاكسبيرت هيبقي مراحل يعني دي مرحلة وبعدها يتم دمجه بمؤشر وهكذا حتي يكون التعلم على مراحل والعمل كذلك واحل لايك وتحية لك اخي الهذلي |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
موضوع جميل جداا
ومعزره منى لانى اصلا معرفش صفحه الاوامر الى بنكتبها فبن برجاء الافداه ومعلش انا لسه مبتدىء فى الموضوع ده يعنى معرفش عنو اى حاجه برجاء الايضاح ؟ والف شكر ياباشا |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
واضح جدا انه موضع رائع ومجهود كبير واكيد فيه افاده عظيمه بس سامحنى انا مبتدء جدا فى الموضع ده ومش عارف اعمل الكلام ده كله فين
يعنى اجيب ايه واضع فيه المعلومات القيمه ديه واعرف انى صح ولا غلط منين ممكن تفدنى افادك الله وشكرا جدا |
رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
1 مرفق
السلام عليكم
كيف حالكم الاخوة الكرام معذرة على التاخير تفضلوا الاكسبيرت الرجاء تضعوا معه هذه المؤشرات الموضوعة في ملف indecators مع المؤشرات في المتاتريدر اي تغيير او استفسار مرحبا بكم |
الساعة الآن 05:25 PM |
Powered by vBulletin® Copyright ©2000 - 2025
جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com