欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 单策略,多品种的信号干扰问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4453人关注过本帖树形打印复制链接

主题:单策略,多品种的信号干扰问题

帅哥哟,离线,有人找我吗?
巴巴罗
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
单策略,多品种的信号干扰问题  发帖心情 Post By:2018/8/17 15:04:07    Post IP:124.239.252.110[显示全部帖子]

单策略,在对两个品种执行后台精细化历史评测,发现当其中一个信号出现,执行开仓时,另外一个也同时执行开仓。但是信号只在第一个触发,第二个没有触发。请问代码里如果编写来让策略执行时可以区分不同的品种?

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:20:50    Post IP:124.239.252.110[显示全部帖子]

是的。
就是在某个时间,第一个品种信号触发了,开仓。这个时间点,第二个品种并没有信号,但是也执行开仓了。
我代码里执行TBUY的时候,没有指定品种,选项为空,只是外部设置的时候,监控品种里加了2个品种。
这种单策略,多品种的代码,TBUY的参数怎么设置才能区别不同的品种呢?

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:26:04    Post IP:124.239.252.110[显示全部帖子]

序号    品种        交易类型    时间                   数量    交易效率    开仓价格    平仓价格/均价    盈亏%   
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%  

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:28:33    Post IP:124.239.252.110[显示全部帖子]

2017/09/01这个时间两个品种同时开仓,但是这个时间只有玉米触发信号,淀粉没有信号,但是淀粉也执行开仓,后面就全乱了

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:34:06    Post IP:124.239.252.110[显示全部帖子]

我是根据K线图,基本的最高点低点,收盘开盘价等元素,经过一个复杂的运算得出来的信号。
我不知道您说的信号和图表对比,是不是我的这种情况。是和不是,有什么关系?如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:35:32    Post IP:124.239.252.110[显示全部帖子]

代码里,没有特别的定义和设置全局变量。都是D:=C;这样的模式。

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:42:39    Post IP:124.239.252.110[显示全部帖子]

序号    品种        交易类型    时间                   数量    交易效率    开仓价格    平仓价格/均价    盈亏%     盈亏金额   
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开仓。

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 15:45:44    Post IP:124.239.252.110[显示全部帖子]

3次测试的设置的起始时间,公式,都是一样的。都是从2017-07-01开始,2018-08-17结束。

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 16:27:27    Post IP:124.239.252.110[显示全部帖子]

设置的100万,每次只交易1手。资金肯定没问题。我还发现一个现象,就是同样的代码,把执行函数从TBUY换成BUY,然后在策略测试情况下就一切正常。但是刚才我是在后台模式下的精细化历史回测下测试,就刚才的问题。我再研究下代码吧,我的代码不方便发出去。你们有针对后台的单策略多品种的简单范例吗?我可以参考去修改。
[此贴子已经被作者于2018/8/17 16:28:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
巴巴罗
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2017/11/8 19:09:43
  发帖心情 Post By:2018/8/17 21:00:13    Post IP:124.239.252.110[显示全部帖子]

我的意思是,我在后台的精细化历史回测里用TBUY,在公式的策略测试里用BUY,其他代码都一样,但结果不同。

HUP:=(REF(C,0)+REF(O,0))/2>(REF(C,1)+REF(O,1))/2 AND (REF(C,1)+REF(O,1))/2>(REF(C,2)+REF(O,2))/2;
HDO:=(REF(C,0)+REF(O,0))/2<(REF(C,1)+REF(O,1))/2 AND (REF(C,1)+REF(O,1))/2<(REF(C,2)+REF(O,2))/2;
U1:=BARSLAST( HUP);
D1:=BARSLAST( HDO);
U2:=REF(U1,U1+1)+U1+1;
U3:=REF(U1,U2+1)+U2+1;
U4:=REF(U1,U3+1)+U3+1;
U5:=REF(U1,U4+1)+U4+1;
D2:=REF(D1,D1+1)+D1+1;
D3:=REF(D1,D2+1)+D2+1;
D4:=REF(D1,D3+1)+D3+1;
D5:=REF(D1,D4+1)+D4+1;
W5DL:=BARSLAST( U1>D5 AND D1=0);
XK:=VALID(W5DL) AND W5DL=0;

TBUYSHORT(XK,1,MKT);
这是我的代码,已经精简过,但问题还能重现。
品种为淀粉1901 玉米1901.周期2017-07-01到2018-08-01.
执行后,在2017-09-01,两个品种都有开仓操作,但是只有一个是触发信号,另外一个在这个时间没有触发信号,但是也被开仓。监控列表的次序为玉米,淀粉。不要颠倒了,颠倒好像又是其他结果。帮我看一下吧,多谢!
注意,是在后台的精细化历史回测里做测试,不是在公式的策略测试里。
[此贴子已经被作者于2018/8/17 21:01:26编辑过]

 回到顶部
总数 13 1 2 下一页