龙听期货论坛's Archiver

C
+
+


 微信: QQ:

龙听 发表于 2021-12-18 14:36

【ADX函数】使用方法

ADX
返回证券的平均定向波动指标 (DMI)。语法[p=30, 2, left][color=#800080]ADX[/color](Length)[/p]返回(双精度数)
当前柱状线的正数值。参数[table]
[tr][td]名称[/td][td]类型[/td][td]说明[/td][/tr]
[tr][td]Length [/td][td]数值[/td][td]设置平均定向波动指标计算要考虑的柱状线数量。[/td][/tr]
[/table]备注
[color=#800080]ADX[/color] 尝试独立于方向衡量证券的趋势质量。[color=#800080]ADX[/color] 值越大,则证券趋势越明显。
[url="]DirMovement[/url] 函数计算 DMI 和 ADX 值。
Length 输入参数的值应该始终是一个整数。示例
将 [color=#800080]ADX[/color] 赋予 [color=#800000]Value1[/color],其中 ADX 长度为 14 根柱状线,然后绘制 [color=#800000]Value1[/color]:[p=30, 2, left]Value1 = [color=#800080]ADX[/color](14);[/p][p=30, 2, left][color=#0000ff]Plot1[/color](Value1, "ADX");[/p]

龙听 发表于 2021-12-18 14:38

ADX函数程式码:[code]
inputs:
        Len( numericsimple ) ;                                             
variables:
        var0( 0 ),
        var1( 0 ),
        var2( 0 ),
        var3( 0 ),
        var4( 0 ),
        var5( 0 ) ;

Value1 = DirMovement( H, L, C, Len, var0, var1, var2, var3, var4,
var5 ) ;

ADX = var3 ;
[/code]DirMovement函数程式码:[code]
inputs:
        PriceValueH( numericseries ),
        PriceValueL( numericseries ),
        PriceValueC( numericseries ),
        Len( numericsimple ),                                             
        oDMIPlus( numericref ),
        oDMIMinus( numericref ),
        oDMI( numericref ),
        oADX( numericref ),
        oADXR( numericref ),
        oVolty( numericref ) ;

variables:
        var0( 0 ),
        var1( 0 ),
        var2( 0 ),
        var3( 0 ),
        var4( 0 ),
        var5( 0 ),
        var6( 0 ),
        var7( 0 ),
        var8( 0 ),
        var9( 1 / Len ),                     
        var10( 0 ) ;

if CurrentBar = 1 then
        begin
        for Value1 = 0 to Len - 1
                begin
                var0 = 0 ;
                var1 = 0 ;
                var2 = PriceValueH[Value1] - PriceValueH[ Value1 + 1 ] ;
                var3 = PriceValueL[ Value1 + 1 ] - PriceValueL[Value1] ;
                condition1 = var2 > var3 and var2 > 0 ;
                if condition1 then
                        var0 = var2
                else
                begin
                condition1 = var3 > var2 and var3 > 0 ;
                if condition1 then
                        var1 = var3 ;
                        end;
                var4 = var4 + var0 ;
                var5 = var5 + var1 ;
                var6 = var6 + TrueRangeCustom( PriceValueH, PriceValueL, PriceValueC )[Value1] ;
                end ;
        var7 = var4 / Len ;
        var8 = var5 / Len ;
        oVolty = var6 / Len ;
        end
else
        begin
        var0 = 0 ;
        var1 = 0 ;
        var2 = PriceValueH - PriceValueH[1] ;
        var3 = PriceValueL[1] - PriceValueL ;
        condition1 = var2 > var3 and var2 > 0 ;
        if condition1 then
                var0 = var2
        else
        begin
        condition1 = var3 > var2 and var3 > 0 ;
        if condition1 then
                var1 = var3 ;
                end;
        var7 = var7[1] + var9 * ( var0 - var7[1] ) ;
        var8 = var8[1] + var9 * ( var1 - var8[1] ) ;
        oVolty = oVolty[1] + var9 * ( TrueRangeCustom( PriceValueH, PriceValueL, PriceValueC )
         - oVolty[1] ) ;
        end ;

if oVolty > 0 then
        begin
        oDMIPlus = 100 * var7 / oVolty ;
        oDMIMinus = 100 * var8 / oVolty ;
        end
else
        begin
        oDMIPlus = 0 ;
        oDMIMinus = 0 ;
        end ;

var10 = oDMIPlus + oDMIMinus ;
if var10 > 0 then
        oDMI = 100 * AbsValue( oDMIPlus - oDMIMinus ) / var10
else
        oDMI = 0 ;

condition1 = CurrentBar <= Len and CurrentBar > 0 ;
if condition1 then
        begin
        oADX = Cum( oDMI ) / CurrentBar ;                                                              

        oADXR = ( oADX + oADX[ CurrentBar - 1 ] ) * .5 ;
                                                                                        
        end
else
        begin
        oADX = oADX[1] + var9 * ( oDMI - oADX[1] ) ;
        oADXR = ( oADX + oADX[ Len - 1 ] ) * .5 ;
        end ;

DirMovement = 1 ;
[/code]

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......