currentdate是电脑日期,你夜盘时候他返回的还是当天的所谓日期所以差了一个天数
a:DATETOD1970(CURRENTDATE);
b:DATETOD1970(date);
todaybar = 1 and (a+1 = b or a=b)
你知道夜盘和第二天白盘为同一个交易日
没有夜盘的品种当天的白盘为一个交易日
--------------------------------------
在最新交易日的开盘处画一条横线
---------------
有夜盘的品种 夜盘开盘价为当天开盘价
没有夜盘的品种白天开盘价为当天的开盘价
a:DATETOD1970(CURRENTDATE);
b:DATETOD1970(date);
cond:todaybar = 1 and (a+1 = b or a=b);
DRAWLINE(TODAYBAR=1 and cond,o,(time=CLOSETIME(0) or ISLASTBAR) and (a+1 = b or a=b),ref(o,BARSLAST(TODAYBAR=1)),0);
夜盘的时候你试下。
这个应该可以了。主要夜盘时候date和CURRENTDATE不一致。
cond:TODAYBAR=1 and (ref(date,1)=CURRENTDATE or CURRENTDATE=date);
DRAWLINE(cond,o,(time=CLOSETIME(0) or ISLASTBAR),ref(o,BARSLAST(TODAYBAR=1)),0);