以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  这个到了夜盘就不准了,是上个交易日画线 而不是晚盘交易日  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=167164)

--  作者:jiaolongzjd
--  发布时间:2018/12/17 22:13:19
--  这个到了夜盘就不准了,是上个交易日画线 而不是晚盘交易日
 DRAWLINE(TODAYBAR=1 and CURRENTDATE=date,o,(time=CLOSETIME(0) or ISLASTBAR) and CURRENTDATE=date,ref(o,BARSLAST(TODAYBAR=1)),0);

--------
怎么修改呢

--  作者:yukizzc
--  发布时间:2018/12/18 9:02:00
--  

currentdate是电脑日期,你夜盘时候他返回的还是当天的所谓日期所以差了一个天数

a:DATETOD1970(CURRENTDATE)

b:DATETOD1970(date);

 

todaybar = 1 and (a+1 = b or a=b)

 


--  作者:jiaolongzjd
--  发布时间:2018/12/18 10:29:14
--  谢谢,然后整个句子怎么改呢,这是版主写的
我不会写呢
--  作者:FireScript
--  发布时间:2018/12/18 11:18:44
--  
 你原始思路是怎样的?是从昨日夜盘画到当前?
--  作者:jiaolongzjd
--  发布时间:2018/12/18 12:53:50
--  思路如下
你知道夜盘和第二天白盘为同一个交易日
没有夜盘的品种当天的白盘为一个交易日
--------------------------------------
在最新交易日的开盘处画一条横线
---------------
有夜盘的品种 夜盘开盘价为当天开盘价
没有夜盘的品种白天开盘价为当天的开盘价


--  作者:FireScript
--  发布时间:2018/12/18 15:23:45
--  
 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);



夜盘的时候你试下。

--  作者:jiaolongzjd
--  发布时间:2018/12/18 21:28:01
--  测试如下,上个交易日也画线了,想仅保留最新交易日
如题
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2018/12/19 9:18:27
--  
 这个应该可以了。主要夜盘时候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);