Yang-Zhang volatility estimator

If you need an Indicator or Signal developed or translated from other language, please post all Indicator development REQUESTS to this section here.

Moderator: admin

Yang-Zhang volatility estimator

Postby isamegrelo » Mon Jul 23, 2018 6:31 am

Code:

//parameters
// n = 20
// averageP = 200

No = log( open ) - log( close[1] ) // normalized open
Nu = log( high ) - log( open ) // normalized high
Nd = log( low ) - log( open ) // normalized low
Nc = log( close ) - log( open ) // normalized close

Vrs = 1 / n * Summation[n]( Nu * ( Nu - Nc ) + Nd * ( Nd - Nc )) // RS volatility estimator

Noavg = 1 / n * Summation[n](No)
Vo = 1 / ( n - 1 ) * Summation[n]( SQUARE( No - Noavg ) )

Ncavg = 1 / n * Summation[n]( Nc )
Vc = 1 / ( n - 1 ) * Summation[n]( SQUARE( Nc - Ncavg ) )

k = 0.34 / ( 1.34 + ( n + 1 ) / ( n - 1 ) )

Vyangzhang = Vo + k * Vc + ( 1 - k ) * Vrs

avg = average[averageP](Vyangzhang)

return Vyangzhang, avg as "average volatiliy"
isamegrelo
FXCodeBase: Initiate
 
Posts: 114
Joined: Mon May 29, 2017 3:36 pm



Return to Indicator and Signal Requests

Who is online

Users browsing this forum: Majestic-12 [Bot] and 34 guests