Bonjour à tous,
Je souhaiterais une aide sur un indicateur qui avait été proposé par Louis Winthorp III, je l’ai modifié afin de faire un canal avec en son centre la WMA, donc 3 niveaux, 70% RSI, 50% RSI et 30% RSI.
Voici le code (et en fichier joint):
//////////////////////////////////////////////////
//_RSI_LEVELS_
ONCE RSI70 = UNDEFINED
ONCE RSI30 = UNDEFINED
RSIORI = RSI[14](CLOSE)
UPORI = MAX(0,CLOSE-CLOSE[1])
DOWNORI = MAX(0,CLOSE[1]-CLOSE)
UPMAORI = WILDERAVERAGE[14](UPORI)
DOWNMAORI = WILDERAVERAGE[14](DOWNORI)
RSREV = (100/((-1*70)+100)) – 1
IF 70 < RSIORI THEN
UPMAREV = UPMAORI * (1-(1/14))
DOWNMAREV = UPMAREV / RSREV
DOWNREV = (DOWNMAREV-(DOWNMAORI*(1-(1/14))))/(1/14)
RSI70 = CLOSE – DOWNREV
ELSIF 70 > RSIORI THEN
DOWNMAREV = DOWNMAORI * (1-(1/14))
UPMAREV = DOWNMAREV * RSREV
UPREV = (UPMAREV-(UPMAORI*(1-(1/14))))/(1/14)
RSI70 = CLOSE + UPREV
ENDIF
RSI50 = WILDERAVERAGE[14](CLOSE)
RSIORI2 = RSI[14](CLOSE)
UPORI2 = MAX(0,CLOSE-CLOSE[1])
DOWNORI2 = MAX(0,CLOSE[1]-CLOSE)
UPMAORI2 = WILDERAVERAGE[14](UPORI2)
DOWNMAORI2 = WILDERAVERAGE[14](DOWNORI2)
RSREV2 = (100/((-1*30)+100)) – 1
IF 30 < RSIORI2 THEN
UPMAREV2 = UPMAORI2 * (1-(1/14))
DOWNMAREV2 = UPMAREV2 / RSREV2
DOWNREV2 = (DOWNMAREV2-(DOWNMAORI2*(1-(1/14))))/(1/14)
RSI30 = CLOSE – DOWNREV2
ELSIF 30 > RSIORI2 THEN
DOWNMAREV2 = DOWNMAORI2 * (1-(1/14))
UPMAREV2 = DOWNMAREV2 * RSREV2
UPREV2 = (UPMAREV2-(UPMAORI2*(1-(1/14))))/(1/14)
RSI30 = CLOSE + UPREV2
ENDIF
RETURN RSI70 COLOURED (0,0,0) STYLE (LINE,3) AS “_DAILY_RSI_70%_”, RSI50 COLOURED (153,0,153) STYLE (LINE,3) AS “_DAILY_RSI_50%_”, RSI30 COLOURED (0,0,0) STYLE (LINE,3) AS “_DAILY_RSI_30%_”
Ce que j’aimerais faire c’est tracer un niveau à chaque contact du prix >= aux niveaux 30% et 70% du canal RSI, ces niveaux resteront durant une période N, 20 par exemple, avant que ce niveau disparaisse et soit en attente du prochain tracage de niveau.
Je mets une capture d’écran pour illustrer tout ça. 🙂
Merci beaucoup.