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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → STOPR指令测试中的BUG

   

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


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

主题:STOPR指令测试中的BUG

帅哥哟,离线,有人找我吗?
金字塔粉丝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:170 积分:0 威望:0 精华:0 注册:2013/6/23 19:55:59
STOPR指令测试中的BUG  发帖心情 Post By:2013/7/1 13:24:09 [只看该作者]

我在指标中采用5个点的固定止损来测试IF。但发现:


1、 止损价格是对的,都是在开仓价格上下5个点。但止损的位置不对,所有的止损都是在K线的实体阳线(或阴线)中发生的,从来不会在上下影线中这样测试偏差会很大,具体可以看图。


2、止损指令是
sell(c-enterprice<=-5,0,stopr,enterprice-5);

sellshort(c-enterprice>=5,0,stopr,enterprice+5);
如下是图:

 


图片点击可在新窗口打开查看此主题相关图片如下:stopr 测试bug.png
图片点击可在新窗口打开查看

从测试图中可以看到,开仓的位置在2216附近,平仓应该在2221。从平仓的位置可以看到,平仓的K线前的两个K线都已经触及了止损位(最高价都在2223附近)。但因为收盘价低于2221(我推测),都没有平仓。一直到了第三个K线才平仓。

 

我们知道,如果平仓位置不对,将影响后续的开仓点位,请重视。

 

如果不是BUG,也请说明这么设计的原因,因为这必然造成实盘和测试结果有较大偏差。


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/7/1 13:43:25 [只看该作者]

 

金字塔对于所有的可交易品种,均支持4种交易指令,即限价、市价、停损、限价停损。但是这几种交易指令是通过不同方式完成工作的,限价指令是所有平台都支持的,对于市价和停损单,下面几种交易平台执行情况如下:

1.CTP综合交易平台

A市价单

上期所不支持市价,大连/郑州/中金3个交易所均支持市价指令。

上期所的品种下市价单,金字塔是采用加N个变动价位实现,默认是3个,用户可在交易设置中更改。

大连/郑州/中金的品种下市价单,交易所的市价单。

B停损单

大连交易所支持停损指令,上期所/郑州/中金3个交易所均不支持停损指令。

大连交易所的品种下停损单,交易所的停损单。

上期所/郑州/中金的品种下停损单,金字塔采用内部监控模式,最新价触及停损价位后立即按照市价发出委托单。

C限价停损指令

金字塔CTP平台不支持限价停损指令,用户使用限价停损指令发出为委托单时,实际会按照停损指令发出。

 

2.金仕达交易平台

A市价单

///中金下市价单,金字塔是采用加N个变动价位实现,默认是3个,用户可在交易设置中更改。

B停损单/限价停损

///中金下停损单/限价停损,金字塔采用内部监控模式,最新价触及停损价位后立即按照市价发出委托单。

 

3.IB(美国赢透)交易平台 这个平台支持所有限价、市价、停损、限价停损这个4个指令。在IB平台发出停损指令后会将指令单发送到IB的交易服务器上保存,等待触发。



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/7/1 13:46:34 [只看该作者]

代码里用的是c-enterprice>=5做为判断的

c在测评中就是收盘价.

 

平仓的K线前的两个K线(最高价都在2223附近)。---------而非收盘价满足条件,故不会有平仓信号



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:170 积分:0 威望:0 精华:0 注册:2013/6/23 19:55:59
  发帖心情 Post By:2013/7/1 13:58:57 [只看该作者]

感谢二位老大答复

有两点

1、实盘用后台的STP指令,这个是允许的吧?

2、图表测试中用stopr是为了验证盘中止损的效果。

 

我知道STP在实盘中是实时触发的,但如果测试中Stopr会因为收盘价是否触发止损价而改变平仓位置,必然会造成测试和实盘的偏差。其实测试的时候,系统每次开仓都有开仓价,也能自动算出止损价,如果止损价在某根K线的最高价和最低价之内,就应该标记为止损平仓。

是否有解决方案?我的目的就是验证盘中止损的效果,尽可能的接近实盘。谢谢

 

不知道我的表述是否清楚

[此贴子已经被作者于2013/7/1 13:59:42编辑过]

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/7/1 14:07:41 [只看该作者]

止损价在某根K线的最高价和最低价之内,就应该标记为止损平仓

 

那就用

sell(low-enterprice<=-5,0,stopr,enterprice-5);

sellshort(high-enterprice>=5,0,stopr,enterprice+5);



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部