以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  [原创]止损与动态百分比跟踪止盈模块  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=69442)

--  作者:fantasynew
--  发布时间:2014/8/31 19:46:00
--  [原创]止损与动态百分比跟踪止盈模块

以下内容为程序代码:

1 //计算获利点数
2 KDYL=HHV(H,ENTERBARS)-ENTERPRICE;
3 KKYL=ENTERPRICE-LLV(L,ENTERBARS);
4 //止损
5 IF HOLDING<0 AND (H-ENTERPRICE>40) THEN SELLSHORT(1,0,LIMITR,ENTERPRICE+40);
6 IF HOLDING>0 AND (L-ENTERPRICE<-40) THEN SELL(1,0,LIMITR,ENTERPRICE-40);
7 //动态回撤百分比
8 IF HOLDING<>0 AND Between(ABS(C-ENTERPrice),2,4) THEN P=10; //回撤10%止盈
9 IF HOLDING<>0 AND ABS(C-ENTERPrice)>=4 THEN P=5; //回撤5%止盈
10 //计算跟踪止盈价位,向价格不利方向取0.2整数倍
11 KDZY=FLOOR(KDYL*(1-P/100)*5)/5;
12 KKZY=CEILING(KKYL*(1-P/100)*5)/5;
13 //动态跟踪回撤止盈
14 IF HOLDING<0 AND ENTERBARS>0 AND H>KKZY AND KKYL>0 THEN SELLSHORT(1,0,LIMITR,KKZY);
15 IF HOLDING>0 AND ENTERBARS>0 AND L<KDZY AND KDYL>0 THEN SELL(1,0,LIMITR,KDZY);

通用模块,特别为股指优化,实现精确点位下单。

之前做了止盈止损模块,发现只能用于实盘,无法回测。花了两个小时修改成支持回测的版本。

 

1、止损,模块里默认是40点止损,可以修改小一点,一般行情不会这么背;

2、动态止盈,盈利2个点后启动回撤5%止盈,例如最高盈利3个点,回撤0.15点止盈,针对股指优化,以开仓价加2.8个点平仓。

盈利4个点后启动回撤10%止盈,原理一样,数字可以修改。


--  作者:fantasynew
--  发布时间:2014/8/31 19:50:18
--  

2、动态止盈,盈利2个点后启动回撤10%止盈,例如最高盈利3个点,回撤0.3点止盈,针对股指优化,以开仓价加2.6个点平仓。

盈利4个点后启动回撤5%止盈,原理一样,数字可以修改。

 

一楼写错了,还无法修改帖子


--  作者:fantasynew
--  发布时间:2014/8/31 19:51:19
--  
用于日内不复权测试效果最好。可加滑点,提高测试结果的可信度。
--  作者:自渔自乐
--  发布时间:2014/8/31 20:36:18
--  
太感谢了,一直对动态跟踪不得要领,感谢指引!
--  作者:fantasynew
--  发布时间:2014/9/1 9:01:20
--  

8,9两行还需要修改才能对应回测,之前遗漏了。

实盘不存在问题


--  作者:netfox
--  发布时间:2014/9/3 13:58:30
--  
以下是引用fantasynew在2014/9/1 9:01:20的发言:

8,9两行还需要修改才能对应回测,之前遗漏了。

实盘不存在问题

8行的 P=10 干嘛?


--  作者:fantasynew
--  发布时间:2014/9/3 15:27:45
--  回复:(netfox)以下是引用fantasynew在2014/9/1 9:0...
设置最大获利回撤10%清仓
--  作者:风水财神
--  发布时间:2014/9/9 15:09:34
--  
请问 8,9两行 p的正确写法 谢谢 发帖就发个完整的,我顶你
--  作者:风水财神
--  发布时间:2014/9/9 16:01:18
--  
兄弟 你确定 你的回测没问题吗
--  作者:风水财神
--  发布时间:2014/9/9 16:02:06
--  
为什么 我的测试结果显示 你的代码写反了