Page 1 of 1

Bandes de Bollinger et de Keltner

Posted: 22 Aug 2015 19:30
by BAUR
Bonjour
Le code ci-dessous devrait afficher les bandes de Bollinger et les Bandes de Keltner, mais seules les bandes d Bollinger s'affichent.

je ne comprends pas bien le fonctionnement de l'instruction IsFirstbar et isFinalbar

pouvez m'aider S.V.P. Merci d'avance
Express VBA_Advisor

Vars

Series MA, SD, BBH, BBL;
Series KH, KL, MM ;
series r , Factor(2) ;
numeric TrueH, TrueL, I ;

Calculation

If IsFirstBar() then
begin
MovingAverage(close, MA, 20);
StdDev(close, SD, 20);
TrueH = close[1] ;
if TrueH < High then TrueH = High ;
TrueL = close[1] ;
if TrueL > Low then TrueL = Low ;
r = TrueH - TrueL ;
movingaverage(r, MM, 20) ;

end

KH = MM + Factor * MM ;
KL = MM - Factor * MM ;
BBH = MA + 2*SD;
BBL = MA - 2*SD;

Interpretation
begin
end

plot(MA, green, 1);
plot(BBL, lightblue, 2);
plot(BBH, lightblue, 2);
plot (KH, Red, 1) ;
plot (KL, Red, 1) ;

Re: Bandes de Bollinger et de Keltner

Posted: 24 Aug 2015 14:02
by BAUR
Re Bonjour

cette nouvelle version fonctionne, mais je ne comprend toujours pas bien le fonctionnement des instructions "IsFirstBar" et "isfinalbar"
Express VBA_Advisor

Vars

Series MA, SD, BBH, BBL;
Series KH, KL, AvgTrueRange ;
series TrueRange ;
numeric TrueH, TrueL, I ;

Calculation

If IsFirstBar() then
begin
MovingAverage(close, MA, 20);
StdDev(close, SD, 20);

end
TrueH = close[1] ;
if TrueH < High then TrueH = High ;
TrueL = close[1] ;
if TrueL > Low then TrueL = Low ;
TrueRange = TrueH - TrueL ;
MovingAverage(TrueRange, AvgTrueRange, 20) ;
KH = MA + 2 * AvgTrueRange ;
KL = MA - 2 * AvgTrueRange ;
BBH = MA + 2*SD;
BBL = MA - 2*SD;

Interpretation
begin
end

plot(MA, green, 1);
plot(BBL, lightblue, 2);
plot(BBH, lightblue, 2);
plot (KH, red, 2) ;
plot (KL, red, 2) ;

Re: Bandes de Bollinger et de Keltner

Posted: 24 Aug 2015 14:40
by WHS Support
Bonjour,

Je fais suite à votre post et vous informe que "IsFirstbar" est la première bougie à partir de la gauche. IsFinalBar est la première bougie à partir de la droite.Si vous utilisez ces fonctions cela réduit énormément le nombre de calcul.

Par exemple, si vous calculez une MA sans ces fonctions, à chaque nouvelle bougies les valeurs des bougies précédentes devront être recalculées par la plateforme, ce qui signifie que les mêmes valeurs devront être reclaculées encore et encore. Alors que si vous calculer une MA avec IsFirstBar la plateforme a besoin de récupérer une seule fois les données importantes et la nouvelle somme pourra être déduite par la soustraction du prix le plus à gauche et par l'ajuot des données de la bougie actuelle.

Je vous en souhaite bonne réception.

Cordialement,


Amélie

WH SelfInvest