公式简介: 今天尝试了无数次下载,终于为大家找到了这一款老鸭头战法指标改写的模型,运行开拓者TB评台,初步测试觉得该模型还算是一个正期望值的系统,专用于日内的波段操作。现在就将这款老鸭头战法公式送给大家,大家可以下载或复制源码,对更多的商品或IF短周期进行测试,下图是对镍指数的加载。
老鸭头战法模型
图上这部分数据大约为一周的行情,完成了三笔交易,都是盈利交易。不过今天在过经测试时发现该策略的实际回撤有点大,因此该策略如果要实站还需修改,或联系西部汇市客服,使用已在实站的成熟型策略... Params
Numeric notbef(9.00);
Numeric notaft(14.55);
Numeric f1(0.01);
Numeric f2(1);
Numeric f3(0.01);
Numeric reverse(1.00);
Numeric rangemin(0.1);
Numeric xdiv(3);
Numeric offset(5);
Vars
NumericSeries ssetup(0);
NumericSeries bsetup(0);
NumericSeries senter(0);
NumericSeries benter(0);
NumericSeries bbreak(0);
NumericSeries sbreak(0);
NumericSeries ltoday(0);
NumericSeries hitoday(9999);
NumericSeries startnow(0);
NumericSeries div(0);
BoolSeries rfilter(false);
Numeric i_reverse;
Numeric i_rangemin;
Numeric i_vB;
Numeric i_vS;
Numeric i_offset;
Numeric offset2;
Begin
If(BarStatus==2 && Time==0.090000 && high==low ) return;
i_offset = offset*MinMove*PriceScale;
i_reverse = reverse*(OpenD(0)/100);
i_rangemin = rangemin*(OpenD(0)/100);
if(BarStatus==0)
{ startnow=0;
div=max(xdiv,1);}
if(Date != Date[1])
{ SetGlobalVar(0,0);// 将第1个全局变量设置为0,将第2个全局变量设置为0
SetGlobalVar(1,0);
startnow=startnow+1;
ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
bbreak=ssetup+f3*(ssetup-bsetup);
sbreak=bsetup-f3*(ssetup-bsetup);
hitoday=High;
ltoday=Low;
rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;}
if(High>hitoday)
{ hitoday=High;}
if(Low<ltoday)
{ ltoday=Low;}
if(Time*100>notbef and Time*100<notaft and startnow>=2 and rfilter)//当前公式应用商品在当前Bar的时间乘以100》=9点或者小于14.55分
{ if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
{
SetGlobalVar(1,10000);
}
if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
{If(Low<=(senter+(hitoday-ssetup)/div))
{ SellShort(1,senter+(hitoday-ssetup)/div+i_offset);
SetGlobalVar(1,Time);
Return;}}
if(ltoday<=bsetup and marketposition<1 and GetGlobalVar(1)<1)
{ If(High>=(benter-(bsetup-ltoday)/div))
{ Buy(1,benter-(bsetup-ltoday)/div-i_offset);
SetGlobalVar(1,Time);
Return; }}
if(marketposition==-1)
{ SetGlobalVar(0,1);
if(High-EntryPrice>=i_reverse)
{ BuyToCover(1,entryprice);
Return;}}
if(marketposition==1)
{ SetGlobalVar(0,1);
if(EntryPrice-Low>=i_reverse)
{ Sell(1,entryprice);
Return;}}
if(marketposition==0)
{ if(High>=bbreak and GetGlobalVar(0) == 0)
{ Buy(1,bbreak-i_offset);
Return; }}
if(marketposition==0)
{ if(low<=sbreak and GetGlobalVar(0) == 0)
{SellShort(1,sbreak+i_offset);
Return; } }}
if(Time*100>=notaft and Time<0.1600)
{ if(marketposition==-1)
{ BuyToCover(1,Open); }
if(marketposition==1)
{ Sell(1,Open);}}
End
|
