Nicolas

RSI Laguerre self adjusting gamma with Fractals Energy

Category: Indicators By: Nicolas Created: March 26, 2017, 10:18 AM
March 26, 2017, 10:18 AM
Indicators
12 Comments
RSI Laguerre self adjusting gamma with Fractals Energy

The Laguerre RSI technical indicator is a trend indicator based on a Laguerre filter.

The Laguerre indicator plots the weighted price trend line in a different window in the price graph window.

The Laguerre RSI indicator plots the weighted RSI indicator value filtered with a Laguerre filter. The gamma sensibility of the Laguerre filter is self adjusted with the “fractals energy” as the original author describes it.
This “energy” is the curve of yellow color, while the Laguerre RSI adjusted with this energy is the blue one.

Indicator translated from TOS code, requested on English forum.

//PRC_LaguerreRSI Fractals Energy | indicator
//23.03.2017
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//translated from original code from TOS (author:Mobius)

// --- settings
//nFE=13 //length for Fractal Energy calculation
// --- end of settings

// Calculations
if barindex>nFE then
 o = (open + close[1]) / 2
 hh = Max(high, close[1])
 ll = Min(low, close[1])
 c = (o + hh + ll + close) / 4
 gamma = Log(Summation[nFE](Max(high, close[1]) - Min(low, close[1])) / (Highest[nFE](high) - Lowest[nFE](low)))/ Log(nFE)

 L0 = (1 - gamma) * c + gamma * L0[1]
 L1 = -gamma * L0 + L0[1] + gamma * L1[1]
 L2 = -gamma * L1 + L1[1] + gamma * L2[1]
 L3 = -gamma * L2 + L2[1] + gamma * L3[1]
 if L0 >= L1 then
  CU1 = L0 - L1
  CD1 = 0
 else
  CD1 = L1 - L0
  CU1 = 0
 endif

 if L1 >= L2 then
  CU2 = CU1 + L1 - L2
  CD2 = CD1
 else
  CD2 = CD1 + L2 - L1
  CU2 = CU1
 endif

 if L2 >= L3 then
  CU = CU2 + L2 - L3
  CD = CD2
 else
  CU = CU2
  CD = CD2 + L3 - L2
 endif
 
 if CU + CD <> 0 then
  lagRSI = CU / (CU + CD)
 else
  lagRSI=0
 endif
endif

RETURN gamma coloured(200,200,0) as "gamma", lagRSI coloured(0,128,255) style(line,2) as "Laguerre RSI self adjusting", 0.2 style(dottedline,1) as "oversold level", 0.8 style(dottedline,1) as "overbought level"

 

Download
Filename: PRC_LaguerreRSI-FractalsEnergy.itf
Downloads: 572
Nicolas
Nicolas Legend
I created ProRealCode because I believe in the power of shared knowledge. I spend my time coding new tools and helping members solve complex problems. If you are stuck on a code or need a fresh perspective on a strategy, I am always willing to help. Welcome to the community!
Author’s Profile

Comments

Bruno Carnazzi
5 years ago
#

C'est dommage, cette histoire d'énergie fractale bousille complètement la précision de l'indicateur original : if barindex > 0 then L0 = (1 - gamma) * close + gamma * L0[1] L1 = -gamma * L0 + L0[1] + gamma * L1[1] L2 = -gamma * L1 + L1[1] + gamma * L2[1] L3 = -gamma * L2 + L2[1] + gamma * L3[1] if L0 >= L1 then CU1 = L0 - L1 CD1 = 0 else CD1 = L1 - L0 CU1 = 0 endif if L1 >= L2 then CU2 = CU1 + L1 - L2 CD2 = CD1 else CD2 = CD1 + L2 - L1 CU2 = CU1 endif if L2 >= L3 then CU = CU2 + L2 - L3 CD = CD2 else CU = CU2 CD = CD2 + L3 - L2 endif if CU + CD 0 then lagRSI = CU / (CU + CD) else lagRSI = 0 endif endif RETURN lagRSI as "LR"

owes29
9 years ago
#

Hi

is there anyway to develop this for the pro scanner on daily or hourly scans. so it would create an alert just before the signals are met.

kind regards

Lee

Nicolas
9 years ago
#

Of course, please add a query in the proscreener forum.

owes29
9 years ago
#

Do a Youtube search for "Revolutionary Indicators Reveal Tops & Bottoms" it explains a very similar indicator, I'm not sure if I am allowed to post videos to the forum

#

How can I trade with this "Yellow Energy"?

triss1965@gmail.com
9 years ago
#

Hi Nicolas, why cant the codes copy and past in to prorealttime. I want to try, but I have no time to write the updates that done by others. I think that would be positive for everyone.

 

Regars

Eva

Nicolas
9 years ago
#

Sorry I don't understand? You can easily import any file of the library by downloading itf files and click import in prorealtime indicators list. 

Nicky9529
9 years ago
#

Merci Nicolas pour cet indicateur,

Comme pour le RSI, J'aimerais pouvoir ajouter deux lignes max/min pour le gamma (basées sur l'historique des valeurs) afin de déterminer si l'on est en phase de trend exhaustion/range exhaustion. Comment faire?

Nicolas

 

Nicky9529
9 years ago
#

Mais j'y compte bien! Merci beaucoup Nicolas pour la solution.

Nicolas
9 years ago
#

Pour cela, il suffit d'intercaler ces lignes de codes à la ligne 18 (sous le calcul de gamma):

hh=highest[gammaP](gamma)*0.9
ll=lowest[gammaP](gamma)*1.1

et de remplacer la ligne 54 (RETURN) avec celle-ci :

RETURN gamma coloured(200,200,0) as "gamma", lagRSI coloured(0,128,255) style(line,2) as "Laguerre RSI self adjusting", 0.2 style(dottedline,1) as "oversold level", 0.8 style(dottedline,1) as "overbought level", hh, ll

J'ai introduit la variable "gammaP" qui permet de modifier à convenance le retour en arrière pour déterminer les résidus de la distribution du gamma entre les bornes hautes et basses de ce calcul. Il faudra donc bien entendu ajouter cette variable en externe pour la faire varier à convenance. Bon amusement :)

 

Nicky9529
9 years ago
#

Si l'indicateur n'est pas normé (ou atteint rarement les limites), il faudrait deux lignes de séparation qui détermineraient, sur les n derniers mois,  les 10 % des valeurs les plus élevés et plus basses afin de détecter automatiquement ensuite les configurations "le ressort va bientôt se détendre"/"le mouvement s'essouffle". Une sorte de canal du gamma mais dont les limites horizontales dépendent de l'historique des valeurs.

Nicolas
9 years ago
#

C'est à dire ? Une détection des derniers plus haut et plus bas du gamma ? (la ligne jaune).

ProRealCode ProRealCode
Loading...