大佬们好:
请教 期货交易时间的禁则写法
诉求:开仓时间,限制在 上午9:00 到 下午14:30 和 晚上 20:00 到凌晨 02:00 ,平仓时间不做限制
我的写法:
if( (0.09<time and time<0.1430) or (0.1930<time and time <0.02)) aa ==11;
if (aa==11)
{
其他开仓条件, 满足开仓
}
目前这种写法,编译没问题,但 实际回测无法带动。不知道问题怎么解决。请教大佬。。
两个问题
第一,逻辑不对。
如果你想表达是当晚19点30分之后直到第二天的2点
实际上应该写成 (0.1930<time and time<0.24) or (time>0 and time <0.02)
由于time的函数定义域在0到0.24之间 所以time<0.24和time>0就是废话,可以去掉
所以最终简化成了
0.1930<time or time <0.02
这样一看其实就是把你原文的and换成了or,逻辑就通了
第二,aa==11?==是逻辑判断是否相等,不是赋值,这里用的对吗?
(0.1930<time and time <0.02)???
if (
!(endTradingDatetime < trueData(0)+0.1430
&
endTradingDatetime> trueData(0)+0.1530)
)
试试看
可能还需要推敲一下
成功了反馈一下
if (
!(endTradingDatetime > trueData(0)+0.1430
&
endTradingDatetime < trueData(0)+0.1530)
)
🤣
能否直接给予正确写法。