Bonjour,
J’ai un comportement non maitrisé de la fonction “UpdateOnClose”. Je dois sûrement mal l’utiliser.
Pour illustrer mon problème j’ai crée le petit algo suivant, utilisé dans l’UT 1mn. J’enregistre à chaque cassure de la SMA(7) la 5ème dernière bougie que je stocke dans un tableau.
Lorsque que je lance l’algo, tout se passe bien sur l’historique. Par contre sur les nouvelles bougies/nouveaux signaux, l’algo ne fonctionne plus. Il prend tous les signaux à l’intérieur d’une bougie et écrase ainsi toutes les valeurs stockées précédemment dans mon tableau.
La consigne “UpdateOnCLose” n’est pas respectée.
Est-ce dû au fait que l’UT dans lequel l’algo fonctionne et le TF déclaré dans l’algo sont les mêmes ? Autres idées?
J’ai une petite idée pour compenser (attendre la bougie suivante pour enregistrer) mais ce n’est pas très “propre” et ça fera perdre en réactivité.
J’ai ajouté un screen shot avec l’affichage des 3 dernières valeurs enregistrées dans le tableau. On voit clairement l’écrasement des valeurs après le lancement de l’algo.
Timeframe(1 minute, UpdateOnclose)
MM7=Average[7](close)
ATR=AverageTrueRange[5](close)
TailleTab=10//Nombre de points mémorisés
If close crosses over MM7 then
DrawArrowUp(barindex,Low-0.25*ATR)CoLoured(0, 255, 0)
SignalMM=1
Elsif close crosses under MM7 then//and second=59 then
DrawArrowDown(barindex,High+0.25*ATR)CoLoured(255,0, 0)
SignalMM=-1
Endif
If SignalMM<>SignalMM[1] then
LastY=Close[5] //Memorisation de la 5ème bougie précédente
LastX=Barindex[5]
For k=1 to TailleTab do//décalage des valeurs dans le tableau
i=TailleTab-k+1
$Mem5x[i]=$Mem5xx[i-1]
$Mem5y[i]=$Mem5y[i-1]
Next
$Mem5x[0]=LastX//Memorisation de la 5ème bougie dans le tableau
$Mem5y[0]=LastY
A1=$Mem5y[0]
A2=$Mem5y[1]
A3=$Mem5y[2]
Drawtext("#A1#",barindex,high+0.5*ATR,Dialog,Bold,10)Coloured(55,0,0,255)
Drawtext("#A2#",barindex,high+0.75*ATR,Dialog,Bold,10)Coloured(55,0,0,255)
Drawtext("#A3#",barindex,high+1*ATR,Dialog,Bold,10)Coloured(55,0,0,255)
Endif
Timeframe(default, default)
Return MM7 coloured (255,0,0), close coloured (204, 85, 0)