النتائج 76 إلى 90 من 192
الموضوع: أصنع أكسبرتك بنفسك
- 10-12-2011, 01:30 AM #76
الاخ RAM22
في المشاركة رقم 13 https://forum.arabictrader.com/t133299.html#post2235378
عند التصريح declaration
بالمتغيرات variables
time1
time2
أنت لم تحدد نوعها والتي حسب ما أظن datetime
هل يمكن أن توضح هذه النقطة
مشكورا
- 10-12-2011, 09:03 AM #77
time1 و time2 أستعملناها لنخزن بها قيمة الساعة بالوقت الحالي والدقائق بالوقت الحالي
وقيمتهم موجودة عند هذه الدوال
كود:int Minute( )كود:int Hour( )
كود:extern string R1="وضع الأكسبرت علي التشارت"; extern string R2="نزع من التشارت"; int time1; int time2; int init() { //---- Alert(R1); //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { Alert(R2); //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- time1=Hour(); time2=Minute(); Alert(time1+":"+time2+":"+"الوقت الأن هو"); return(0); }
- 10-12-2011, 12:19 PM #78
نعم أنا لم أنتبه أنها معرفة في البداية global variables
- 11-12-2011, 09:41 AM #79والأن سنقوم بعمل مشروع عملي (وهو طريقة عمل أكسبرت لأختبار الأستراتيجيات اليدوية)
بهذه الحالة سنكون محتاجين الي :
1- عدد 3 أسكربت.
2- 1أكسبرت.
وهذا المثال سيبين الفرق بين الأكسبرت والسكربت والميزات المختلفة لكل منهم التي تتواجد بواحد دون الأخر.
- 11-12-2011, 10:08 AM #80
السكربت الأول أسمه buy
كود:#property show_confirm int start() { if(GlobalVariableCheck("Order")){ GlobalVariableDel("Order"); GlobalVariableSet("Order",1); } else{ GlobalVariableSet("Order",1); } return(0); }
كود:#property show_confirm int start() { if(GlobalVariableCheck("Order")){ GlobalVariableDel("Order"); GlobalVariableSet("Order",2); } else{ GlobalVariableSet("Order",2); } return(0); }
والسكربت الثالث أسمه Close
كود:#property show_confirm int start() { if(GlobalVariableCheck("Order")){ GlobalVariableDel("Order"); GlobalVariableSet("Order",3); } else{ GlobalVariableSet("Order",3); } return(0); }
- 11-12-2011, 10:14 AM #81
ونستعمل البرنامج بالمشاركة 50 لعمل الأكسبرت ونكتب بشرط الشراء
كود:if(GlobalVariableCheck("Order")&&GlobalVariableGet("Order")==1)
كود:if(GlobalVariableCheck("Order")&&GlobalVariableGet("Order")==2)
كود:if(GlobalVariableCheck("Order")&&GlobalVariableGet("Order")==3)
- 11-12-2011, 10:16 AM #82
ونذهب للباك تست ونعدله علي visual mode
- 11-12-2011, 10:20 AM #83
وبعد ما يبدأ السعر بالتحرك نضع الأستراتيجية التي نريدها ونستعمل السكربت buy لفتح الصفقة و sell للبيع و close للأغلاق ونلاحظ أننا أصبحنا قادرين علي فتح صفقات يدوي وأختبار أي أستراتيجية نريد يدوي
- 11-12-2011, 10:27 AM #84
وهذه هي فوائد خاصية GlobalVariable
- 12-12-2011, 12:05 AM #85
معنى هذا ان السكريبتات لا تعمل الا مع هذا الاكسبيرت ؟ أليس كذلك
ام أن الفكرة مثل الموجودة هنا في هذه الصفحة: http://codebase.mql4.com/6120
- 12-12-2011, 08:48 AM #86
نعم السكربتات لن تعمل الا بعد أن تعمل الأكسبرت وتكتب الشروط بصناديق الشراء والبيع وأغلاق الشراء والبيع وتضع الأكسبرت بمكان الأكسبرتات وتعمل باك تست وكأنك تختبر أكسبرت عادي ولكن الفرق أنك ستستعمل السكربتات يدوي أثناء أختبار الأكسبرت فتختبر الأستراتيجية يدوي والفكرة مثل الموجودة بالرابط ولكن هنا ستجربها بالسكربتات وأوامر GlobalVariable التي ستجعل بها السكربت يتصل بالأكسبرت وليس بالبرنامج وستستطيع التطوير علي الفكرة لو فهمتها
- 12-12-2011, 09:35 PM #87
اخي الفاضل
لم لرى هذا الموضوع المتميز الا الان ولقد اردت ان اتابع مع حضراتكم مع هذا الشرح المتميز ولكن يتبقى لي ان اعرف ابن اكتب البيانات؟
معذره لسؤالي ولكني اريد المتابعه ولا اعرف
ارجو الافاده ولكم خالص الشكر والتحيه
- 12-12-2011, 11:50 PM #88
- 13-12-2011, 06:28 PM #89
باااارك الله فيك والف شكر على سرعة الافاده
الان فقط ابدأ التعلم من اول صفحه
ولكن لدي سؤال
كيف يمكن ان اختار مجموعه من المؤشرات لعمل اكسبرت
وعلى سبيل المثال اريد عمل اكسبرت يفتح هيدج ولا يغلقه
ويتم الاغلاق عن طريق الاستوب لوز والتريلنج استوب
والاكسبرت يقوم بفتح هيدج بمجرد ضرب استوب او تريلنج
وكيف استعين باضافة مؤشرات عليه
اولا انا ساتابع الشرح من جديد ولكن ارجو الافاده بالشرح المبسط ولك خالص التحيه والشكر
- 13-12-2011, 10:45 PM #90
ابدأ من المشاركة 20 وستجد فكرة أستعمال المؤشرات مع الأكسبرت موجودة ولكي تعمل هيدج عندما تخسر الصفقة فأنت تحتاج أن تقرأ الصفقات السابقة وتعرف نوعها وتعرف هل خسرت أم ربحت
وتستطيع أن تعرف هل الصفقة الأخيرة ربحت أم خسرت من الكود
كود:int DDProfit() { int w = 0; int History = OrdersHistoryTotal(); OrderSelect(History-1, SELECT_BY_POS, MODE_HISTORY); if ( OrderSymbol() == Symbol() && OrderProfit() < 0.0) w=1; if (OrderSymbol() == Symbol() &&OrderProfit() > 0.0) w=2; return (w); }
ويمكنك أن تعرف نوعها من الدالة
كود:int DDType() { int G = 0; int History = OrdersHistoryTotal(); OrderSelect(History-1, SELECT_BY_POS, MODE_HISTORY); if ( OrderSymbol() == Symbol() &&OrderType()==OP_BUY) G=1; if (OrderSymbol() == Symbol() &&OrderType()==OP_SELL) G=2; return (G); }
وبعد ذلك تستطيع أن تستخدم الأفكار السابقة من GlobalVariable وطريقة كتابة الشروط والحلقات والمصفوفات وتجمع الأفكار مع بعض ومع التجربة تعمل الأكسبرت الذي تريد أن شاء الله