once Wilder = 1 / RSIperiod
RSCible = RSIcibleH / (100 - RSIcibleH)
hausse = max(0, close - close[1])
baisse = max(0, close[1] - close)
mmHausse = wilderAverage[RSIperiod](hausse)
mmBaisse = wilderAverage[RSIperiod](baisse)
if RSICibleH > RSI[RSIperiod](close) then
mmBaisseCible = (1 - Wilder) * mmBaisse
mmHausseCible = RSCible * mmBaisseCible
HausseCible = ((Wilder - 1) * mmHausse + mmHausseCible ) / Wilder
CloseCibleH = Close + HausseCible
Elsif RSIcibleH < RSI[RSIperiod](close) then
mmHausseCible = (1 - Wilder) * mmHausse
mmBaisseCible = mmHausseCible / RSCible
BaisseCible = ((Wilder - 1) * mmBaisse + mmBaisseCible ) / Wilder
CloseCibleH = Close - BaisseCible
Else
CloseCibleH = Close
Endif
RSCible = RSIcibleB / (100 - RSIcibleB)
hausse = max(0, close - close[1])
baisse = max(0, close[1] - close)
mmHausse = wilderAverage[RSIperiod](hausse)
mmBaisse = wilderAverage[RSIperiod](baisse)
if RSICibleB > RSI[RSIperiod](close) then
mmBaisseCible = (1 - Wilder) * mmBaisse
mmHausseCible = RSCible * mmBaisseCible
HausseCible = ((Wilder - 1) * mmHausse + mmHausseCible ) / Wilder
CloseCibleB = Close + HausseCible
Elsif RSIcibleB < RSI[RSIperiod](close) then
mmHausseCible = (1 - Wilder) * mmHausse
mmBaisseCible = mmHausseCible / RSCible
BaisseCible = ((Wilder - 1) * mmBaisse + mmBaisseCible ) / Wilder
CloseCibleB = Close - BaisseCible
Else
CloseCibleB = Close
Endif
return CloseCibleH style(line,2) coloured("red",150), CloseCibleB style(line,2) coloured("darkgreen",150)