以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问如何判断下一日期是节假日  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=184311)

--  作者:damayi
--  发布时间:2021/2/20 10:24:34
--  请问如何判断下一日期是节假日
想写个策略,如果是节假日前的一天,做特殊处理。如果是节假日后的第一天也做特殊处理。

但不知道怎么判断下一日期是节假日。如果光是周末,通过weekday的周一周五判断就可以了。
但发现如果涉及节假日的情况,可能本周的收盘日期是周四,下次开盘日期有可能是周一或周二就不确定了。


请问如何通过程序判断,当前交易日是节假日前的最后一天,和当前交易日是节假日后的第一天?

--  作者:FireScript
--  发布时间:2021/2/20 10:26:56
--  
 这个没办法判断的。理论上除非能嵌入一个日历程序进来才行。但是这个你只能通过更高级的c++,python拓展去处理了。先用的功能和代码函数都无法做到的。
--  作者:damayi
--  发布时间:2021/2/20 10:31:13
--  
那如果光回测用呢?
比如如果发现这两个日期中间间隔超过1天,就取上个日期的收盘价和取当前日期的收盘价,这个能实现么?

--  作者:FireScript
--  发布时间:2021/2/20 10:44:17
--  
 那就直接用日期减
DATEDIFF(ref(date,1) ,date)

不过要在日线上做。你可以跨周期调用这个判断结果。
减的结果大于1 说明不是连续交易日了。有节假日在其中了。
[此贴子已经被作者于2021/2/20 10:49:44编辑过]

--  作者:FireScript
--  发布时间:2021/2/20 10:48:50
--  
LEN:DATEDIFF(ref(date,1) ,date),NODRAW;//DATEDIFF函数获取2日期间隔天数

p1:VALUEWHEN(LEN>=1,ref(c,1));//取上个交易日收盘价
p2:VALUEWHEN(LEN>=1,c);//取当前交易日收盘价

取值就用VALUEWHEN