以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  设置了止损前提下,亏损额度还是很大。  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=153070)

--  作者:qq代人发帖
--  发布时间:2017/5/16 16:42:32
--  设置了止损前提下,亏损额度还是很大。

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

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
如上图所示。
--  作者:shq
--  发布时间:2017/5/16 16:46:42
--  
回测中最终的成交价格只有开高低收,就是说,亏损幅度也是根据开高低收的开仓与平仓来计算的。

举例说明:大阴线的回测情况下,是触发了止损的20点,但是最终的成交价是大阴线的收盘价,而不是触发20点时的即时价格。这是策略在历史回测的限制。
[此贴子已经被作者于2017/5/16 16:46:54编辑过]

--  作者:南宁老农民
--  发布时间:2017/5/16 16:57:08
--  
那请问这个写法有没有逻辑上的问题。另外如果不采用下周期开盘平开仓的办法。轮询情况下能不能设置成触发价止损。能不能请教怎么写
--  作者:shq
--  发布时间:2017/5/16 17:11:48
--  
写法没问题,只是回测时,其结果跟自己的预期不一致,如上所述。

轮询且触发价止损的话,需要用到逐笔精细回测功能,这个属于后台程序化交易回测,需要专业版及以上方可支持。
[此贴子已经被作者于2017/5/16 17:12:23编辑过]

--  作者:qwer123
--  发布时间:2017/5/17 3:14:19
--  
你的测试程序写的不对,一般测试程序和交易程序是不一样的,测试程序不应该出现market这样的控制符,这样会导致买卖的定位不准;
测试时应该写成:
if holding>0 and enterprice-l>=20 then sell(1,手数,limitr,min(o,enterprice-20));
作为止损,一般要用轮训,这样才会起到你想要的止损结果;如果K线走完,你上面的写法没有问题,但如果出现大K线,你的止损就达不到目的。
[此贴子已经被作者于2017/5/17 3:14:44编辑过]

--  作者:qwer123
--  发布时间:2017/5/17 7:19:18
--  
还有,如果出现跳空,那么亏损幅度可能也比较大,这个按时间查一下就可以找到。