النتائج 1 إلى 15 من 16
الموضوع: طريقه تصميم مؤشر موفنج افرج
- 16-10-2010, 02:36 AM #1
طريقه تصميم مؤشر موفنج افرج
السلام عليكم
اخواني بما اننا في اجازه
دعونا نتعلم نصنع موشراتنا بانفسنا
الموفنج افرج من المؤشرات المهمه في تداولاتنا سواء اللحظيه او السوينقيه
والكثير من المتداولين يستخدمون الموفنج افرج على الفريم اليومي او اربع ساعات ولكن متابعتهم تكون على الفريمات الصغيره لاقتناص الفرص السريعه سكالبينج
خطرت في بالي فكره تصميم موفنج افرج ولكن متعدد الفريمات
احببت ان تشاركوني خطوات تركيبه خطوه خطوه
وليكن تدريب عملي على شروحات اساتذتنا
الاستاذ وضاح عطار والاستاذ اسامه ( مستر دولار )
بسم الله نبداء اول الخطوات
اولى الخطوات لعمل المؤشر مشروحه في هذه المشاركه للاستاذ وضاح عطار
وبتطبيق الشرح السابق للاستاذ وضاح عطار
ينتج لدينا الكود التالي
كود://+------------------------------------------------------------------+ //| MOVING AVERAGE MFT 101.mq4 | //| | //| www.arabictrader.com | //+------------------------------------------------------------------+#property copyright "101" #property link "[email protected]"#property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----//----return(0);}//+------------------------------------------------------------------+ //| Custom indicator iteration function |//+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //----//----return(0);}//+------------------------------------------------------------------+
- 16-10-2010, 02:49 AM #2
رد: طريقه تصميم مؤشر موفنج افرج
الان نقوم بتحديد خصائص الموفنج افرج
وجعلها متغيرات خارجيه لسهوله التحكم بها
وهي على النحو التالي :
كود:#property indicator_buffers 1
كود:#property indicator_color1 Red
هذا الكود لتحديد عدد الخطوط التي ستظهر على الشارت ولون الخط
كود:extern int TimeFrame= 240;
كود:extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF";
السطر الاول من الكود هو لتحديد الفريم المستخدم
السطر الثاني عباره عن نوته لتوضيح الفريمات المستخدمه والرقم الذي يقابل كل فريم
وسوف تظهر في اعدادات المؤشر عند وضعه على الشارت
كود:extern int MA_Period=14;
كود لاختيار المتوسط الحسابي المستخدم
كود:extern int MA_Shift=0;
هذا الكود لتحديد مقدار الازاحه للمتوسط المتحرك
كود:extern int MA_Method=0;
كود:extern string note_MA_Method="0=SMA;1=EMA;2=SMMA;LWMA";
السطر الاول من الكود هو لتوضيح نوع المتوسط الحسابي
السطر الثاني نوته لتوضيح انواع المتوسطات الحسابيه والرقم الذي يمثل كل متوسط حسابي
وبذلك نكون انتهينا من اول جزء من المؤشر
وهو تحديد خصائص المؤشر
وهذا الكود بعد اضافه الخصائص السابقه
كود://+------------------------------------------------------------------+ //| MOVING AVERAGE MFT 101.mq4 | //| | //| www.arabictrader.com | //+------------------------------------------------------------------+ #property copyright "101" #property link "[email protected]" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //---- indicator parameters extern int TimeFrame= 240; extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF"; extern int MA_Period=14; extern int MA_Shift=0; extern int MA_Method=0; extern string note_MA_Method="0=SMA;1=EMA;2=SMMA;LWMA"; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //----//---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //----//---- return(0); } //+------------------------------------------------------------------+
تصبحو على خير نكمل في الغد باذن اللهآخر تعديل بواسطة 101 ، 16-10-2010 الساعة 02:53 AM
- 16-10-2010, 03:08 PM #3
رد: طريقه تصميم مؤشر موفنج افرج
السلام عليكم
نكمل مابدئناه
بعد تحديد خصائص المؤشر
ناتي الان لتحديد الشكل الذي سيتم به وضع المؤشر على الشارت هل خطوط او نقط او ارقام او غيرها
في البدء نقوم بتعريف متغير داخلي ويكون على شكل مصفوفه يعني نضع بعد المتغير الرمز [ ]
ويكون بالكود التالي
كود:double maf[];
ويتم عمل ذلك في الوظيفه الخاصه INIT
كود:SetIndexStyle(0, DRAW_LINE, EMPTY,1);
كود:SetIndexShift(0,MA_Shift);
كود:SetIndexBuffer(0, maf);
الان انتهينا من تحديد الشكل الرسومي للمؤشر
- 16-10-2010, 04:14 PM #4
رد: طريقه تصميم مؤشر موفنج افرج
ننتقل لطريقه حساب الموشر ويتم ذلك في الوظيفه START
في البدء
للقيام بحساب متوسط حسابي للشموع التي على الشارت يجب علينا في البدء عمل حلقه تقوم بحساب قيمه المتوسط الحسابي لكل شمعه
وهذه الحلقه لها متغيرت يجب تعريفها
ولجعل المؤشر يحسب على حسب الفريم المطلوب ايضاً له حلقه يجب تعريف متغيراتها
قبل البدء في تعريف المتغيرات يجب علينا في البدايه ان نضع شرط لاستمرار حساب المتوسط المتحرك
هذا الشرط خاص بالفريم المستخدم
مثلاً طلبنا من المؤشر ان يقوم بحساب المتوسط المتحرك لـ 4 ساعات
وقمنا بفتح الشارت اليومي سينتج لدينا خطوط متداخله لن نرى الشارت من خلالها
ولحل هذه المشكله لدينا طريقتين
الطريقه الاولى ان نطلب من البرنامج ان لا يقوم بالحساب وبذلك لن نرى المؤشر على الشارت ويتم ذلك بالكود التالي :
كود:if(TimeFrame < Period())return(0);
ويتم ذلك بالكود التالي :
كود:if(TimeFrame < Period())TimeFrame=Period();
ناتي الان لتعريف متغيرات الحلقتين وتصميم الحلقتين التي سيتم من خلالها حساب قيمه المتوسط المتحرك
كود:int m,limit,mm;
كود:limit=Bars-counted_bars+2; for(m=limit;m>=0;m--) { mm = iBarShift(NULL, TimeFrame, iTime(NULL,0,m)) ; maf[m]=iMA(NULL,TimeFrame,MA_Period,MA_Shift,MA_Method,PRICE_CLOSE,mm); }
كود:mm = iBarShift(NULL, TimeFrame, iTime(NULL,0,m)) ;
والحلقهكود:for(m=limit;m>=0;m--) { (NULL,TimeFrame,MA_Period,MA_Shift,MA_Method,PRICE_CLOSE,mm); }
وبذلك انتهينا من الكود كامل
- 16-10-2010, 04:16 PM #5
رد: طريقه تصميم مؤشر موفنج افرج
هذا الكود كامل للمؤشر بعد الانتهاء منه
كود://+------------------------------------------------------------------+ //| MOVING AVERAGE MFT 101.mq4 | //| | //| www.arabictrader.com | //+------------------------------------------------------------------+ #property copyright "101" #property link "[email protected]" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //---- indicator parameters extern int TimeFrame= 240; extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF"; extern int MA_Period=14; extern int MA_Shift=0; extern int MA_Method=0; extern string note_MA_Method="0=SMA;1=EMA;2=SMMA;LWMA"; //---- indicator buffers double maf[]; //---- //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0, DRAW_LINE, EMPTY,1); SetIndexBuffer(0, maf); SetIndexShift(0,MA_Shift); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- if(TimeFrame < Period())TimeFrame=Period(); int m,limit,mm; limit=Bars-counted_bars+2; for(m=limit;m>=0;m--) { mm = iBarShift(NULL, TimeFrame, iTime(NULL,0,m)) ; maf[m]=iMA(NULL,TimeFrame,MA_Period,MA_Shift,MA_Method,PRICE_CLOSE,mm); } //---- return(0); } //+------------------------------------------------------------------+
تقبلو تقديري
- 16-10-2010, 04:47 PM #6
رد: طريقه تصميم مؤشر موفنج افرج
بارك الله فيك
- 16-10-2010, 07:46 PM #7
رد: طريقه تصميم مؤشر موفنج افرج
هل المقصود هو موفنج متعدد الفريمات بمعني انني استطيع ان استخدم متوسط ما لفريم ربع ساعة مثلا على شارت 4 ساعات
- 16-10-2010, 10:02 PM #8
رد: طريقه تصميم مؤشر موفنج افرج
جزاك الله خيراً
- 16-10-2010, 10:15 PM #9
- 22-10-2010, 03:05 AM #10
رد: طريقه تصميم مؤشر موفنج افرج
هناك خطا في الكود
الكود الصحيح هو
كود://+------------------------------------------------------------------+ //| MOVING AVERAGE MFT 101.mq4 | //| | //| www.arabictrader.com | //+------------------------------------------------------------------+ #property copyright "101" #property link "[email protected]" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //---- indicator parameters extern int TimeFrame= 240; extern string note_TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF"; extern int MA_Period=14; extern int MA_Shift=7; extern int MA_Method=0; extern string note_MA_Method="0=SMA;1=EMA;2=SMMA;LWMA"; extern int Price_constants= 0; extern string note_Price_constants="0=close;1=open;2=high;3=low;4=high+low/2"; extern string note2_Price_constants="5=high+low+close/3;6=high+low+close+close/4"; //---- indicator buffers double maf[]; //---- //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0, DRAW_LINE, EMPTY,1); SetIndexBuffer(0, maf); SetIndexShift(0,MA_Shift); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- if(TimeFrame < Period())TimeFrame=Period(); int m,limit,mm; limit=Bars-counted_bars+2; for(m=limit;m>=0;m--) { mm = iBarShift(NULL, TimeFrame, iTime(NULL,0,m)) ; maf[m]=iMA(NULL,TimeFrame,MA_Period,0,MA_Method,Price_constants,mm); } //---- return(0); } //+------------------------------------------------------------------+
ماحد انتبه للخطاء
- 22-10-2010, 07:48 AM #11
رد: طريقه تصميم مؤشر موفنج افرج
- 22-10-2010, 04:14 PM #12
رد: طريقه تصميم مؤشر موفنج افرج
بارك الله فيك
- 22-10-2010, 09:16 PM #13
- 25-10-2010, 04:15 PM #14
رد: طريقه تصميم مؤشر موفنج افرج
بارك الله في جهودك منتظرين
- 19-11-2010, 06:15 PM #15
رد: طريقه تصميم مؤشر موفنج افرج
درس عظيم وشرح وافي .. بارك الله فيك