top of page
"There's no certitude, only opportunities."   

Aide à la programmation

Public·1 membre

Pourquoi "If IsFirstBar"

Lors de l'écriture d'un indicateur on recommande de commencer la partie CALCULATION par :


if isfirstbar() then begin

CalculateAtEveryTick(false) ;

SetYscaleFormat(GetPriceFormat());

end


L'instruction CalculateAtEveryTick(false) permet d'éviter que le calcul de l'indicateur se fasse à chaque tick ce qui peut représenter plusieurs dizaines de calculs par seconde, de quoi faire "exploser" les capacités de votre ordinateur.

Ainsi le calcul ne se fera qu'au dernier tick de la bougie, donc une seule fois par bougie.


MAIS on vous conseille aussi (page 47 et suivantes du manuel Express) d'y mettre les calculs de moyenne mobile.

if isfirstbar() then begin

CalculateAtEveryTick(false) ;

SetYscaleFormat(GetPriceFormat());

MovingAverage(close, MMobile, 10);

end


Pourquoi ?

Il faut comprendre que si vous mettez le calcul de la MM en dehors de la boucle IsFirstBar, à chaque fin de bougie l'indicateur calcule la MM pour la première bougie, puis la 2eme, ... , puis la dernière.

Ceci revient à recalculer l'ensemble des positions de la MM à chaque bougie du graphe. Il est absurde de faire X fois un même calcul.

Il est préférable de ne faire ce calcul de MM qu'une seule fois, d'où l'intégration de ce calcul dans la boucle de IsFirstBar. On ne fera le calcul de la MM qu'à la première barre, une fois pour toute.



18 vues
philippe
Sep 29, 2022

Il existe une troisième solution c'est d'utiliser une méthode de calcul différente de la moyenne mobile qui est plus rapide.


If isfirstbar() then

Begin

CalculateAtEveryTick(false);

SetYscaleFormat(GetPriceFormat());

end


CM = (Close+H+L) /3;

if CurrentBarIndex() <= 10 then MMobile = CM;

if CurrentBarIndex() > 10 then

begin

MMobile = MMobile[1] + (CM - MMobile[1]) /10;

End




Eric Lefort trader français

© 2010 - 2025 Eric Lefort    MOGALEF is a registered trademark

Eric s'est retiré.
Il n'y aura plus de newsletter.

CONNECT WITH US

  • YouTube Basic Black
bottom of page