Code created on the basis of Nicolas’ work, thanks to him and the time he spends for us.
18 moving averages which are in fact the same with a time lag. You can change the period in the code and thus adjust it. Ideally buy on a rebound when the price is below the rainbow with stop loss just below the previous low. Or sell on a retracement candle when the price is above the rainbow.
Or sell on a retracement candle when the price is above the rainbow. Basic but visual.
//---settings
MAmode=0
Period=3
NumberOfMA=100
//---end of settings
MA2=undefined
MA3=undefined
MA4=undefined
MA5=undefined
MA6=undefined
MA7=undefined
MA8=undefined
MA9=undefined
MA10=undefined
MA11=undefined
MA12=undefined
MA13=undefined
MA14=undefined
MA15=undefined
MA16=undefined
MA17=undefined
MA18=undefined
M19=undefined
numberofMA=max(min(numberofma,18),1)
MA1=average[period](close)
if numberofMA=2 then
MA2=average[period,mamode](MA1)
elsif numberofMA=3 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
elsif numberofMA=4 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
elsif numberofMA=5 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
elsif numberofMA=6 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
elsif numberofMA=7 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
elsif numberofMA=8 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
elsif numberofMA=9 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
elsif numberofMA=10 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
elsif numberofMA=11 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
elsif numberofMA=12 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
elsif numberofMA=13 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
elsif numberofMA=14 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
MA14 =average[period,mamode](MA13)
elsif numberofMA=15 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
MA14 =average[period,mamode](MA13)
MA15 =average[period,mamode](MA14)
elsif numberofMA=16 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
MA14 =average[period,mamode](MA13)
MA15 =average[period,mamode](MA14)
MA16 =average[period,mamode](MA15)
elsif numberofMA=17 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
MA14 =average[period,mamode](MA13)
MA15 =average[period,mamode](MA14)
MA16 =average[period,mamode](MA15)
MA17 =average[period,mamode](MA16)
elsif numberofMA=18 then
MA2=average[period,mamode](MA1)
MA3=average[period,mamode](MA2)
MA4=average[period,mamode](MA3)
MA5=average[period,mamode](MA4)
MA6=average[period,mamode](MA5)
MA7=average[period,mamode](MA6)
MA8=average[period,mamode](MA7)
MA9=average[period,mamode](MA8)
MA10=average[period,mamode](MA9)
MA11=average[period,mamode](MA10)
MA12=average[period,mamode](MA11)
MA13=average[period,mamode](MA12)
MA14=average[period,mamode](MA13)
MA15=average[period,mamode](MA14)
MA16=average[period,mamode](MA15)
MA17=average[period,mamode](MA16)
MA18=average[period,mamode](MA17)
endif
return ma1 coloured("blue"), ma2 coloured("blue"), ma3 coloured("green"), ma4 coloured("green"), ma5 coloured("yellow"),MA6 coloured("yellow"),MA7 coloured("orange"),MA8 coloured("orange"),MA9 coloured("red")style(line,3),MA10 coloured("red"),MA11 coloured("pink"),MA12 coloured("pink"),MA13 coloured("fuchsia"),MA14 coloured("fuchsia"),MA15 coloured("brown"),MA16 coloured("brown"),MA17 coloured("cyan"),MA18 coloured("cyan")
// couleur "blue" "purple" "red" "orange" "fuchsia" "yellow" "brown" "white" "green" "pink"
You must be logged in to post a comment.
Bonsoir, j'aimerai pouvoir mettre sur un même graphique 2 fois cet indicateur. le premier tel quel, le second 10 fois superieur . J'ai donc installé celui ci et est change la period en la remplaçant par 30 dans le second mais je n'ai rien touché d'autre et le resultat n'est pas terrible. Je pense qu'il doit y avoir une histoire de numberofMA a modifier mais n'etant pas douée en programation je ne trouve pas. Pouvez vous m'aider cdlt
//---settings MAmode=0 Period=150 NumberOfMA=100 //---end of settings MA2=undefined MA3=undefined MA4=undefined MA5=undefined MA6=undefined MA7=undefined MA8=undefined MA9=undefined MA10=undefined MA11=undefined MA12=undefined MA13=undefined MA14=undefined MA15=undefined MA16=undefined MA17=undefined MA18=undefined M19=undefined numberofMA=max(min(numberofma,18),1) MA1=average[period](close) if numberofMA=2 then MA2=average[period,mamode](MA1) elsif numberofMA=3 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) elsif numberofMA=4 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) elsif numberofMA=5 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) elsif numberofMA=6 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) elsif numberofMA=7 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) elsif numberofMA=8 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) elsif numberofMA=9 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) elsif numberofMA=10 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) elsif numberofMA=11 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) elsif numberofMA=12 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) elsif numberofMA=13 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) elsif numberofMA=14 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) MA14 =average[period,mamode](MA13) elsif numberofMA=15 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) MA14 =average[period,mamode](MA13) MA15 =average[period,mamode](MA14) elsif numberofMA=16 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) MA14 =average[period,mamode](MA13) MA15 =average[period,mamode](MA14) MA16 =average[period,mamode](MA15) elsif numberofMA=17 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) MA14 =average[period,mamode](MA13) MA15 =average[period,mamode](MA14) MA16 =average[period,mamode](MA15) MA17 =average[period,mamode](MA16) elsif numberofMA=18 then MA2=average[period,mamode](MA1) MA3=average[period,mamode](MA2) MA4=average[period,mamode](MA3) MA5=average[period,mamode](MA4) MA6=average[period,mamode](MA5) MA7=average[period,mamode](MA6) MA8=average[period,mamode](MA7) MA9=average[period,mamode](MA8) MA10=average[period,mamode](MA9) MA11=average[period,mamode](MA10) MA12=average[period,mamode](MA11) MA13=average[period,mamode](MA12) MA14=average[period,mamode](MA13) MA15=average[period,mamode](MA14) MA16=average[period,mamode](MA15) MA17=average[period,mamode](MA16) MA18=average[period,mamode](MA17) endif return ma1 coloured("blue"), ma2 coloured("blue"), ma3 coloured("green"), ma4 coloured("green"), ma5 coloured("yellow"),MA6 coloured("yellow"),MA7 coloured("orange"),MA8 coloured("orange"),MA9 coloured("red")style(line,3),MA10 coloured("red"),MA11 coloured("pink"),MA12 coloured("pink"),MA13 coloured("fuchsia"),MA14 coloured("fuchsia"),MA15 coloured("brown"),MA16 coloured("brown"),MA17 coloured("cyan"),MA18 coloured("cyan") // couleur "blue" "purple" "red" "orange" "fuchsia" "yellow" "brown" "white" "green" "pink"
bonjour merci de ta reponse mais non ca fonctionne pas sympa quand même d'avoir essayé cdlt