在当天开盘K线的前3根K线开始画值线到最新K线
AAA如何定义
下方是具体代码,请指教,谢谢
DRAWLINE(AAA,4700,islastbar ,4750 ,0 ,COLORGREEN ,1,VTDOT );
当天开盘K线的前3根K线,如3分钟图,9:30开盘 ,是从上一个交易日14:51开始画线到当天的最新K线
dif:time0-timetot0(ref(time,1));//周期数值,秒为单位
E:OPENMINUTES(CLOSETIME(0))-OPENMINUTES(TIME);
locate:E*60/dif;
locate=0 是最后一个K,也是就时间等于15:00的K,以此类推
是否可以提取 当天开盘的第一根K线的编号,减去3,得到,开盘之前3根K线的编号,以此为起点画线,谢谢
以下代码可能不对,以此为例的
3分钟K线
DTKH:=VALUEWHEN(date,BARPOS);//当天日k线的编号
DTKP:=VALUEWHEN(time=93300,BARPOS);//当天开盘k线的编号
QSQDL1:=BARPOS-DTKP-3;//起点的k线编号
能获取到开盘第一个K的编号。但是没什么用。
画线函数是从当前开始画,不能回过头从过去的位置进行判断然后绘制。
你如果只是画线,倒是可以在序列模式下用未来函数操作下。
这样倒是很简单了,直接一个refx函数就搞定了,只是需要公式在序列模式下。
DRAWLINE(refx(date,3)=CURRENTDATE,3750,islastbar ,3800 ,0 ,COLORGREEN ,1,VTDOT );