大佬们,好!
编程过程中,有个禁则问题,一直困扰。
如何设定 下午14:30--15:00的时间,交易模型中的期货商品,只平仓,不开仓。
关于时间类函数的实际案例应用,没有找到。可否指点一二。
另外,近期把框架打好,到时上传上来,后续还会有一些 细节上的小问题需要请教各位大佬。
再次感谢大佬们的帮助。
开仓条件里加上时间禁止
比如你设定14点30分到15点不开仓,那就意味着这个时间段一歪都可以开仓
所以开仓条件里必须加上这条
具体表述,用time返回bar的开盘时间
这个时间在时间段外才能开仓
比如上面的条件那就是(time<0.1430 or time>0.15)
感谢大佬,如果遇到多个时间段,叠加,怎么弄呢?比如凌晨2:00--3:30的时间段,和14::30--15:30都是 只平仓,不开仓。 如何表达。
还有能否把它们编成一个函数,放到 if 的开仓条件中去呢,如果要实现这样的功能,应该如何操作?
可否这样写:
if (marketposition !=1 and (0.09<time<0.1430 or 0.1930<time<0.02))
{
开仓其他条件 和 开仓多单代码
}
意思是:如果仓位没有多单,且交易时间为( 上午9:00到下午14:30,或下午19.30到凌晨2点)可以开仓做多。
这样写,可以吗?
可以写成函数
先看一下语法手册,学会怎么写函数,然后正常调用
不支持这种连续比较的表达式
0.09<time<0.1430 可以写成(0.09<time and time<0.1430)注意用括号保证计算优先级
大佬,目前官方的函数手册,没有优化到应用案例。比如 time函数的应用,没有实际应用案例。无法参照。 它只是 把time函数的结果,输出出来。 函数手册,更多的信息是点对点,没有成线或者面。 所以会经常来麻烦你们。。语法手册也不知道在哪里看,可否告知连接。
大佬,下午19.30到凌晨2点 ,可否写成:
(0.1930<time and time <0.02) 这样写可以吗?
或者能否这样写:
vars:
global numerica aa ;
在 onready 的事件中
if((0.09<time and time<0.1430) or (0.1930<time and time <0.02))
{
aa = 11
}
onbaropen 事件中
if ((MarketPosition!=1 and aa=11)
{
其他多单开仓条件+ 开仓多单
}
这样写禁则:9点--14:30 和 19:30到次日凌晨2点,可以开仓。其他时间,不能开仓。只能平仓。
不可以
你觉得会有数字同时大于0.1930并且小于0.02的吗?
这里应该用or连接
也可以