股资源-股票学习站-学炒股-股票课程-炒股教程-分析选股指标-入门基础知识

 找回密码
 注册昵称

QQ登录

只需一步,快速开始

搜索
上一主题 下一主题

[大智慧] 自适应动态突破系统 DBOⅡ(交易系统 简介 源码 图(系统评价))


    [-----复制链接-----]
楼主
 通达信源码安装路径:1,工具栏点击公式选项。2,弹出公式窗口点击新建。3,把源码复制到指标编辑器保存。4,回到K线图界面安装建立好的公式 || 2024-3-19 10:01:50
自适应动态突破系统 DBOⅡ(交易系统 简介 源码 图(系统评价))介绍

自适应动态突破系统 DBOⅡ(交易系统 简介 源码 图(系统评价))

自适应动态突破系统(Dynamic Break Out Ⅱ,DBOⅡ)DZH版


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;





gd19608

回复

举报

QQ|

GMT+8, 2024-11-17 13:54

快速回复 返回顶部 返回列表