DV2 Indicator for Amibroker

Following my post on the DVI system, a reader asked me to post the DV2 indicator code for Amibroker. As the  code is available over at MarketSci in MS Excel sheet, I felt I can share my Amibroker translation.

So here it is (the bounded version):

function DV2(Length)
{
   d1= ( C  /  ((H+L)/2) ) - 1;
   dv=Sum(d1,2)/2;
   xDV2=percentrank(dv,Length);
   return xDV2;
}

Have fun with it!

QD

7 thoughts on “DV2 Indicator for Amibroker

  1. Hi,

    Thanks for sharing! I enjoy your blog.

    The DV2 function can be even simpler:

    function DV2(Length) {
    return PercentRank(MA(C/Avg,2),Length);
    }

    I get identical results with both.

    Mark

  2. I have quickly whipped up EasyLanguage (TradeStation/MultiCharts) code for DV2. Let me know if there are any errors. Also wondering what default value do you guys use for ‘Length’. Appreciate your feedback.

    inputs:
    Length(0) ;

    variables: var1(0), var2(0), var3(0), var4(0);

    var1 = Close / ((High + Low) / 2);
    var2 = Close[1] / ((High[1] + Low[1]) / 2);
    var3 = (var1 + var2) / 2;
    var4 = _PercentRankFast(var3, var3, Length);

    plot1(var4, “DV2 bounded”);

    Where _PercentRankFast = the following function below:

    inputs:
    ValueToRank(numericsimple),
    DataSet(numericseries),
    Length(numericsimple);
    variables:
    R(0),
    X(0);

    R = 0;
    for X = 1 to Length begin
    if DataSet[X-1] <= ValueToRank then
    R = R + 1;
    end;

    _PercentRankFast = R / ( Length – 1 ) ;

    • Duh! Just answered my own question. The Length = 252.

      But please do let me know if there are any errors in my code. Thx u.

  3. As per the post showing how the DV(2) is calculated at http://marketsci.wordpress.com/2009/07/15/varadi%E2%80%99s-rsi2-alternative-the-dv2/ the bounded and unbounded DVs are separate entities so need to be calculated using different formulae,

    Here’s the Amibroker code for unbounded:

    function DVu(period){ // Unbounded
    return MA(((C / Avg) – 1) * 100, period); // default period is 2
    }

    …and bounded

    function DVb(period){ // Bounded
    return PercentRank(((C / Avg) – 1), period); // default period is 252
    }

  4. DVI and DV2 are the same?if not then please give full amibroker code for DV2.It does not plot the DV2.

Leave a Reply to The Quanting Dutchman Cancel reply