人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內容

請問TB的DMI算法與其他軟件DMI算法區別在哪里? [開拓者 TB]

  • 咨詢內容: http://bbs.tb18.net/forum.php?mo ... 7&highlight=dmi
    這個頁面下版主寫了個DMI代碼。應該是移植于TS的?
    1. Params
    2.             Numeric Length(14);
    3.             NumericRef oDMIPlus;
    4.             NumericRef oDMIMinus;
    5.             NumericRef oDMI;
    6.             NumericRef oADX;
    7.             NumericRef oADXR;
    8.             NumericRef oVolty;
    9.     Vars
    10.             NumericSeries sDMI;
    11.             NumericSeries sADX;
    12.             Numeric sADX0;                       
    13.             NumericSeries sVolty;
    14.             Numeric PlusDM;
    15.             Numeric MinusDM;
    16.             Numeric UpperMove;
    17.             Numeric LowerMove;
    18.             Numeric SumPlusDM(0);
    19.             Numeric SumMinusDM(0);
    20.             Numeric SumTR(0);
    21.             NumericSeries AvgPlusDM;
    22.             NumericSeries AvgMinusDM;
    23.             Numeric SF;                        // smoothing factor
    24.             Numeric Divisor;
    25.             Numeric i;
    26.             NumericSeries TRValue;
    27.     Begin
    28.             SF = 1/length;
    29.             TRValue = TrueRange;
    30.             If(CurrentBar == Length)
    31.             {
    32.                     for i = 0 To Length - 1
    33.                     {
    34.                             PlusDM = 0 ;
    35.                             MinusDM = 0 ;
    36.                             UpperMove = High[i] - High[ i + 1 ] ;
    37.                             LowerMove = Low[ i + 1 ] - Low[i] ;
    38.                             if (UpperMove > LowerMove and UpperMove > 0 )
    39.                             {
    40.                                     PlusDM = UpperMove;
    41.                             }else if (LowerMove > UpperMove and LowerMove > 0)
    42.                             {
    43.                                     MinusDM = LowerMove ;
    44.                             }
    45.                             SumPlusDM = SumPlusDM + PlusDM ;
    46.                             SumMinusDM = SumMinusDM + MinusDM ;
    47.                             SumTR = SumTR + TRValue[i] ;
    48.                     }
    49.                     AvgPlusDM = SumPlusDM / Length ;
    50.                     AvgMinusDM = SumMinusDM / Length ;
    51.                     sVolty = SumTR / Length ;
    52.             }Else if(CurrentBar > Length)
    53.             {
    54.                     PlusDM = 0 ;
    55.                     MinusDM = 0 ;
    56.                     UpperMove = High - High[1] ;
    57.                     LowerMove = Low[1] - Low ;
    58.                     if (UpperMove > LowerMove and UpperMove > 0 )
    59.                     {
    60.                             PlusDM = UpperMove;
    61.                     }else if (LowerMove > UpperMove and LowerMove > 0 )
    62.                     {
    63.                             MinusDM = LowerMove ;
    64.                     }
    65.                     AvgPlusDM = AvgPlusDM[1] + SF * ( PlusDM - AvgPlusDM[1] ) ;
    66.                     AvgMinusDM = AvgMinusDM[1] + SF * ( MinusDM - AvgMinusDM[1] ) ;
    67.                     sVolty = sVolty[1] + SF * ( TRValue  - sVolty[1] ) ;
    68.             }Else
    69.             {
    70.                     oDMIPlus = InvalidNumeric;
    71.                     oDMIMinus = InvalidNumeric;
    72.                     oDMI = InvalidNumeric;
    73.                     oADX = InvalidNumeric;
    74.                     oADXR = InvalidNumeric;
    75.                     oVolty = InvalidNumeric;
    76.                     Return True;
    77.             }
    78.            
    79.             if (sVolty > 0)
    80.             {
    81.                     oDMIPlus = 100 * AvgPlusDM / sVolty ;
    82.                     oDMIMinus = 100 * AvgMinusDM / sVolty ;
    83.             }else
    84.             {
    85.                     oDMIPlus = 0 ;
    86.                     oDMIMinus = 0 ;
    87.             }

    88.             Divisor = oDMIPlus + oDMIMinus ;
    89.             if (Divisor > 0)
    90.             {
    91.                     sDMI = 100 * Abs( oDMIPlus - oDMIMinus ) / Divisor;
    92.             }else
    93.             {
    94.                     sDMI = 0 ;
    95.             }
    96.                             sADX0 = Cum( sDMI ) / CurrentBar ;
    97.             if(CurrentBar > 0)
    98.             {
    99.                     if (CurrentBar <= Length)
    100.                     {
    101.                             sADX = sADX0 ;
    102.                             oADXR = ( sADX + sADX[ CurrentBar - 1 ] ) * 0.5 ;
    103.                     }else  
    104.                     {
    105.                             sADX = sADX[1] + SF * ( sDMI - sADX[1] ) ;
    106.                             oADXR = ( sADX + sADX[ Length - 1 ] ) * 0.5 ;
    107.                     }
    108.             }
    109.             oVolty = sVolty;
    110.             oDMI = sDMI;
    111.             oADX = sADX;
    112.             Return True;

     

  • TB技術人員: 頂起,請管理員回答!

     

  • TB客服: 我們提供的代碼移植于TS,至于文華移植的代碼就不知道算法是什么樣的了

     

  • 網友回復:
    nopain 發表于 2013-7-25 14:36
    我們提供的代碼移植于TS,至于文華移植的代碼就不知道算法是什么樣的了

    Params
            Numeric N(22);
            Numeric M(6);
                    Numeric k_ADXRUp(70);
                    Numeric k_ADXRDown(30);
                   
    Vars
            numericseries TR;
            numericseries HD;
            numericseries LD;
            numericseries DMP;
            numericseries DMM;
            numericseries PDI;
            numericseries MDI;        
            NumericSeries ADX;                                
            NumericSeries ADXR;        
    Begin
            //計算ADX公式
            TR = AvgTrueRange(N);
            HD = HIGH-HIGH[1];
            LD = LOW[1]-LOW;
            DMP = XAverage(IIF(HD>0&&HD>LD,HD,0),N);
            DMM = XAverage(IIF(LD>0&&LD>HD,LD,0),N);
            PDI = DMP*100/TR;
            MDI = DMM*100/TR;
            ADX = ABS(MDI-PDI)/(MDI+PDI)*100;
            ADXR = Average(ADX,M);
            
            PlotNumeric("PDI",PDI);
            PlotNumeric("MDI",MDI);
            PlotNumeric("ADX", adx);
                    PlotNumeric("ADXR",ADXR);
    End
    文華的代碼就是這么短一段

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 伊人网站视频 | 波多野结衣在线资源 | 在线丝袜视频 | 特黄特级毛片免费视 | 国产野外 | 国产一级特黄a大片免费 | 欧美激情一区二区三区在线 | 亚洲aaa视频 | ts人妖另类国产 | 色天使久久综合给合久久97色 | 在线播放中文字幕 | 国产一区二区三区欧美 | 搞黄网站在线观看 | 亚洲欧美不卡中文字幕 | 欧美日韩你懂的 | 拔擦拔擦8x华人免费久久 | 99r8这是只有精品视频9 | 91精品国产免费久久久久久青草 | 日韩精品一区二区三区中文精品 | 澳门毛片免费播放 | 国产极品在线观看视频 | 黄色日韩 | 国产午夜精品理论片久久影视 | 一级做a爱片特黄在线观看yy | 日韩免费一区二区三区 | 日日躁夜夜躁狠狠天天 | 黄色毛片免费看 | 欧美成人精品久久精品 | 亚洲一区浅井舞香在线播放 | 日本三级视频在线播放 | 2020国产欧洲精品视频 | 亚洲激情视频网站 | 日本a级片网站 | 欧美亚洲另类在线 | 一级一级一级毛片免费毛片 | 老司机精品久久 | 成人国产欧美精品一区二区 | 国产第一浮力影院新路线 | 黄色日韩 | 黄网站视频 | 在线黄色毛片 |