求教代码问题 [MC]
-
MC用户求助:
一、TB中的代码是以begin开头,以end结尾,但是在MC中,不是这样的,可以参考一下if、while、for关键字和begin、end的组合应用。
二、您的 if 语句太多,您需要整理一下策略的逻辑,使策略逻辑严谨简洁,之后写出来的代码才会严谨简洁;很多 if 判断语句可以合并在一起,if后面的执行语句使用begin和end组合;
if condition1 then begin
expression1;
expression1;
.....
end;
三、收盘平仓的代码是有问题的:if判断语句之后只有一条执行语句,但是如果想多条执行语句,需要使用begin和end组合;所以您的收盘平仓语句实际是if time>=1457 then sell next bar at market;这是一个完全的if判断执行语句,后面的buytocover next bar at market; 实际上是在每根bar都会执行的语句,不被前面的if控制。
四、两个同时满足条件的市价单,在回测的时候是显示发出两笔市价单,但在实时交易的时候只会发出一笔市价单;这点只是市价单有点特别。 -
MC回复讨论一:
一、TB中的代码是以begin开头,以end结尾,但是在MC中,不是这样的,可以参考一下if、while、for关键字和begin、end的组合应用。
二、您的 if 语句太多,您需要整理一下策略的逻辑,使策略逻辑严谨简洁,之后写出来的代码才会严谨简洁;很多 if 判断语句可以合并在一起,if后面的执行语句使用begin和end组合;
if condition1 then begin
expression1;
expression1;
.....
end;
三、收盘平仓的代码是有问题的:if判断语句之后只有一条执行语句,但是如果想多条执行语句,需要使用begin和end组合;所以您的收盘平仓语句实际是if time>=1457 then sell next bar at market;这是一个完全的if判断执行语句,后面的buytocover next bar at market; 实际上是在每根bar都会执行的语句,不被前面的if控制。
四、两个同时满足条件的市价单,在回测的时候是显示发出两笔市价单,但在实时交易的时候只会发出一笔市价单;这点只是市价单有点特别。 -
MC回复讨论二:
“四、两个同时满足条件的高价单,在回测的时候是显示发出两笔市价单,但在实时交易的时候只会发出一笔市价单;这点只是市价单有点特别。”这个是什么意思?没太看懂。谢谢 -
MC回复讨论三:
抱歉,打错字了,是市价单,不是高价单,已经更改过来了。
if condition1 then buy("first") next bar at market;
if condition2 then buy("second") next bar at market;
在回测中,当condition1和condition2两个条件在某根bar上同时成立的时候,图表上显示在下一根bar上有两笔委托单;但是在实时交易中,当这两个条件同时满足的时候,实际上只会发送第一笔市价单(”first")到交易所;在这点,市价单回测和实时不一样,但是对条件单(限价和停损单等)这点是一样的(回测是两笔,实时也是两笔);您可以测试一下,需要在策略属性中设置允许多笔进场。 -
MC回复讨论四:
抱歉,打错字了,是市价单,不是高价单,已经更改过来了。
if condition1 then buy("first") next bar at market;
if condition2 then buy("second") next bar at market;
在回测中,当condition1和condition2两个条件在某根bar上同时成立的时候,图表上显示在下一根bar上有两笔委托单;但是在实时交易中,当这两个条件同时满足的时候,实际上只会发送第一笔市价单(”first")到交易所;在这点,市价单回测和实时不一样,但是对条件单(限价和停损单等)这点是一样的(回测是两笔,实时也是两笔);您可以测试一下,需要在策略属性中设置允许多笔进场。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容