Je ne sais plus si je me suis déja présenté: je suis Guilhem, je travaille dans l'informatique et je me mets au tradding depuis le mois de mai après 20 ans de bousicotage "classique".
Je cherche à développer un indicateur pour prt. Pour me faire la main, j'essaye de coder le rsi. J'ai une première version qui utilise AVERAGE et qui fonctionne (valeurs identiques à rsi).
Mais lorsque j'essaye de me passer de AVERAGE, je n'arrive plus à obtenir les bonnes valeurs. Voici le pgm:
Code : #
// use the close price
price = customclose
// number of periods to use (generally 21)
N = 2
// 1°) compute the average automatically
price10 = price[0]
price11 = price[1]
maxHigh1 = MAX (0, price10 - price11)
maxLow1 = MAX (0, price11 - price10)
avgHigh1 = AVERAGE[N,AVG](maxHigh1)
avgLow1 = MAX (0.0001,AVERAGE[N,AVG](maxLow1))
RS1 = avgHigh1 / avgLow1
MyRSI1 = 100 * (1 - 1 / (1 + RS1))
// 2°) compute the average manually
avgHigh2 = 0
avgLow2 = 0
for i = 1 to N do
price20 = price[i-1]
price21 = price[i]
maxHigh2 = MAX (0, price20 - price21)
maxLow2 = MAX (0, price21 - price20)
avgHigh2 = avgHigh2 + maxHigh2
avgLow2 = avgLow2 + maxLow2
next
avgHigh2 = avgHigh2 / (N)
avgLow2 = avgLow2 / (N)
avgLow2 = MAX (0.0001, avgLow2)
RS2 = avgHigh2 / avgLow2
MyRSI2 =100 * (1 - 1 / (1 + RS2))
//MyRSI2 = 0
// 3°) use standard RSI
MyRSI3 = RSI[N](price)
return MyRSI1 coloured(255,0,0) as "RSI 1", MyRSI2 coloured(0,255,0) as "RSI 2", MyRSI3 coloured(0,0,255) as "RSI 3"
Est-ce que quelqu'un aurait une idée?
Avec un grand merci.
--
Guilhem