大智慧自适应动态突破系统 DBOⅡ源码 交易系统 简介
-
相关简介:大智慧自适应动态突破系统 DBOⅡ源码 交易系统 简介 DBOⅡ简介: Dynamic Break Out Ⅱ,简写DBOⅡ,意为:自适应动态突破系统。所谓的适应性系统的观念,是指这种系统的参数,会依据市场目前的状况而自行调整。 如何让参数的值会依据市场状况的变动而自行调整呢?ADX也可以是一种方式。这种指标可以指出目前市场是属于趋势市场或者是振荡市场。而在这个系统里,用的则是市场的波动度来做为衡量的标准。 在振荡市场里,市场的波动会随着变大,所以应该增加LookBackDays参数的值,这样不
-
文章来源:股海网作者:股海网发布时间:2012-04-26浏览次数:
大智慧自适应动态突破系统 DBOⅡ源码 交易系统 简介
DBOⅡ简介:
Dynamic Break Out Ⅱ,简写DBOⅡ,意为:自适应动态突破系统。所谓的适应性系统的观念,是指这种系统的参数,会依据市场目前的状况而自行调整。
如何让参数的值会依据市场状况的变动而自行调整呢?ADX也可以是一种方式。这种指标可以指出目前市场是属于趋势市场或者是振荡市场。而在这个系统里,用的则是市场的波动度来做为衡量的标准。
在振荡市场里,市场的波动会随着变大,所以应该增加LookBackDays参数的值,这样不容易产生进反复的出场讯号。
在趋势市场里,市场的走势趋向明确,而波动度会随着变小,因此应该要减少参数的值,让行情一发动的时候就可以进场,也让出场的点位追踪的比较紧密。
那么,我们如何界定市场的波动度?一开始的时候,这个系统会以20天的价格突破来做为基准,之后每天收盘的时候,去计算最近30天收盘价的标准差,然后用这30天收盘价的标准差来定义市场的波动度。我们也可以用ATR来代替标准差。然后每天来比较市场波动度的增减,如果市场波动度变大10%,那么也就把lookbackdays参数值增加10%。而如果市场波动度减少10%,那么也就跟着把lookbackdays参数值减少10%。
这个系统的程序代码见附件。
{DBOII交易系统(多头版) }
VARIABLE:ceilingAmt=60,floorAmt=20,bolBandTrig=2;
VARIABLE:lookBackDays=20;
VARIABLE:EntAndExitSign=0,SellSign=0,BuySign=1;
VARIABLE:True=1,False=0;
IF BARPOS>=60 THEN BEGIN
todayV:=STD(Close,30);
yesterDayV:=STD(ref(close,1),30);
deltaV:=(todayV-yesterDayV)/todayV;
lookBackDays:=lookBackDays*(1+deltaV);
lookBackDays:=INTPART(lookBackDays);
lookBackDays:=Min(lookBackDays,ceilingAmt);
lookBackDays:=max(lookBackDays,floorAmt);
MID:=MA(CLOSE,lookBackDays);
upBand:=MID + bolBandTrig*STD(CLOSE,lookBackDays);
dnBand:=MID - bolBandTrig*STD(CLOSE,lookBackDays);
buyPoint:=HHV(HIGH,lookBackDays);
longLiqPoint:=MID;
EntPoint:=ENTERBARS;
IF EntPoint=EntAndExitSign THEN BEGIN
BuySign:=FALSE;
SellSign:=True;
END
ExitPoint:=EXITBARS;
IF ExitPoint=EntAndExitSign THEN BEGIN
BuySign:=TRUE;
SellSign:=False;
END
IF BuySign=TRUE THEN BEGIN
IF Close>upBand THEN BUY(100%,STOP,buyPoint);
END
IF SELLSIGN=TRUE THEN sell(100%,STOP,longLiqPoint);
END;