全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
tb回测与实盘价格异同
2022-09-16 15:43

假设订阅3分钟周期数据,在11:00的K线满足开仓条件,分2种情况: A: con1 = h>10; 或者B: con1 = c>10;   开仓动作也有3种:C: buy(con1, c+1);  D: buy(con1,h+1); E:buy(con1, 10+1);假设1100-1103的 K线4价ochl(9,12,15,7),简化起见minpoint=1。我想知道它们具体情况,好决定如何应用他们:我是这么理解,如有错误,请帮忙改正。(不知道tb价格设定黑箱逻辑)

1.回测:用AD组合:回测报告之交易记录显示的成交价格:是11:00的3分钟k线结束后以最高价=15+1下单,但成交价应该=12; (如果当时收盘价=10,还是会成交)

实盘:用AD组合:应该是在1100-1103时间段,任意某个瞬间只要最新价x1>10,都会发出委托命令,委托价格=x1+minpoint,如果成交,价格可能=x1,如11.

  1. 2.回测:用BC组合:回测报告之交易记录显示的成交价格:是在11:00的k线结束后,以收盘价=12+1下单,成交价也应=12;(如果当时收盘价=10,是不会下单)

实盘:用BC组合:应该是同前面实盘AD组合一样,在1100-1103时间段,任意某个瞬间只要最新价x1>10,都会发出委托命令,委托价格=x1+minpoint,如果成交,价格可能=x1,如11.

***小结:如果上面我描述都是对的,回测报告的准确性就不高。那我就选用AE组合, (BE不确定行不行).

  1. 3.回测:AE组合,回测报告之交易记录显示的成交价格:直接以buy指令内的具体价格10+1=11发出委托,成交价也应=11;

实盘:AE组合,应该是同前面实盘AD组合一样,在1100-1103时间段,任意某个瞬间只要最新价x1>10,都会发出委托命令,委托价格=x1+minpoint,如果成交,价格可能=x1,如11.

***小结2:这样回测是不是更准?

 

还有补充问题:实盘在onbar下,是只要有新成交(tick),就会触发onbar,而使得c即时获得最新价吗?  还是看到在:系统-交易设置-算法交易-交易执行频率=200ms, 即每间隔200ms获得c最新价?

 

 

wangkaiming

图表上你标的价格相当于理论价

策略设计之初,这个理论价格应该代表你真实成交时的最优价格

所以实际成交90%的情况应该是差于这个价格

然后你最后获得的实盘->回测(理论价)就可以视为你一系列操作下和环境下的滑点

 

C: buy(con1, c+1);  D: buy(con1,h+1);    (注意buy的参数是手数和价格)

所以你C和D的结果中 c+1 和h+1的报价,在实盘执行其实问题不大,但是对于图表回测,显然这两个价格都不太对

 

2022-09-16 15:50
wangkaiming

E:buy(con1, 10+1);  所以这个E的报价,填一个常数其实也不能算对,但在你这个情况他是一种合理的理论价格

 

价格该怎么填,我建议你先看一下系统里的,海龟交易法则

 

2022-09-16 15:52
wangkaiming

然后是实盘的机制,实盘机制是 来一个tick就执行一遍程序,对于图表信号,只要有一次满足就会发单

这个建议看下文档 ,运行机制

或者模拟跑一下

2022-09-16 15:54
justin321

您的答复,已基本解惑我的问题,剩下的我调试的时候去发现。非常感谢

2022-09-16 17:33
您未登录,请先 登录注册 后发表评论
顶部