本指标会画出一条垂直线 (OBJ_VLINE),然后把它移动到制定的时间 (小时和分钟)。
输入参数 :
在"Use only Hours and minutes" 参数中只使用小时数和分钟数。
垂直线在当前日期中画出。如果开始了新的一天,线就移动到新的一天,并设置到制定的小时和分钟。
视频:
本指标有内建的保护,防止不小心删除了垂直线: 计时器会定时检查线是否在图表上。如果垂直线 (OBJ_VLINE) 没有找到,在程序全局范围内声明的静态变量 "prev_date" 就重置为0:
//+------------------------------------------------------------------+ //| 计时器函数 | //+------------------------------------------------------------------+ void OnTimer() { //--- 保护防止未经授权的删除 if(ObjectFind(0,InpName)<0) { prev_date=0; VLineCreate(0,InpName,0,0.0,InpColor,InpStyle,InpWidth); } }
这将会在 OnCalculate() 中创建一条新的垂直线:
if(prev_date==0) // 第一次开始 { MqlDateTime str_input; TimeToStruct(InpTime,str_input); str_to_draw.hour=str_input.hour; str_to_draw.min=str_input.min; str_to_draw.sec=0; prev_date=StructToTime(str_to_draw); VLineMove(0,InpName,prev_date); return(rates_total); }
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/18449