老师,帮我看看这个bar内交易在机制上有什么问题 [MC]
-
MC用户求助:
暂且不考虑您的策略的逻辑问题,下面主要指出您的代码问题及关键字的用法问题:
第一、sessionlastbar判断交易时段结束前的最后一根bar,所以只会在最后一根bar上返回true,若您用在进场判断中,发送委托单的时候,实际上已经停盘了。sessionlastbar的用法在帖子http://forums.icetech.com.cn/for ... 3155&extra=page%3D1中有讲到。
第二、q_time和q_last及marketposition_at_broker的用法,您需要在公式编译器中查看一下,都不可以用在回测中;q_last取的是最新的一笔tick的价格,开启bar内模式下可以用于close来代替,这样就可以用于回测和实时了;q_time也是取的是最新的一笔tick的时间,不能用于回测中,只能用于实时中,并且q_time返回的是分钟,并不包含秒,所以q_time>094000永远是false,您需要使用q_time_s来精确到秒,当然q_time_s也不能用于回测中。另外,开启bar内回测,您可以在策略属性中开启精细资料并且勾选”在开启bar内交易模式的计算允许访问bar内时间“,这样回测的时候,就可以使用time_s来访问bar内的秒级别的时间来判断了。time_s在bar内回测中使用,q_time_s在实时交易中使用。
第三、marketposition_at_broker的用法,您需要在公式编译器中查看一下,不能用于回测,只能用于实时交易中,取的是经纪商处的持仓手数(多头持仓3手,返回3;空头持仓3手,返回-3)。
第四、关键字margin,只对期货和期权有效,股票没有保证金。这个关键字取的是报价管理器中的设置,并不是真实的保证金。
第五、关键字barstatus的用法,可以看一下链接http://forums.icetech.com.cn/for ... &extra=page%3D2 -
MC回复讨论一:
暂且不考虑您的策略的逻辑问题,下面主要指出您的代码问题及关键字的用法问题:
第一、sessionlastbar判断交易时段结束前的最后一根bar,所以只会在最后一根bar上返回true,若您用在进场判断中,发送委托单的时候,实际上已经停盘了。sessionlastbar的用法在帖子http://forums.icetech.com.cn/for ... 3155&extra=page%3D1中有讲到。
第二、q_time和q_last及marketposition_at_broker的用法,您需要在公式编译器中查看一下,都不可以用在回测中;q_last取的是最新的一笔tick的价格,开启bar内模式下可以用于close来代替,这样就可以用于回测和实时了;q_time也是取的是最新的一笔tick的时间,不能用于回测中,只能用于实时中,并且q_time返回的是分钟,并不包含秒,所以q_time>094000永远是false,您需要使用q_time_s来精确到秒,当然q_time_s也不能用于回测中。另外,开启bar内回测,您可以在策略属性中开启精细资料并且勾选”在开启bar内交易模式的计算允许访问bar内时间“,这样回测的时候,就可以使用time_s来访问bar内的秒级别的时间来判断了。time_s在bar内回测中使用,q_time_s在实时交易中使用。
第三、marketposition_at_broker的用法,您需要在公式编译器中查看一下,不能用于回测,只能用于实时交易中,取的是经纪商处的持仓手数(多头持仓3手,返回3;空头持仓3手,返回-3)。
第四、关键字margin,只对期货和期权有效,股票没有保证金。这个关键字取的是报价管理器中的设置,并不是真实的保证金。
第五、关键字barstatus的用法,可以看一下链接http://forums.icetech.com.cn/for ... &extra=page%3D2 -
MC回复讨论二:
谢谢老师。感谢你这么详细的帮助 。。
恩,我的策略不用于回测,直接交易。
margin 不针对股票,那股票账面实际总资 金是什么函数? -
MC回复讨论三:
GetRTCashBalance这个函数返回可用资金,它需要一个账户名称参数,这个账户名称的格式您需要与交易追踪器中的账户栏位一致。
-
MC回复讨论四:
GetRTCashBalance这个函数返回可用资金,它需要一个账户名称参数,这个账户名称的格式您需要与交易追踪器中的账户栏位一致。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容