Alors… c’est pas que personne veut aider sur le forum, mais à mon avis la requête manque de précision et tout le monde passe à autre chose… Alors je tente, mais voici une liste pas forcément exhaustive de ce qui a pu à mon sens démotiver les contributions:
– le cci n’est pas borné de base, alors sans élément qui définit le bornage, l’élément de départ cci pose souci d’entrée
– 3 sma c’est 3 moyennes mobiles simples, si elles sont simples alors elles ne sont pas expo, pondérées, etc…
-des sma sans préciser appliquées à quoi, c’est des sma sur prix, mais ça n’aurait pas de sens de les comparer au cci, donc on va supposer qu’elles s’appliquent au cci
– le decay… vers la gauche ou vers la droite…
– les croisements… avec ou sans decay…
Bref, sans préjuger de toutes les réponses, voici une version toute simple très probablement inachevée mais qui pourra j’espère te servir de base de départ pour la bidouiller, aussi bien pour y modifier ce que j’aurais mal supposé dans mon interprétation que ce que j’aurais omis pour te laisser le rajouter.
A noter que pour les flèches, je les ai mises en clair pour sma1 et 2, en plus foncé pour sma3, et je les ai tracé en double: un jeu au niveau du cci pour fenêtre en indic sous le prix, et un jeu au niveau du prix pour la fenêtre du prix. Cela te permet d’avoir un seul indicateur à appliquer 2 fois au lieu de 2 indicateurs. Si besoin après ajoût dans la fenêtre prix il faudra peut-être régler l’échelle verticale du prix via clic droit dans la marge droite “configurer cette zone” / “échelle” pour cocher la case “redimensionnement vertical” qui permet d’éviter de tracer tout ce qui est trop près de 0.
moncci=CCI[20](typicalPrice)
sma1=Average[7](moncci)
sma2=Average[20](moncci)
sma3=Average[50](moncci)
dessus1et2= moncci>sma1 and moncci>sma2
dessous1et2= moncci<sma1 and moncci<sma2
if moncci>-200 and dessus1et2 and not dessus1et2[1] then
DRAWARROWUP(barindex, min(moncci,moncci[1])) coloured(0,255,0)
DRAWARROWUP(barindex, low) coloured(0,255,0)
endif
if moncci>-200 and moncci crosses under sma3 then
DRAWARROWUP(barindex, min(moncci,moncci[1])) coloured(0,150,0)
DRAWARROWUP(barindex, low) coloured(0,150,0)
endif
if moncci<200 and dessous1et2 and not dessous1et2[1] then
DRAWARROWDOWN(barindex, max(moncci,moncci[1])) coloured(255,0,0)
DRAWARROWDOWN(barindex, high) coloured(255,0,0)
endif
if moncci<200 and moncci crosses over sma3 then
DRAWARROWDOWN(barindex, max(moncci,moncci[1])) coloured(150,0,0)
DRAWARROWDOWN(barindex, high) coloured(150,0,0)
endif
return -200,200, moncci as "cci", sma1 as "sma1", sma2 as "sma2", sma3 as "sma3"