اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   ورشة برمجة مؤشر بافكار متجددة (https://fx-arabia.com/vb/showthread.php?t=30194)

MOVING_AVERAGE 08-03-2013 01:02 PM

ورشة برمجة مؤشر بافكار متجددة
 
في هذا الموضوع ان شاء الله سنحاول برمجة مؤشر وفي نفس الوقت التدريب علي البرمجة

لافكار عديدة ومتداخلة

حيث سنضع عدة شروط لعدة مؤشرات نري ان الاشارة تكون قوية علي حسبها

مرحبا بكل الافكار

MOVING_AVERAGE 08-03-2013 01:06 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
نبدء علي بركة الله باول اشارت لمؤشر RSI

وهي اشارة قوية ويحترمها السعر

سنستخدم اشرات RSI كالتالي فوق 50 اشارة Buy خضراء

تحت 50 اشارة sell حمراء

سنستخدم في هذا المؤشر نافذة مستقلة

ونرسم عليها خطوط هستوغرام

MOVING_AVERAGE 08-03-2013 01:13 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
سنستخدم القالب الجاهز الذي شرحناه من قبل

[PHP]
//+------------------------------------------------------------------+
//| arabia.mq4 |
//| Copyright 2013, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_separate_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 x,i;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
x=Bars-counted_bars;

for(i =0 ; i<x ; i++)
{



}

return(0);
}
//+------------------------------------------------------------------+

[/PHP]

وكما نلاحظ غير هذه الكتابة ليضهر المؤشر في نافذة مستقلة

[PHP]
#property indicator_separate_window
[/PHP]

MOVING_AVERAGE 08-03-2013 01:15 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
الان اعداد بارات الهيستوغرام كالتالي

abduul 08-03-2013 02:03 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
بارك الله فيك أستاد موفينج , تسجيل متابعة , و أحلى لايك :1 (105):

Mohamed_Amr 08-03-2013 02:05 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
بارك الله فيك تسجيل متابعه
لانى من عشاق rsi ولكن استخدمه بشكل مختلف
وبالتوفيق

MOVING_AVERAGE 08-03-2013 02:43 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
في البداية سنستخدم بارين بلونين فقط

وعند ضهور اشرات اخري سنضيف برات اخري

التصريح بالبارات

[PHP]
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green


double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int x,i;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
x=Bars-counted_bars;

for(i =0 ; i<x ; i++)
{



}

return(0);
}
//+------------------------------------------------------------------+
[/PHP]

MOVING_AVERAGE 08-03-2013 02:44 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
جعل المؤشر اكثر مرونة

باستخدام مستوي خاص ب buy

ومستوي خاص ب sell

MOVING_AVERAGE 08-03-2013 02:47 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
التصريح بالمستوي خارج الدالة start

[PHP]
extern int RSI_buy_level=50;
extern int RSI_sell_level=50;
[/PHP]

والكود لحد الان هو

[PHP]
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green


double ExtMapBuffer1[];
double ExtMapBuffer2[];

extern int RSI_buy_level=50;
extern int RSI_sell_level=50;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int x,i;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
x=Bars-counted_bars;

for(i =0 ; i<x ; i++)
{



}

return(0);
}
//+------------------------------------------------------------------+
[/PHP]

MOVING_AVERAGE 08-03-2013 02:48 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
جعل RSI اكثر مرونة وذلك بتمكين المستخدم من تغير اعددات RSI

Mohamed_Amr 08-03-2013 02:54 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 476493)
جعل RSI اكثر مرونة وذلك بتمكين المستخدم من تغير اعددات RSI

اتمنى جعله اكثر ملونه خصوصا بعكس العمليه يعنى ممكن عند مستوى 75 يعطينى اشارة شراء
وايضا عند مستوى 25 يعطينى اشارة بيع
هل ممكن عمل rsi لعمله فقط مثل الين لقياس مستوى الار اس مقابل جميع العملات؟؟
وبالتوفيق استاذنا الحبيب

MOVING_AVERAGE 08-03-2013 02:55 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
نضيف هذه الكتابة خارج الدالة start

لجعل rsi اكثر مرونة

[PHP]
extern string l="_______level-RSI_______";
extern int RSI_buy_level=50;
extern int RSI_sell_level=50;
extern string m="_______Parameters-RSI_______";
extern int period_RSI=14;
extern int applied_price_RSI=0;
[/PHP]

MOVING_AVERAGE 08-03-2013 02:56 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mohamed_Amr (المشاركة 476497)
اتمنى جعله اكثر ملونه خصوصا بعكس العمليه يعنى ممكن عند مستوى 75 يعطينى اشارة شراء
وايضا عند مستوى 25 يعطينى اشارة بيع
هل ممكن عمل rsi لعمله فقط مثل الين لقياس مستوى الار اس مقابل جميع العملات؟؟
وبالتوفيق استاذنا الحبيب


لا تستعجل اخي

Mohamed_Amr 08-03-2013 02:59 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 476500)
لا تستعجل اخي

تمام استاذنا الحبيب عند الانتهاء نتناقش ان شاء الله
ولك رساله على الخاص
تحياتى

