الهذلي
25-10-2011, 11:36 AM
اخواني الكرام بدأت اليوم ابي اتعلم لغة الميتاتريدر وابي اكتب مؤشر بسيط وهو يستند الى الماكد ابو خطين
ابي اقوله اذا كان الخط الازرق قطع الاخط الاحمر هبوط اظهر رساله لي بالبيع والعكس
هذا الكود وارجوا المعذره اذا فيه اي استفسار راح انزاه في هذا الموضوع
#property indicator_chart_window
int start()
{
if (iMACD(12,26,9,MODE_EMA,PRICE_CLOSE,Value3)>iMACD(12,26,9,MODE_EMA,PRICE_CLOSE,Value2)) Alert("Buy");
if (iMACD(12,26,9,MODE_EMA,PRICE_CLOSE,Value3)<iMACD(12,26,9,MODE_EMA,PRICE_CLOSE,Value2)) Alert("Sell");
return(0);
}
والماكد ابو خطين في المرفقات
#property indicator_chart_window
int start()
{
if (iMACD(NULL,0,12,26,12,PRICE_CLOSE,MODE_MAIN,1)>iMACD(NULL,0,12,26,12,PRICE_CLOSE,MODE_SIGNAL,1)) Alert("Buy");
if (iMACD(NULL,0,12,26,12,PRICE_CLOSE,MODE_MAIN,1)<iMACD(NULL,0,12,26,12,PRICE_CLOSE,MODE_SIGNAL,1)) Alert("Sell");
return(0);
}
هذا هو الكود اخي الهنذلي
الهذلي
25-10-2011, 05:09 PM
تسلم اخوي حكيم الله يوفقك ويزيدك من علمه
المهم لما حفظته وذهبت للمجلد ما لقيت الملف لكن موجود في الميتاتريدر والملف عليه رسمة قفل
كيف احفظه
الهذلي
26-10-2011, 02:49 PM
هذا مؤشر ثاني
#property indicator_chart_window
int gi;
int gi1;
int gi2;
int gi3;
int gi4;
int gi5;
int gi6;
int start()
{
if (iClose(0,0,1)>iOpen(0,0,1)){
gi = Open[1];
gi1 = Close[1];
gi2 = High[1];
gi3 = Low[1];
gi4 = gi - gi1;
gi5 = gi - gi3;
gi6 = gi5 > gi4 * 2;
}Alert("صعود");
return(0);
}
لكن يطلع التنبيه مع تحرك السعر والمعروف ان شمعة السعر هي 0 رقمها وانا طلبت منه يعمل على الشمعة رقم 1 اذا كان الاغلاق فوق الافتتاح يحسب الفرق بين الافتتاح والاغلاق والفرق بين الافتتاح واللو ويقاربن بين الناتج اذا كان طول الذيل اكبر من الفرق بين الافتتاح والاغلاق مضروب في اثنين يعطيني تبيه انه السعر صاعد وينبهني مره واحده
اعذروني لا حياء مع العلم
اهلا اخي الهذلي
انت تعرف قيمة الافتتاح و الاغلاق تكون بالفاصلة يعني من عائلة double
لكن انت اخبرت المؤشر على ان ان هذه القيم عبارة عن أعداد صحيحة
اليك التصحيح بتعويض فقط int ب double فقط
#property indicator_chart_window
double gi;
double gi1;
double gi2;
double gi3;
double gi4;
double gi5;
double gi6;
int start()
{
if (iClose(0,0,1)>iOpen(0,0,1)){
gi = Open[1];
gi1 = Close[1];
gi2 = High[1];
gi3 = Low[1];
gi4 = gi - gi1;
gi5 = gi - gi3;
gi6 = gi5 > gi4 * 2;
}Alert("صعود");
return(0);
}
علاء حمدان
28-10-2011, 03:28 PM
اهلا اخي الهذلي
انت تعرف قيمة الافتتاح و الاغلاق تكون بالفاصلة يعني من عائلة double
لكن انت اخبرت المؤشر على ان ان هذه القيم عبارة عن أعداد صحيحة
اليك التصحيح بتعويض فقط int ب double فقط
احلي لايك على هذه المعلومة رغم انها مرت علي اثناء قرائتي للموضوع التعليمي
وان الاعداد الصحيحة int والاعداد ذات الكسور العشرية double الا اني لم انتبه لها سوي بعد ردك
.. ان شاء الله انتهي من الموضوع التعليمي وستواجه بسيل من الاسئلة والاستفسارات
بالتوفيق
الهذلي
28-10-2011, 04:41 PM
//+------------------------------------------------------------------+
//| ART top.mq4 |
//| mnaber |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "mnaber"
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int start()
{
double targets = iCustom(0,0,"Trend Momentum",5,3,3,1,1) || iCustom(1,0,"Trend Strength",1,1) || iCustom(0,0,"Awesome",2,1);
double target = iCustom(0,0,"Trend Momentum",5,3,3,0,1) || iCustom(1,0,"Trend Strength",0,1) || iCustom(0,0,"Awesome",1,1);
double StopLoss = iCustom(0,0,"Trend Momentum",5,3,3,1,1) || iCustom(1,0,"Trend Strength",1,1) || iCustom(0,0,"Awesome",2,1);
double Stop = iCustom(0,0,"Trend Momentum",5,3,3,0,1) || iCustom(0,0,"Trend Strength",0,1) || iCustom(0,0,"Awesome",1,1);
int pip=1;
if(Digits==5 || Digits==3) pip=10;
if(iCustom(0,0,"Trend Momentum",5,3,3,0,1) && iCustom(0,0,"Trend Strength",0,1) && iCustom(0,0,"Awesome",1,1)&&OrdersTotal()==7)OrderSend(Symbol(),OP_BUY,1,Ask,3 ,Stop,Ask+0.0020,"",17655,0,Green);
if(iCustom(0,0,"Trend Momentum",5,3,3,1,1) && iCustom(0,0,"Trend Strength",1,1) && iCustom(0,0,"Awesome",2,1)&&OrdersTotal()==7)OrderSend(Symbol(),OP_SELL,1,Bid, 3,StopLoss,Bid-0.0020," ",12345,0,Red);
return(0);
}
//+------------------------------------------------------------------+
طيب اخوي حكيم انا سوية سكربت شرحته لك في رساله خاصه ولكن في هذا الكود حيرني ابيه اذا حصل فرصة بيع يدخل والشروط واضحه الي انا كتبتها له واذا حصل فرصة شراء يشتري ويكون الاستوب تغير اللون في احد المشرات الي اضفتها له والهدف كذلك لكن اذا دخل شراء ما عاد يبيع حتى لو كانت فرصة بيع ما اعرف وش الخطأ يا ليت تشوف وش الخطأ عندي
الهذلي
28-10-2011, 04:44 PM
حياك الله اخوي علاء الله يوفقك انتظر اكسبيرتات الهذلي