--
如果一天只标注一个是一定会用到未来函数的
下面的编写是顶当根的最高价高于同一大周期其之前的满足顶的K线的最高价才标注
小周期显示日线的警顶和警底:
HH:=HHV(H,DAYBARPOS);
LL:=LLV(L,DAYBARPOS);
HH1:=IF(HH>REF(HH,DAYBARPOS)&&C<=REF(HH,DAYBARPOS),H,0);
LL1:=IF(LL<REF(LL,DAYBARPOS)&&C>=REF(LL,DAYBARPOS),L,999999);
DRAWTEXT(HH>REF(HH,DAYBARPOS)&&C<=REF(HH,DAYBARPOS)&&H>HV(HH1,DAYBARPOS),H,'警顶');
DRAWTEXT(LL<REF(LL,DAYBARPOS)&&C>=REF(LL,DAYBARPOS)&&L<LV(LL1,DAYBARPOS),L,'警底');
分钟周期显示小时的警顶和警底:
NN:=BARSLAST(HOUR<>REF(HOUR,1))+1;
HH:=HHV(H,NN);
LL:=LLV(L,NN);
HH1:=IF(HH>REF(HH,NN)&&C<=REF(HH,NN),H,0);
LL1:=IF(LL<REF(LL,NN)&&C>=REF(LL,NN),L,999999);
DRAWTEXT(HH>REF(HH,NN)&&C<=REF(HH,NN)&&H>HV(HH1,NN),H,'警顶');
DRAWTEXT(LL<REF(LL,NN)&&C>=REF(LL,NN)&&L<LV(LL1,NN),L,'警底');
5分钟周期标注15分钟周期:
VV:="MIN$15$V";
NN:=BARSLAST(VV<>REF(VV,1))+1;
HH:=HHV(H,NN);
LL:=LLV(L,NN);
HH1:=IF(HH>REF(HH,NN)&&C<=REF(HH,NN),H,0);
LL1:=IF(LL<REF(LL,NN)&&C>=REF(LL,NN),L,999999);
DRAWTEXT(HH>REF(HH,NN)&&C<=REF(HH,NN)&&H>HV(HH1,NN),H,'警顶');
DRAWTEXT(LL<REF(LL,NN)&&C>=REF(LL,NN)&&L<LV(LL1,NN),L,'警底');
这里是因为恒指开盘时间是17:15,而小时周期每日第一根K线取的是18点那根
导致小时周期上实际是每日最后一根K线开盘价为日线开盘价,所以在恒指上公式失效
这个是避免不了的,建议您在内盘对比查看
问题连续性较强,明天工作时间由相关老师给您回复