以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 -- 为什么 我的测试结果显示 你的代码写反了 |