中级突破策略-防止假突破
之前介绍了几个突破策略,实际上使用时会有些困恼,突破点的设定是个难题,定太高很难进场,无法提前抓到趋势,定太低则太早进场,在盘整时不断停损,另外有不时出现的假突破(突然ㄧ根大K棒,然后又拉回),这些原因常造成突破策略的绩效不好,因此,这次就来介绍个突破策略的加强版,目的是让突破的条件再严一点,可用来防止假突破
策略原理:
此策略是价格突破上下轨的同时,同时满足6条均线的价格也要超过上下轨才会开仓,可以防止假的突破开仓,减少亏损次数。策略比较适合商品是单边行情。
测试商品rb,周期为5 min。
源码如下:
Input:Btime(0930),Etime(1445);
//定义时间段。
var:Thigh(0),Tlow(0), mp(0),x(0),y(0),m(6),ma(0),flag1(0),flag2(0);
//定义变量
if datedate[1] then begin
mp=0;
x=0;
y=0;
Thigh=0;
Tlow=0;
flag1=0;
flag2=0;
end;
//每天给变量重新赋值。
if time=Btime then begin
Thigh=highD(0);
Tlow=lowD(0);
end;
//给高点跟低点赋值,以开盘前6个bar的最高为高点,最低为低点。
value1=tl_new(date,900,thigh,date,1500,thigh);
value2=tl_new(date,900,tlow,date,1500,tlow);
//绘图上下轨。
ma=Average(close,m);
//均线价格。修改m值即可调整用来过滤的均线。
mp=marketposition;
//持仓多空定义。
if mp[1]1 and mp=1 then begin
x=1;
end;
if mp[1]-1 and mp=-1 then begin
y=1;
end;
//用来控制每天多空的进场次数。
if time>Btime and time=thigh then
buy ("b1")next bar at Thigh+1 stop;
end;
//当价格上穿后且均线也上穿上轨此时做多。
if mp-1 then sell("sp") next bar at tlow stop;
//做多后以下轨的价格做出场点位。防止反向亏损。
if time>Btime and time1 then buytocover("bp") next bar at thigh stop;
//做空后以上轨的价格做出场点位,防止反向亏损。
if time>=1450 and mp-1 then sell("sppcs") next bar at market;
if time>=1450 and mp1 then buytocover("sppcb") next bar at market;
//收盘前平仓语句。
策略加载图表案例展示:
程序化交易, MultiCharts
风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!