单策略,在对两个品种执行后台精细化历史评测,发现当其中一个信号出现,执行开仓时,另外一个也同时执行开仓。但是信号只在第一个触发,第二个没有触发。请问代码里如果编写来让策略执行时可以区分不同的品种?
"但是信号只在第一个触发,第二个没有触发。" 请问这是指什么意思? 是指没有信号的情况下 其中一个品种开仓了?
是的。
就是在某个时间,第一个品种信号触发了,开仓。这个时间点,第二个品种并没有信号,但是也执行开仓了。
我代码里执行TBUY的时候,没有指定品种,选项为空,只是外部设置的时候,监控品种里加了2个品种。
这种单策略,多品种的代码,TBUY的参数怎么设置才能区别不同的品种呢?
序号 品种 交易类型 时间 数量 交易效率 开仓价格 平仓价格/均价 盈亏%
1 玉米1901 开空 2017/09/01 00:00:00 1 1695
2 淀粉1901 开空 2017/09/01 00:00:00 1 1986
3 淀粉1901 平空 2017/09/18 00:00:00 1 0.00% 1960/1986 1.28%
4 淀粉1901 开多 2017/09/18 00:00:00 1 1960
5 淀粉1901 平多 2017/09/19 00:00:00 1 0.00% 1965/1960 0.22%
6 玉米1901 平空 2017/09/21 00:00:00 1 0.00% 1696/1694 -0.15%
7 玉米1901 开多 2017/09/21 00:00:00 1 1696
8 淀粉1901 开多 2017/09/21 00:00:00 1 1972
9 淀粉1901 平多 2017/09/22 00:00:00 1 0.00% 1985/1972 0.63%
10 玉米1901 平多 2017/10/19 00:00:00 1 0.00% 1674/1697 -1.39%
11 玉米1901 开多 2018/05/10 00:00:00 1 1799
12 玉米1901 平多 2018/06/13 00:00:00 1 0.00% 1806/1800 0.30%
13 玉米1901 开多 2018/06/29 00:00:00 1 1839
14 玉米1901 平多 2018/08/06 00:00:00 1 0.00% 1848/1840 0.40%
多品种之间策略运行是独立的,除非代码里面使用了某些共享的全局变量.否则是不会相互影响的. 另外你信号判断是通过和图表对比的吗?
我是根据K线图,基本的最高点低点,收盘开盘价等元素,经过一个复杂的运算得出来的信号。
我不知道您说的信号和图表对比,是不是我的这种情况。是和不是,有什么关系?如何解决?
代码里,没有特别的定义和设置全局变量。都是D:=C;这样的模式。
序号 品种 交易类型 时间 数量 交易效率 开仓价格 平仓价格/均价 盈亏% 盈亏金额
1 玉米1901 开空 2017/09/01 00:00:00 1 1695 0.00%
2 玉米1901 平空 2017/09/21 00:00:00 1 0.00% 1696/1694 -0.15% -25.50
3 玉米1901 开多 2017/09/21 00:00:00 1 1696 0.00%
4 玉米1901 平多 2017/10/19 00:00:00 1 0.00% 1674/1697 -1.39% -235.50
5 玉米1901 开多 2018/05/10 00:00:00 1 1799 0.00%
6 玉米1901 平多 2018/06/13 00:00:00 1 0.00% 1806/1800 0.30% 54.50
7 玉米1901 开多 2018/06/29 00:00:00 1 1839 0.00%
8 玉米1901 平多 2018/08/06 00:00:00 1 0.00% 1848/1840 0.40% 74.50
序号 品种 交易类型 时间 数量 交易效率 开仓价格 平仓价格/均价 盈亏%
1 淀粉1901 开多 2017/08/15 00:00:00 1 2020
2 淀粉1901 平多 2017/09/13 00:00:00 1 0.00% 1984/2020 -1.81%
这是同等条件下,单策略,分两次对两个品种单独进行测试的结果。很明显,淀粉单独执行就是08/15开仓,和玉米合并测试,就没有开仓,而是和玉米一起在09/01开仓。
3次测试的设置的起始时间,公式,都是一样的。都是从2017-07-01开始,2018-08-17结束。