MOVING_AVERAGE 08-03-2013 03:09 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
الان نكتب rsi داخل الدالة start

في الحلقة التكرارية

ونضيف خيار استخدام RSI لعملة اخري رغم ان هذا الخيار لن استخدمه في المؤشر

MOVING_AVERAGE 08-03-2013 03:17 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
سيتم التصريح با RSi كالتالي

[PHP]
double rsi=iRSI(symbol,0,14,0,i);
[/PHP]

حيث

[PHP]
symbol
[/PHP]

سنجعله متغير خارجي نضع فيه اي شارت نريد اضهار RSI له

MOVING_AVERAGE 08-03-2013 03:20 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
التصريح باسم الشارت

[PHP]
extern string symbol=" ";
[/PHP]

وضعنا اسم الشارد تلقائيا فارغ

ماذا سيعمل المؤشر في هذه الحالة

سنضيف دالة مقارنة نقول للمؤشر اذا وجدت اسم الشارت فارغ استخدم اسم الشارت الذي يوضع عليه المؤشر

[PHP]
if(symbol==" ")
{
symbol=Symbol();
}
[/PHP]

MOVING_AVERAGE 08-03-2013 03:24 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
الي هنا قمنا باضافة كل الاعددات التي نحتاجها لاستعمال RSI

ملاحضة لكي نجعل RSI متعدد الوقت فيه اضفات كثيرة يطول شرحها لذا لن نتطرق الي هذه النقطة

[PHP]
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green


double ExtMapBuffer1[];
double ExtMapBuffer2[];

extern string l="_______level-RSI_______";
extern int RSI_buy_level=50;
extern int RSI_sell_level=50;
extern string m="_______Parameters-RSI_______";
extern int period_RSI=14;
extern int applied_price_RSI=0;
extern string symbol=" ";
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int x,i;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
x=Bars-counted_bars;
if(symbol==" ")
{
symbol=Symbol();
}
for(i =x ; i>=0 ; i--)
{

double rsi=iRSI(symbol,0,14,0,i);



}

return(0);
}
//+------------------------------------------------------------------+

[/PHP]

MOVING_AVERAGE 08-03-2013 03:35 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
الان نضيف الشروط

وبعد الشروط نضع الهيستوغرام كما شرحنا في دورة البرمجة

[PHP]
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green


double ExtMapBuffer1[];
double ExtMapBuffer2[];

extern int Shift=0;

extern string l="_______level-RSI_______";
extern int RSI_buy_level=50;
extern int RSI_sell_level=50;
extern string m="_______Parameters-RSI_______";
extern int period_RSI=14;
extern int applied_price_RSI=0;
extern string symbol=" ";
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM,0,3);
SetIndexBuffer(1,ExtMapBuffer2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int x,i;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
x=Bars-counted_bars;
if(symbol==" ")
{
symbol=Symbol();
}
for(i =x ; i>=0 ; i--)
{
int shift1=i+Shift;
double rsi=iRSI(symbol,0,14,0,shift1);
if(rsi>RSI_buy_level)
{
ExtMapBuffer1[i]=0;
ExtMapBuffer2[i]=rsi;
}

if(rsi<RSI_buy_level)
{
ExtMapBuffer1[i]=rsi;
ExtMapBuffer2[i]=0;
}


}

return(0);
}
//+------------------------------------------------------------------+
[/PHP]

وهكذا نكون انتهينا من اشرات RSI

وان شاء الله سنضيف اشرات اخري لكي يصبح المؤشر اقوي

MOVING_AVERAGE 08-03-2013 03:37 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
فيه شئ غير مدروس في المؤشر انا لم ارد الاشارت اليه

في انتضار من يجده لكي نصححه

Mohamed_Amr 08-03-2013 03:39 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
ممكن توضيح هذة النقطه اخى موفنج
ملاحضة لكي نجعل RSI متعدد الوقت فيه اضفات كثيرة يطول شرحها لذا لن نتطرق الي هذه النقطة
والله ينور عليك

MOVING_AVERAGE 08-03-2013 03:41 PM

رد: ورشة برمجة مؤشر بافكار متجددة
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mohamed_Amr (المشاركة 476529)
ممكن توضيح هذة النقطه اخى موفنج
ملاحضة لكي نجعل RSI متعدد الوقت فيه اضفات كثيرة يطول شرحها لذا لن نتطرق الي هذه النقطة
والله ينور عليك


اقصد طريقة جعل المؤشر MTF

هيثم 10-03-2013 12:21 AM

رد: ورشة برمجة مؤشر بافكار متجددة
 
بارك الله فيك اخ موفينج مجهود رائع وياريت وضع المؤشرات بعد الانتهاء من برمجتها لتكون متاحه للتحميل

NTTnightmare 11-03-2013 02:37 AM

رد: ورشة برمجة مؤشر بافكار متجددة
 
مجهود رائع أخي موفنغ مازلت لم تقم بإعداد سيل لوفيل للمؤشر


الساعة الآن 05:04 AM

Powered by vBulletin® Copyright ©2000 - 2025

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com