النتائج 16 إلى 30 من 192
الموضوع: أصنع أكسبرتك بنفسك
- 07-11-2011, 05:39 PM #16
مثال : أعمل أكسبرت يعطي صندوق عند وضعه علي التشارت مكتوب به ((أنا سأبدأ البحث)) وصندوق عند نزعه من التشارت مكتوب به ((أنتهيت من البحث)) وأثناء عمل الأكسبرت أجعله يعمل التالي:
1 - يجمع هاي الشمعة السابقة مع 1.3 ويخزنها ب n1 ثم يجمع لو الشمعة قبل السابقة مع أفتتاح الشمعة الحالية ويطرح منها 0.02 ويخزنها ب n2 ثم يسأل : هل n1 أكبر من أو تساوي n2 فلو كانت الأجابة نعم أكتب ((أنا وجدت الشرط الأول تحقق )) ولو كان لا أكتب ((أنا وجدت الشرط الأول لم يتحقق)) وأجعل صندوق وأنذار يظهر.
2- يقوم بمراقبة مؤشر الموفنج أفرج ويمكن التحكم بأعداداته من المتغيرات ولو وجد الموفنج أفرج أكبر من 1.3 أكتب ((وجدت مؤشر الموفنج أفرج بالشمعة الحالية أكبر من 1.3 )) وغير ذلك أكتب ((مازال مؤشر الموفنج أقل من 1.3))
3- يقوم بمراقبة الساعة الأن ولو وجد الوقت مابين الساعة 11 مساء الي 6 صباحا يتوقف عن العمل ويظهر تعليق علي التشارت مكتوب به ((هذا وقت غير مخصص للبحث))
كود:extern int MA_Period=13; extern int MA_Shift=0; extern int MA_Method=0; double n1,n2,Moving; int HourNow; int init() { Alert("أنا سأبدأ البحث"); return(0); } int deinit() { Comment(""); Alert("أنتهيت من البحث"); return(0); } int start() { HourNow=Hour(); if(HourNow <=6 || HourNow>=23){ Comment("هذا وقت غير مخصص للبحث"); return(0); } n1=High[1]+1.3; n2=Low[2]+Open[0]-0.02; if(n1>=n2){ Alert("أنا وجدت الشرط الأول تحقق"); }else { Alert("أنا وجدت الشرط الأول لم يتحقق"); } Moving=iMA(NULL, 0, MA_Period, MA_Shift, MA_Method, 0,0); if(Moving > 1.3){ Alert("أنا وجدت مؤشر الموفنج أكبر من"+"1.3"); }else { Alert("مازال مؤشر الموفنج أقل من"+"1.3"); } return(0); }آخر تعديل بواسطة Ram22 ، 07-11-2011 الساعة 05:47 PM
- 07-11-2011, 06:47 PM #17شرح الأكسبرت السايق
- 07-11-2011, 06:57 PM #18
لقد أقتربت من الأعداد لشرح طريقة تعامل الأكسبرت مع باقي المؤشرات وأريد أن أوصل المعلومات بالتدريج كي أضمن أن الذي لا يعرف يبرمج سيتمكن من أتقان صنع الأكسبرت وأنا أريد أن أضع أكسبرت بكل مشاركتين أو 3 مشاركات علي الأقل كي يتشجع الذي ليس متقدم بالبرمجة ويشجعه الأكسبرت البسيط علي أكمال المشوار ويفهم الأكواد أكثر عندما يطبقها علي أكسبرت حقيقي
أريد أن أري بالمسابقة المعمولة علي موقع MQL4 الكثير من العرب المشاركين أنا حتي الأن لم أجد عربي واحد مشارك علي موقع المسابقة
آخر تعديل بواسطة Ram22 ، 07-11-2011 الساعة 07:01 PM
- 07-11-2011, 08:51 PM #19
كيف نجعل الأكسبرت يقرأ مؤشر أو شمعة معينة موجودة علي التشارت؟
توجد عدة طرق وهم:
1-أستعمال أكواد جاهزة (وهذه الحالة تصلح للمؤشرات الموجودة مع برنامج الميتاتريدر ) مثل مؤشر الموفنج أفرج وسنقوم بتخزين قيمته بالمتغير Moving
كود:extern int MA_Period=13; extern int MA_Shift=0; extern int MA_Method=0; double Moving; Moving=iMA(NULL, 0, MA_Period, MA_Shift, MA_Method, 0,0);
3- بالأعتماد علي طريقة GlobalVariable (ويجب أن نضع كودين كود بالمؤشر وكود بالأكسبرت)
أنواع مؤشرات الميتاتريدر مصنفة علي حسب قدرة التعامل معها من الأكسبرت:
1- مؤشرات من السهل التعامل معها (وهي المؤشرات الموجودة ببرنامج الميتاتريدر ولها أكواد جاهزة)
2- مؤشرات تحتاج لبعض التجارب قبل تجهيز كود الأستدعاء للأكسبرت (وهي المؤشرات الغير موجودة بالميتاتريدر )
3- مؤشرات معقدة وثقيلة علي الباك تست وصعبة التعامل معها (مثل مؤشر الهرمونك ويكود كودة طويل جدا وبهذه الحالة قد نلجأ لأستعمال طريقة GlobalVariable وضروري من وضع كودين كود بداخل المؤشر وكود بداخل الأكسبرت)
- 07-11-2011, 09:55 PM #20
أستعمال أكواد جاهزة لأستدعاء المؤشرات
وهذه الأكواد تقرأ المؤشرات بالشمعة الحالية
1 -مؤشر Accelerator Oscillator
كود:iAC(NULL, 0, 0)
كود:iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW,0)
كود:iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 0)
كود:iATR(NULL, 0, 14, 0)
كود:iAO(NULL, 0, 0)
كود:iBearsPower(NULL, 0, 13, PRICE_CLOSE, 0)
الخط العلوي
كود:iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 0)
كود:iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE,MODE_LOWER, 0)
8- مؤشر Bulls Power
كود:iBullsPower(NULL, 0, 13, PRICE_CLOSE, 0)
كود:iCCI(NULL, 0, 14, PRICE_CLOSE, 0)
آخر تعديل بواسطة Ram22 ، 07-11-2011 الساعة 09:58 PM
- 07-11-2011, 10:28 PM #21
10-مؤشر DeMarker
كود:iDeMarker(NULL, 0, 13, 8)
خط علوي
كود:iEnvelopes(NULL, 0, 14, MODE_SMA, 0, PRICE_CLOSE, 0.1, MODE_UPPER, 0)
كود:iEnvelopes(NULL, 0, 14, MODE_SMA, 0, PRICE_CLOSE, 0.1,MODE_LOWER, 0)
كود:iForce(NULL, 0, 13, MODE_SMA, PRICE_CLOSE, 0)
أعلي
كود:iFractals(NULL, 0, MODE_UPPER, 0)
كود:iFractals(NULL, 0,MODE_LOWER,0)
14-مؤشر Gator Oscillator خط علوي
كود:iGator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_UPPER, 0)
كود:iGator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN,MODE_LOWER, 0)
كود:iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 0)
- 07-11-2011, 10:58 PM #22
17 -مؤشر MACD
كود:iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0)
كود:iMomentum(NULL, 0, 14, PRICE_CLOSE, 0)
كود:iMA(NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 0)
20-مؤشر On Balance Volume
كود:iOBV(NULL, 0, PRICE_CLOSE, 0)
كود:iRVI(NULL, 0, 10, MODE_MAIN, 0)
كود:iStdDev(NULL, 0, 20, MODE_SMA, 0, PRICE_CLOSE, 0)
كود:iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0)
- 07-11-2011, 11:05 PM #23
24-مؤشر Volume
كود:iVolume(NULL, 0, 0)
كود:iWPR(NULL, 0, 14, 0)
- 07-11-2011, 11:28 PM #24
لنأخذ الأن أحد المؤشرات وهو مؤشر ADX المبين بالصورة وكوده
كود:iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 0)
"GBPUSD" وتدل علي أن الأكسبرت سيستدعي مؤشر ADX الموضوع علي تشارت الباوند دولار.
والخيار الثاني 0 ويدل علي أن الأكسبرت سيقرأ المؤشر علي التايم فريم الموضوع عليه الأكسبرت وممكن يكون
PERIOD_M5 ليقرأ المؤشر علي تايم الخمس دقائق
PERIOD_M15 ليقرأ المؤشر علي تايم الربع ساعة
PERIOD_M30 ليقرأ المؤشر علي تايم النص ساعة
PERIOD_H1 علي الساعة
PERIOD_H4 علي الأربع ساعات
PERIOD_D1 علي اليوم
PERIOD_W1 علي الأسبوع
PERIOD_M1 علي الدقيقة
14, PRICE_CLOSE, MODE_MAIN أعدادات المؤشر والأخيرة MODE_MAIN تدل علي أن الأكسبرت سيستدعي الخط الرئيسي لمؤشر ADX
الرقم الأخير 0 ويدل علي أن الأكسبرت سيستدعي المؤشر بالشمعة الحالية وممكن يكون 1 للشمعة السابقة أو 2 لقبل السابقة أو 3 قبل قبل السابقة ..........................
- 08-11-2011, 12:40 AM #25
مثال : أعمل أكسبرت يراقب مؤشر المومنتيوم( 14) والماكد (12.26.9)ولو وجد مؤشر الماكد أكبر من 0 أظهر صندوق مكتوب به مؤشر الماكد أكبر من صفر وغير ذلك أكتب مؤشر الماكد أقل من 0 ولو وجد المومنتيوم أقل من 100 أكتب المومنتيوم أقل من 100 وغير ذلك أكتب أكبر من 100.
كود:int init() { return(0); } int deinit() { return(0); } int start() { double M=iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0); double Mo=iMomentum(NULL, 0, 14, PRICE_CLOSE, 0); if(M>0){ Alert("مؤشر الماكد أكبر من صفر"); }else { Alert("الماكد أقل من صفر"); } if(Mo<100){ Alert("المومنتيوم أقل من مئة"); }else{ Alert("المومنتيوم أكبر من مئة"); } return(0); }
- 08-11-2011, 01:01 AM #26
2- طريقة أستعمال iCustom
وقبل ما نقرر أننا سنستعمل هذه الطريقة يجب أن نستكشف كود المؤشر
كود:#property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_color3 Lime
لو كانت الأجابة نعم سنبدأ أختبار الألوان ولو نجح هذا الأختبار يعني تمكنا من جعل الأكسبرت يستدعي المؤشر ونتحكم بأعداداته علما بأن هذا الأختبار لا ينجح مع كل المؤشرات.
مثال : أستعمل أختبار الألوان لمعرفة هل يمكن أستدعاء المؤشر Accelerator بالكود iCustom
- 08-11-2011, 01:33 AM #27
بارك الله تعالى فيك استاذنا الكريم
بهذه الطريقه ممكن على الاسبوع القادم نصمم اى اكسبيرت نريده بأنفسنا بطريقتك الجميله والعمليه هذه
بارك الله تعالى فيك مرة اخرى
ومتابع معك بكامل الشغف استاذنا الكريم
تقبل ودى ياغالى
- 08-11-2011, 11:39 AM #28
- 08-11-2011, 12:06 PM #29
أول شئ ننظر لكود مؤشر Accelerator الجزء العلوي
كود://+------------------------------------------------------------------+ //| Accelerator.mq4 | //| Copyright © 2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" //---- indicator settings #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Black #property indicator_color2 Green #property indicator_color3 Red //---- indicator buffers double ExtBuffer0[]; double ExtBuffer1[]; double ExtBuffer2[]; double ExtBuffer3[]; double ExtBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+
الخطوة الثانية
ننظر لأعدادات المؤشر والخيار Colors .
وسنلاحظ أنه لا يوجد أعدادات للمؤشر(الصورة الرابعة)
الخطوة الثالثة نعمل أسكربت الأختبار المبين ونضعه بمجلد scripts
ونبدأ أختبار اللون الأسود بجعل الرقم قبل الأخير 0
كود:#property show_confirm int start() { double Test; Test=iCustom(NULL,0,"Accelerator",0,0); Alert(Test); return(0); }
كود:iCustom(NULL,0,"Accelerator",0,0)
كود:iCustom(NULL,0,"Accelerator",0,8)
فيكون الكود المطلوب وجدناه بدون الحاجة أن نجرب اللون الأحمر والأخضر
كود:iCustom(NULL,0,"Accelerator",0,0)
آخر تعديل بواسطة Ram22 ، 08-11-2011 الساعة 12:08 PM
- 08-11-2011, 04:39 PM #30
مثال : أعمل أكسبرت للمؤشر المبين بالصورة بحيث يشتري عندما يكون المؤشر فوق 0.75 ويبيع عندما يكون تحت 0.15 مع هدف ووقف خسارة يمكن التحكم به من الأعدادات وكذلك التحكم بأعدادات المؤشر من الأكسبرت.