Le MACD Zéro Retard (Zero Lag MACD) proposé en standard par PRT n’est pas intégrable dans PROORDER.
L’utilisation du code ci-dessous permet de le recréer comme un indicateur personnel et ainsi l’intégrer dans une stratégie…
A défaut de savoir pourquoi MACD Zéro Retard standard n’est pas intégrable, pouvons-nous faire confiance au code ci-dessous pour un backtest fiable ? mes tests semblent le prouver, cependant il arrivent parfois que plus rien ne se calcule et comme je n’ai pas une grande expérience de Proorder, je me demande si c’est le code ci-dessous qui provoque cela ou un problème intermittent sur le backtesting qui peut se produire avec n’importe quel indicateur de base ?
// MACD ZERO LAG
// p= variable macd zerolag : 12 par défaut
// q= variable signal : 26 par défaut
// r= variable macd - signal : 9 par défaut // mettre histogramme
p = 12
q = 26
r = 9
z1=DEMA[p](close)
z2 =dema[q](close)
e= z1 - z2
z3=DEMA[r](e)
f=z3
g=e-f
return e AS "MACD ZEROLAG",f AS "signal",g as "macd-signal",0 as "zero"
Merci
C’est à dire “plus rien ne se calcule” ? Cela me rappele un sujet récent, mais je ne sais plus lequel et si c’était en effet lié à ce type de moyenne mobile ..
Plus rien ne se calcule, c’est dire qu’aucun calcul ne s’effectue.
A partir d’une simulation qui fonctionne parfaitement on change une variable comme par exemple la période de simulation, le backtest se lance, se termine et rien n’a été calculé.
A partir de là la seule solution est de relancer PRT, puis le système de trading.
Si on souhaite modifié la variable et avoir le calcul, il faut alors le refaire sans dupliquer et relancer.
Ce n’est pas systématique mais 8 fois sur 10 au moins.
Du coup cela génère un doute sur des backtests qui peuvent porter sur des centaines d’ordre invérifiables manuellement… Y a t-il un support pour cela ?
Avec toutes les stratégies ? As-tu “graphé” les variables de la stratégie en question ? Y-a-t’il des divisions avec des variables ? (si oui vérifier qu’aucune n’est à zéro à un instant T), idem pour les périodes d’indicateurs, elles doivent toujours être supérieures à 0. Ce genre de problème n’est pas visualisable sur le graphique et peut faire bloquer un backtest.
Difficile de donner plus d’aides sur avoir lu le code et tenté de reproduire de mon côté.
Si tu es vraiment certain que cela n’a rien à voir avec ton code, tu peux tenter d’envoyer le programme au support PRT via le centre d’aide (CTRL+M).
bonjour, je fais remonter ce poste, comment es ce possible d’afficher la variable “g” en histogramme? j’ai essayé avec fonction Drawbarchart mais impossible ( je viens juste de finir la formation avancé donc je galère encore).
je souhaite faire une détection des variations de l’histogramme et des croisements de la ligne signal
merci
Bonjour, grâce aux mots clés style et histogram, exemple:
return g as “macd-signal” style(histogram,2)
STYLE
j’ai réussi a faire ceci
histogramme en couleur verte si plus haut que précèdent et inversement en rouge
// MACD ZERO LAG
// p= variable macd zerolag : 12 par défaut
// q= variable signal : 26 par défaut
// r= variable macd - signal : 9 par défaut // mettre histogramme
// g= histogramme
p = 12
q = 26
r = 9
z1=DEMA[p](close)
z2 =dema[q](close)
e= z1 - z2
z3=DEMA[r](e)
f=z3
g=e-f
//code pour couleur hitogramme
if g>0 then
if g>g[1] then
a=0
x=200
b=0
else
a=200
x=0
b=0
endif
else
if g>g[1] then
a=0
x=200
b=0
else
a=200
x=0
b=0
endif
endif
//couleur de e
if (e>e[1]) then
a=0
x=200
b=0
else
a=200
x=0
b=0
endif
return e AS "MACD ZEROLAG" coloured(a,x,b),f AS "signal" coloured(0,0,255),g as "macd-signal" coloured(a,x,b)style(HISTOGRAM) ,0 as "zero"
pour contre je ne sais pas afficher le code dans une fenêtre code sur le forum ? il faut faire comment ?
Icone intitulé “insert PRT code” au bout à droite de la barre d’outils de l’éditeur de message.
S’il n’apparait pas, taper CTRL+F5 avant de commencer son message (si on le fait en cours de route, le message est perdu, on peut toujours le copier coller dans un fichier texte avant de faire ctrl+f5, mais le plus simple ça reste de le faire avant de taper quoi que ce soit).
S’il n’apparait toujours pas, des fois ça marche au 2e essai, mais pas trop la peine d’insister au-delà, tant pis on le reformatera a posteriori… (par exemple je viens de reformater le code dans le post ci-dessus)