Bonsoir,
il y a quelques jours, j’ai demandé de l’aide pour coder l’indicateur suivant : https://www.prorealcode.com/topic/moyenne-des-5-derniers-changements-de-direction-de-la-moyenne-du-guppy/
Je l’ai ensuite adapté à un autre indicateur (voir code joint).
period=50
plusDM = (MAX(HIGH-HIGH[1], 0))*10
minusDM = (MAX(LOW[1]-LOW, 0))*10
IF plusDM > minusDM THEN
minusDM = 0
ENDIF
IF plusDM < minusDM THEN
plusDM = 0
ENDIF
IF plusDM = minusDM THEN
plusDM = 0
minusDM = 0
ENDIF
plusDI = WILDERAVERAGE[period](plusDM)
minusDI = WILDERAVERAGE[period](minusDM)
DM = plusDI-minusDI
moy = exponentialaverage[period](DM/pipsize)
if Moy<Moy[1] and Moy[1]>Moy[2] and Moy[1]>0 then
RetB5=RetB4
RetB4=RetB3
RetB3=RetB2
RetB2=RetB1
RetB1=Moy[1]
RetBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5
endif
if Moy>Moy[1] and Moy[1]<Moy[2] and Moy[1]<0 then
RetH5=RetH4
RetH4=RetH3
RetH3=RetH2
RetH2=RetH1
RetH1=Moy[1]
RetHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5
endif
Return DM/pipsize, moy as "moyenne", RetBmoy as "Moyenne 5 derniers retournements baissiers", RetHmoy as "Moyenne 5 derniers retournements haussiers"
Je voudrais identifier les franchissements de RETBMoy et de RETHMoy par le DM mais mon screener fait à partir de PRT me renvoie des erreurs :
indicator1, ignored, indicator2, ignored = CALL “DM avec moyenne”
c1 = (indicator1 crosses over indicator2)
ignored, indicator3, indicator4, ignored = CALL “DM avec moyenne”
c2 = (indicator3 < indicator4)
indicator5, ignored, ignored, indicator6 = CALL “DM avec moyenne”
c3 = (indicator5 crosses under indicator6)
ignored, indicator7, ignored, indicator8 = CALL “DM avec moyenne”
c4 = (indicator7 > indicator8)
SCREENER[(c1 AND c2) OR (c3 AND c4)] ((close/DClose(1)-1)*100 AS “% Veille”)
J’aurai donc besoin d’une aide pour m’indiquer où ce petit programme plante?
Merci.