李津大局观:Vitali Apirine的创新布林线波段指标与纳斯达克策略回测

发布于: 雪球转发:0回复:0喜欢:0

与普通指标相比,波段的优势在于它们在图表上看起来更加丰富多彩。它们提供更多线条来触发交易信号。这样一来,波段就完胜任何旧的单线指标。Vitali Apirine也注意到了这一点,他在 2021 年 8 月的《股票与商品》杂志上发明了一种新型波段。

Vitali 的移动平均线类似于布林线,但没有标准差。而是使用两个指数移动平均线的差值。C++源代码如下:

var MAB(int Period1,int Period2,var Mltp)
{
var MA1 = EMA(seriesC(),Period1);
var MA2 = EMA(seriesC(),Period2);
var Dst = MA1-MA2;
var Dv = SMA(series(Dst*Dst),Period2);
var Dev = sqrt(Dv)*Mltp;
rRealMiddleBand = MA1;
rRealUpperBand = MA1+Dev;
rRealLowerBand = MA1-Dev;
return MA2;
}

rRealMiddleBandrRealUpperBandrRealLowerBand

3 个变量是用于波段指标的预定义 Zorro 变量。以下是重现作者的纳斯达克图表的代码:

function run()
{
StartDate = 20111201;
EndDate = 20130815;
BarPeriod = 1440;
LookBack = 300;
asset("NAS100");
var Signal = MAB(200,50,1);
plot("MA2",Signal,LINE,BLUE);
plot("MAB1",rRealUpperBand,BAND1,RED);
plot("MAB2",rRealLowerBand,BAND2,RED|TRANSP);
}

此代码生成下图,其中包含纳斯达克价格曲线,以及慢速和快速 MA 及偏差乘数的参数 (200,50,1):

蓝线是快速移动平均线。作者建议将此线与上轨和下轨的交叉点用作买入和卖出信号。为了进行测试,我们将回测期增加到 10 年,并添加以下代码:

vars Signals = series(Signal);
MaxLong = MaxShort = 1;
if(crossOver(Signals,rRealUpperBand))
enterLong();
if(crossUnder(Signals,rRealUpperBand))
exitLong();
if(crossUnder(Signals,rRealLowerBand))
enterShort();
if(crossOver(Signals,rRealLowerBand))
exitShort();

该系统确实有利可图——某种程度上。它使用作者的 MAB 参数,根据 2011 年至 2021 年之间的 14 个纳斯达克交易信号生成下面的股权曲线:

正如作者不厌其烦地提到的,当你真的想交易时,你需要在图表上添加更多的指标。

作者建议使用波段宽度作为寻找趋势变化或盘整的附加指标,并将其 200 天低点作为另一个附加指标。以下代码绘制了最后一个缓慢周期内的宽度和低点:

var Bndw = 100*(rRealUpperBand-rRealLowerBand)/rRealMiddleBand;
plot("Width",Bndw,NEW|LINE,RED);
plot("Low",MinVal(series(Bndw),200),LINE,BLACK);

结果图表在主图表下方的附加窗口中显示了带宽(红色)和200日低点(黑色):

通达信转录源代码:

LIJIN1:=EMA(C,200);LIJIN2:EMA(C,50);LIJIN3:=LIJIN1-LIJIN2;LIJIN4:=MA(LIJIN3*LIJIN3,50);LIJIN5:=SQRT(LIJIN4)*1;DRAWBAND(LIJIN1+LIJIN5,RGB(150,0,0),LIJIN1-LIJIN5,RGB(20,40,40));LIJIN1+LIJIN5,COLORGRAY;LIJIN1-LIJIN5,COLORGRAY;NOTEXTA3:LIJIN2,COLORGREEN,LINETHICK2;{COLOR3C3C4C}NOTEXTA3K:IF(C>LIJIN2,LIJIN2,DRAWNULL),COLORRED,LINETHICK3;{COLOR3C3C2C}DRAWKLINE(HIGH,OPEN,LOW,CLOSE);

附图转录源代码:

LIJIN1:=EMA(C,200);LIJIN2:=EMA(C,50);LIJIN3:=LIJIN1-LIJIN2;LIJIN4:=MA(LIJIN3*LIJIN3,50);LIJIN5:SQRT(LIJIN4)*1;LLV(LIJIN5,200);

更多精彩内容

更多精彩内容,请看星主倾囊相授多年心得秘笈,汲取百家精华,洞悉经济趋势,精准全球资产VT配置。