IF DATATYPE>5 THEN
BEGIN
DRAWTEXTEX(ISLASTBAR,1,500,500,'本指标只适用于日线以下周期数据'),ALIGN3;
EXIT;
END;
//判断是否绘制彩线的位置
日:=date; //求当前K线的日期
isColor:=if(日>ref(日,1) or barpos=1,1,0); //当K线的日期发生变化时,就是新的彩线绘制位置
DIS0:=if(barpos=1 or not(isColor),0,DATEDIFF(ref(日,1),日)-1); //星期六、星期日以及节假日也要考虑
DIS:=SUM(DIS0,0);
Num:=count(isColor,0)+DIS; //计算彩线个数
VERTLINE(isColor and mod(Num,4)=0),color5825cf,LINEDOT;
VERTLINE(isColor and mod(Num,4)=1),colorb14e00,LINEDOT;
VERTLINE(isColor and mod(Num,4)=2),color277524,LINEDOT;
VERTLINE(isColor and mod(Num,4)=3),colorac0088,LINEDOT;
加载这个公式后发现,压缩屏幕k线显示与不压缩时,其彩线位置不一样,彩线位置不固定;需要的其实是屏幕显示到足够数量后的,再放大k线显示划线就是正确的,但刚打开软件时竖线显示就不对。不知道是什么原因,可以解决这个问题吗?非常期待解答,谢谢!
先说明下:伸缩图表K线的时候造成的影响是参与计算的K线发生变化。 比如一开始的时候图表上显示的第一个K是上午11点的,扩充后时间可能就前推到上午10点。K线数量就增加了。
比如某一个K当前K线位置是1,但是你改变数据之后就不是1了。就不符合iscolor的条件了。这样对其他几个变量都有影响的。你最好限定下起始位置。右键-x轴-常规 下有这个选项。