5 مرفق
██████ أول إكسبيرت من برمجتي لله الحمد والشكر ██████
بسم الله الرحمن الرحيم
اللهم صلي على سيدنا محمد وعلى آله وصحبه وسلم
السلام عليكم ورحمة الله تعالى وبركاته
:18: أخيرا بدأت اتعلم البرمجة :18:
أول حاجة انا عايز أشكر الأستاذ أسامة على المجهود الكبير إلي بيقدمه في دوره تعليم البرمجة فشكرا بجد وربنا يبارك فيك ويجعله في ميزان اعمالك الصالحة يارب
فكرة الإكسبيرت بسيطة جدا وشبه أكيد إنها إتبرمجت من قبل لكن المهم إن الإكسبيرت ده من شغلي انا :0016:
الفكرة هي تقاطع موفينجات
عندنا 2 موفينج سريع وبطيء على فريم كبير
و 2 موفينج سريع وبطيء على فريم أصغر
لما يكون السريع قاطع لفوق على الفريم الكبير بيكون الإكسبيرت جاهز للشراء والعكس للبيع
ولما يقطع السريع لفوق على الفريم الأصغر بيفتح الإكسبيرت شراء بهدف وستوب رقمي والعكس للبيع لما يقطع السريع لتحت لكن بشرط إن الفريم الكبير يكون بردو قاطع لتحت
بمعنى انا بستخدم الفريم الكبير لمعرفة الإتجاه ولما بيحدث تقاطع على الفريم الصغير بنفس الإتجاه الإكسبيرت بيفتح صفقة
الإكسبيرت بيفتح صفقة واحدة فقط عشان كده لو حدثت فرصة جديدة ولسه الإكسبيرت عنده صفقة ماجابتش الهدف او ماضربتش الستوب فمش هيفتح صفقة تانية
الموفينجات الأربعة قابلة للضبط بكامل الإعدادات عشان أي توليفة موفينجات هتكون قابلة تتعمل على الإكسبيرت
المتغيرات الخارجية :
أول حاجة الـ time_bigframe & time_smallframe بتاخد القيم دي
الملف المرفق 323583
تاني حاجة متغيرات الموفينجات
الأسماء نفسها إلي بتلاقيها في إعدادت الموفينج
الملف المرفق 323584
خانات الـ method بتاخد القيم التالية
الملف المرفق 323585
خانات الـ apply_to بتاخد القيم التالية
الملف المرفق 323586
وباقي المتغيرات اعتقد واضحة مثل الـ Period والـ shift فهي تأخذ أرقام عادية
وأيضا في متغيرات الصفقات لايوجد سوى اللوت والستوب والهدف
فياريت إلي يعرف توليفة موفينجات كويسة يجربها على الإكسبيرت ويفرحنا بالباكتست
وأسيبكم دلوقتي عشان اتفرغ لأفكاري :0016:
اولها إن شاء الله إلي موجودة هنا
https://forum.arabictrader.com/t144039.html
وياريت المبرمجين إلي هيطلعوا على الكود يدوني رأيهم ياترى الكود كويس ولا فيه ثغرات أو حجات كان ممكن تتعمل افضل من كده :asvc:
تحياتي ودمتم بخير إن شاء الله :eh_s(7):
كود PHP:
//+------------------------------------------------------------------+
//| Movings v 01.mq4 |
//| Copyright 2012,صاحب هدف |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012,صاحب هدف"
#property link ""
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
extern string BIG_Frame = "في الأسفل الإعدادات الخاصة بالفريم الكبير";
extern int time_bigframe=15;
extern string Slow_Moving = "الموفينج البطيء";
extern int Periodslow=100;
extern int shift_slow=0;
extern int method_slow=0;
extern int apply_to_slow=0;
extern string Fast_Moving = "الموفينج السريع";
extern int Periodfast=50;
extern int shift_fast=0;
extern int method_fast=0;
extern int apply_to_fast=0;
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
extern string Small_Frame = "في الأسفل الإعدادات الخاصة بالفريم الصغير";
extern int time_smallframe=5;
extern string slow_Moving = "الموفينج البطيء";
extern int Periodslow2=100;
extern int shift_slow2=0;
extern int method_slow2=0;
extern int apply_to_slow2=0;
extern string fast_Moving = "الموفينج السريع";
extern int Periodfast2=50;
extern int shift_fast2=0;
extern int method_fast2=0;
extern int apply_to_fast2=0;
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
extern string Orders = "في الأسفل الإعدادات الخاصة بالصفقات";
extern double lot=0.1;
extern int stop_loss=50;
extern int take_profit=100;
extern int magicnumber=00963;
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الكبير
double ma_slow_bigframe=iMA(Symbol(),time_bigframe,Periodslow,shift_slow,method_slow,apply_to_slow,0);
double ma_fast_bigframe=iMA(Symbol(),time_bigframe,Periodfast,shift_fast,method_fast,apply_to_fast,0);
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الكبير
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الصغير للشمعة الحالية
double ma_slow_smallframe=iMA(Symbol(),time_smallframe,Periodslow2,shift_slow2,method_slow2,apply_to_slow2,1);
double ma_fast_smallframe=iMA(Symbol(),time_smallframe,Periodfast2,shift_fast2,method_fast2,apply_to_fast2,1);
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الصغير للشمة الحالية
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الصغير للشمعة السابقة
double ma_slow_smallframe2=iMA(Symbol(),time_smallframe,Periodslow2,shift_slow2,method_slow2,apply_to_slow2,2);
double ma_fast_smallframe2=iMA(Symbol(),time_smallframe,Periodfast2,shift_fast2,method_fast2,apply_to_fast2,2);
//-------------------------------------------------------------------------------------------------------------------موفينجات الفريم الصغير للشمعة السابقة
//-------------------------------------------------------------------------------------------------------------------مقارنة لمعرفة وضع موفينجات الفريم الكبير
int a ;
if (ma_fast_bigframe>ma_slow_bigframe)
{
a=0;
}
else
a=1;
//-------------------------------------------------------------------------------------------------------------------مقارنة لمعرفة وضع موفينجات الفريم الكبير
//-------------------------------------------------------------------------------------------------------------------مقارنة لمعرفة وضع موفينجات الفريم الصغير
int b;
if (ma_fast_smallframe2<ma_slow_smallframe2 && ma_fast_smallframe > ma_slow_smallframe )
{
b=0;
}
else if (ma_fast_smallframe2>ma_slow_smallframe2 && ma_fast_smallframe < ma_slow_smallframe)
{
b=1;
}
else
b=2;
//-------------------------------------------------------------------------------------------------------------------مقارنة لمعرفة وضع موفينجات الفريم الصغير
//-------------------------------------------------------------------------------------------------------------------كود فتح الصفقات
//--------------------------------------------- فتح صفقة شراء بعد تحقق شروط الصعود
if ( a==0 && b==0 && OrdersTotal()==0 )
{
OrderSend (Symbol(),OP_BUY,lot,Ask,3,Ask-stop_loss*Point,Ask+take_profit*Point,"",magicnumber,0,Blue);
}
//--------------------------------------------- فتح صفقة شراء بعد تحقق شروط الصعود
//--------------------------------------------- فتح صفقة بيع بعد تحقق شروط الهبوط
if ( a==1 && b==1 && OrdersTotal()==0 )
{
OrderSend (Symbol(),OP_SELL,lot,Bid,3,Bid+stop_loss*Point,Bid-take_profit*Point,"",magicnumber,0,Blue);
}
//--------------------------------------------- فتح صفقة بيع بعد تحقق شروط الهبوط
Comment("# صاحب هدف# ");
return(0);
}
//+------------------------------------------------------------------+