المشاركة الأصلية كتبت بواسطة abou fares
استاذ جميل استخدمت الدوال المستخدمة في اكسبيرت مستر دولار لصنع مؤشر دايلي كاماريلا باعددات خارجية لتغير وقت البدء ووقت الانتهاء للهاي واللو المستخدمة في الحسابات الداخلية ولكن لم ينجح معي ممكن احد يفيدني في هذا الموضوع؟
//+------------------------------------------------------------------+
//| new_cam.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
extern int StartHour=21;
extern int EndHour=20;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("H4 Label");
ObjectDelete("H4 Line");
ObjectDelete("H3 Label");
ObjectDelete("H3 Line");
ObjectDelete("H2 Label");
ObjectDelete("H2 Line");
ObjectDelete("H1 Label");
ObjectDelete("H1 Line");
ObjectDelete("L1 Label");
ObjectDelete("L1 Line");
ObjectDelete("L2 Label");
ObjectDelete("L2 Line");
ObjectDelete("L3 Label");
ObjectDelete("L3 Line");
ObjectDelete("L4 Label");
ObjectDelete("L4 Line");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if(StartHour>EndHour)
{
datetime TimeStart=StrToTime(TimeToStr(iTime(Symbol(),1440, 1),TIME_DATE)+" "+StartHour);
int BarStart=iBarShift(Symbol(),0,TimeStart,false);
}
else
{
TimeStart=StrToTime(TimeToStr(TimeCurrent(),TIME_D ATE)+" "+StartHour);
BarStart=iBarShift(Symbol(),0,TimeStart,false);
}
datetime TimeEnd=StrToTime(TimeToStr(TimeCurrent(),TIME_DAT E)+" "+EndHour);
int BarEnd=iBarShift(Symbol(),0,TimeEnd,false);
double highDay=High[iHighest(Symbol(),0,MODE_HIGH,BarStart-BarEnd,BarEnd)];
double lowDay=Low[iLowest(Symbol(),0,MODE_LOW,BarStart-BarEnd,BarEnd)];
double closeDay=iClose(Symbol(),60,BarEnd);
double openDay=iOpen(Symbol(),60,BarStart);
Comment("highDay :",highDay,"\n","lowDay :",lowDay,"\n","closeDay :",closeDay) ;
double Q = highDay - lowDay;
double H1 =closeDay+ (Q * 0.09);
double L1 = closeDay - (Q * 0.09);
//----
double H2 = closeDay + (Q * 0.18);
double L2 = closeDay - (Q * 0.18);
//----
double H3 = closeDay + (Q * 0.27);
double L3 =closeDay - (Q * 0.27);
//----
double H4 = closeDay + (Q * 0.55);
double L4 = closeDay - (Q * 0.55);
//----
if(ObjectFind("H4 label") != 0)
{
ObjectCreate("H4 label", OBJ_TEXT, 0, Time[10], H4);
ObjectSetText("H4 label", "H4 ", 9, "Arial", Yellow);
}
else
{
ObjectMove("H4 label", 0, Time[10], H4);
}
if(ObjectFind("H3 label") != 0)
{
ObjectCreate("H3 label", OBJ_TEXT, 0, Time[10], H3);
ObjectSetText("H3 label", "H3 ", 9, "Arial", Aqua);
}
else
{
ObjectMove("H3 label", 0, Time[10], H3);
}
if(ObjectFind("H2 label") != 0)
{
ObjectCreate("H2 label", OBJ_TEXT, 0, Time[10], H2);
ObjectSetText("H2 label", "H2 ", 9, "Arial", Lime);
}
else
{
ObjectMove("H2 label", 0, Time[10], H2);
}
if(ObjectFind("H1 label") != 0)
{
ObjectCreate("H1 label", OBJ_TEXT, 0, Time[10], H1);
ObjectSetText("H1 label", "H1 ", 9, "Arial", Magenta);
}
else
{
ObjectMove("H1 label", 0, Time[10], H1);
}
if(ObjectFind("L1 label") != 0)
{
ObjectCreate("L1 label", OBJ_TEXT, 0, Time[10], L1);
ObjectSetText("L1 label", "L1 ", 9, "Arial", Magenta);
}
else
{
ObjectMove("L1 label", 0, Time[10], L1);
}
if(ObjectFind("L2 label") != 0)
{
ObjectCreate("L2 label", OBJ_TEXT, 0, Time[10], L2);
ObjectSetText("L2 label", "L2 ", 9, "Arial", Red);
}
else
{
ObjectMove("L2 label", 0, Time[10], L2);
}
if(ObjectFind("L3 label") != 0)
{
ObjectCreate("L3 label", OBJ_TEXT, 0, Time[10], L3);
ObjectSetText("L3 label", "L3 ", 9, "Arial", Aqua);
}
else
{
ObjectMove("L3 label", 0, Time[10], L3);
}
if(ObjectFind("L4 label") != 0)
{
ObjectCreate("L4 label", OBJ_TEXT, 0, Time[10], L4);
ObjectSetText("L4 label", "L4 ", 9, "Arial", Yellow);
}
else
{
ObjectMove("L4 label", 0, Time[10], L4);
}
if(ObjectFind("H4 line") != 0)
{
ObjectCreate("H4 line", OBJ_HLINE, 0, Time[40], H4);
ObjectSet("H4 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("H4 line", OBJPROP_WIDTH, 1);
ObjectSet("H4 line", OBJPROP_COLOR, Yellow);
}
else
{
ObjectMove("H4 line", 0, Time[40], H4);
}
if(ObjectFind("H3 line") != 0)
{
ObjectCreate("H3 line", OBJ_HLINE, 0, Time[40], H3);
ObjectSet("H3 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("H3 line", OBJPROP_WIDTH, 1);
ObjectSet("H3 line", OBJPROP_COLOR, Aqua);
}
else
{
ObjectMove("H3 line", 0, Time[40], H3);
}
if(ObjectFind("H2 line") != 0)
{
ObjectCreate("H2 line", OBJ_HLINE, 0, Time[40], H2);
ObjectSet("H2 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("H2 line", OBJPROP_WIDTH, 1);
ObjectSet("H2 line", OBJPROP_COLOR, Lime);
}
else
{
ObjectMove("H2 line", 0, Time[40], H2);
}
if(ObjectFind("H1 line") != 0)
{
ObjectCreate("H1 line", OBJ_HLINE, 0, Time[40], H1);
ObjectSet("H1 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("H1 line", OBJPROP_WIDTH, 1);
ObjectSet("H1 line", OBJPROP_COLOR, Magenta);
}
else
{
ObjectMove("H1 line", 0, Time[40], H1);
}
if(ObjectFind("L1 line") != 0)
{
ObjectCreate("L1 line", OBJ_HLINE, 0, Time[40], L1);
ObjectSet("L1 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("L1 line", OBJPROP_WIDTH, 1);
ObjectSet("L1 line", OBJPROP_COLOR, Magenta);
}
else
{
ObjectMove("L1 line", 0, Time[40], L1);
}
if(ObjectFind("L2 line") != 0)
{
ObjectCreate("L2 line", OBJ_HLINE, 0, Time[40], L2);
ObjectSet("L2 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("L2 line", OBJPROP_WIDTH, 1);
ObjectSet("L2 line", OBJPROP_COLOR, Red);
}
else
{
ObjectMove("L2 line", 0, Time[40], L2);
}
if(ObjectFind("L3 line") != 0)
{
ObjectCreate("L3 line", OBJ_HLINE, 0, Time[40], L3);
ObjectSet("L3 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("L3 line", OBJPROP_WIDTH, 1);
ObjectSet("L3 line", OBJPROP_COLOR, Aqua);
}
else
{
ObjectMove("L3 line", 0, Time[40], L3);
}
if(ObjectFind("L4 line") != 0)
{
ObjectCreate("L4 line", OBJ_HLINE, 0, Time[40], L4);
ObjectSet("L4 line", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("L4 line", OBJPROP_WIDTH, 1);
ObjectSet("L4 line", OBJPROP_COLOR, Yellow);
}
else
{
ObjectMove("L4 line", 0, Time[40], L4);
}
return(0);
}
//+------------------------------------------------------------------+