-
اول اكسبيرت
ده اول اكسبيرت ليا ومش عارف تقريبا فيه حاجة غلط :0006::0006:
كود PHP:
//+------------------------------------------------------------------+
//| MA.mq4 |
//| MFB |
//| |
//+------------------------------------------------------------------+
#property copyright "MFB"
#property link ""
//--- input parameters
extern double volume;
extern int take_profit;
extern int stop_loss;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
Comment("Programmed by Eng.Mahmoud");
/////////////////////////////////////
double SL,TP;
////////////////////////////////////
color arrow_color;
double SMA1=iMA(NULL,0,50,0,1,1,1);
double SMA2=iMA(NULL,0,50,0,1,1,1);
double FMA1=iMA(NULL,0,14,0,1,1,1);
double FMA2=iMA(NULL,0,14,0,1,1,1);
if (FMA2<SMA2&&FMA1>SMA1){
if (stop_loss==0){SL=Ask;}else{SL=Ask-stop_loss*volume;}
if (take_profit==0){TP=Ask;}else{TP=Ask+take_profit*volume;}
OrderSend(Symbol(),0,volume,Ask,3,SL,TP,"Eng.Mahmoud",0,0);
PlaySound("Alert.wav");
}
if (FMA2>SMA2&&FMA1<SMA1){
if (stop_loss==0){SL=Ask;}else{SL=Ask-stop_loss*volume;}
if (take_profit==0){TP=Ask;}else{TP=Ask+take_profit*volume;}
OrderSend(Symbol(),1,volume,Ask,3,SL,TP,"Eng.Mahmoud",0,0);
PlaySound("alert.wav");
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+
-
الخطأ لديك في شروط الدخول للإكسبرت وتعريف المؤشرات
كود PHP:
double SMA1=iMA(NULL,0,50,0,1,1,1);
double SMA2=iMA(NULL,0,50,0,1,1,1);
double FMA1=iMA(NULL,0,14,0,1,1,1);
double FMA2=iMA(NULL,0,14,0,1,1,1);
لاحظ أن رقم 1 الأخير هو رقم الشمعة التي سيتم أخذ قيمة المؤشر عندها بالتالي فإن قيمة SMA1 هي
نفس قيمة SMA2 وكذلك قيمة FMA1 هي نفس قيمة FMA2
بالتالي شروط المقارنة لن تتحقق أبدا
كود PHP:
if (FMA2<SMA2&&FMA1>SMA1){
فلا يمكن أن تكون على سبيل المثال 10< 20 ونفس نفس الوقت تكون 10 > 20
لذلك يجب أن تظبط قيم إستدعاء المؤشرات
أولا قيمة الموفينج للشمعه السابقه ستجعلها
كود PHP:
double SMA1=iMA(NULL,0,50,0,1,1,1);
double FMA1=iMA(NULL,0,14,0,1,1,1);
وقيمة الموفينج للشمعه السابقه لها ستجعلها
كود PHP:
double SMA2=iMA(NULL,0,50,0,1,1,2);
double FMA2=iMA(NULL,0,14,0,1,1,2);
بالتالي ستصبح المقارنة صحيحه
وأنصحك بمراجعة الدروس التعليمية المثبتة في القسم ستفيدك
-
شكرا على رد حضرتك على فكرة انا عامل الاكسبيرت ده على نموذج تعليمي حضرتك عملته بس انا غلطت في شوية حاجات في حاجة تانية عاوز اسال حضرتك عليها يعني ايه الماجيك نمبر ؟