defparam DRAWONLASTBARONLY=true
a = close
c1 = ExponentialAverage[3](a)
c2 = ExponentialAverage[5](a)
c3 = ExponentialAverage[8](a)
c4 = ExponentialAverage[10](a)
c5 = ExponentialAverage[12](a)
c6 = ExponentialAverage[15](a)
GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
c7 = ExponentialAverage[30](a)
c8 = ExponentialAverage[35](a)
c9 = ExponentialAverage[40](a)
c10 = ExponentialAverage[45](a)
c11 = ExponentialAverage[50](a)
c12 = ExponentialAverage[60](a)
GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
Ecart = (GuppyCTMoy - GuppyLTMoy)
/////////////////////////// Paramètres de calcul de la moyenne du Guppy LT pour filtrer les entrées de position (la moyenne devant être entre le plancher et le plafond)
T1 = c7 - C7[1]
T2 = c8 - C8[1]
T3 = c9 - C9[1]
T4 = C10 - C10[1]
T5 = c11 - C11[1]
T6 = c12 - c12[1]
Guppy = (T1 + T2 + T3 + T4 + T5 + T6)/6
GuppyMoy = average[20](Guppy)*10
if GuppyMoy<GuppyMoy[1] and GuppyMoy[1]>GuppyMoy[2] and GuppyMoy[1]>0 then
RetB5=RetB4
RetB4=RetB3
RetB3=RetB2
RetB2=RetB1
RetB1=GuppyMoy[1]
RetBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5
endif
if GuppyMoy>GuppyMoy[1] and GuppyMoy[1]<GuppyMoy[2] and GuppyMoy[1]<0 then
RetH5=RetH4
RetH4=RetH3
RetH3=RetH2
RetH2=RetH1
RetH1=GuppyMoy[1]
RetHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5
endif
if abs(retBmoy-0) > abs(retHmoy-0) then
limitUP = retBmoy
elsif abs(retBmoy-0) < abs(retHmoy-0) then
LimitUp = -RetHmoy
endif
if abs(RetHmoy-0) > abs(RetBmoy-0) then
limitDn = RetHmoy
elsif abs(RetHmoy-0) < abs(RetBmoy-0) then
LimitDn = - RetBmoy
endif
period = 20
dev = 2.0
data = Ecart
MA = average[period](data)
BolUp = MA+STD[period]*dev
BolDn = MA-STD[period]*dev
Return ecart as "ecart", guppymoy as "guppymoy", RetBmoy as "Moyenne 5 derniers retournements baissiers", RetHmoy as "Moyenne 5 derniers retournements haussiers", limitUp as "LimitUp", limitDn as "LimitDn", BolUp as "Boll Sup", BolDn as "Boll Inf", MA as "Boll Milieu"
Voici un des indicateurs que j’utilise pour entrer en position. Je l’ai “fabriqué” à partir de l’indicateur Guppy et de l’aide des animateurs de ce site (encore merci à eux). Comme j’aime bien avoir un affichage des mes indicateurs, j’ai essayé de programmer à partir de l’aide automatique du screener un second indicateur (qui est construit à partir des données du 1er indicateur) qui me dessine un symbole (en l’occurence une flèche) lorsque le guppymoy ainsi que la banque moyenne de Bollinger sont au dessous de la “limitDn” du 1er indicateur et qu’ils sont tous les deux sur une pente ascendante. Cela ressemblerait à cela :
ignored, indicator1, ignored, ignored, ignored, indicator2, ignored, ignored, ignored = CALL “Ecart GuppyMoy LT / CT”(close)
c1 = (indicator1 < indicator2)
ignored, indicator4, ignored, ignored, ignored, ignored, ignored, ignored, indicator3 = CALL “Ecart GuppyMoy LT / CT”(close)
c2 = (indicator3 < indicator4)
ignored, indicator5, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL “Ecart GuppyMoy LT / CT”(close)
c3 = (indicator5 > indicator5[1])
ignored, ignored, ignored, ignored, ignored, ignored, ignored, ignored, indicator6 = CALL “Ecart GuppyMoy LT / CT”(close)
c4 = (indicator6 > indicator6[1])
if c1 and c2 and c3 and c4 then
DRAWTEXT (“▼”, BarIndex,3.0,SansSerif,BOLD,12) COLOURED(255,0,0)
endif
if IsLastBarupdate then
drawtext(” RSI”,barindex,3,dialog,bold,12)
endif
Le problème est que l’indicateur ne m’affiche que la dernière “barre” et non pas les précédentes (d’ailleurs, il a aussi pour effet de bord de supprimer tous les autres affichages des autres indicateurs que j’affiche sous forme de “drawtext et d’une flèche”. Quelqu’un peut il m’aider sur ce sujet?
Merci et bon week-end.