#property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 #property indicator_label1 "Daily open line" #property indicator_type1 DRAW_ARROW #property indicator_style1 STYLE_DASH #property indicator_color1 C'75,75,75' input int TimeShiftHour = 8; // Time shift (in hours) input int TimeShiftMinutes = 30; // Time shift (in hours) input ushort code=158; //or 249 or 167 or 59 or 158 double openLine[]; // // // // // int OnInit() { SetIndexBuffer(0,openLine,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_ARROW,code);return(0);} int OnCalculate(const int rates_total, const int prev_calculated, const datetime& time[], const double& open[], const double& high[], const double& low[], const double& close[], const long& tick_volume[], const long& volume[], const int& spread[]) { if (Bars(_Symbol,_Period)0) ? (TimeToString(time[i-1]+((TimeShiftHour*3600)+1800),TIME_DATE)==stime) ? openLine[i-1] : open[i] : open[i]; string stime = TimeToString(time[i]+((TimeShiftHour*3600)+(TimeShiftMinutes*60)),TIME_DATE); openLine[i] = (i>0) ? (TimeToString(time[i-1]+((TimeShiftHour*3600)+(TimeShiftMinutes*60)),TIME_DATE)==stime) ? openLine[i-1] : open[i] : open[i]; } return(rates_total); }