Average day range

Post Reply
WHFX
Posts: 9
Joined: 19 Jun 2013 13:41

Average day range

Post by WHFX »

Bonjour.

Je dois écrire un indicateur qui me donne :
- le range du jour (écart + haut / + bas)
- le range de la veille
- la moyenne mobile des ranges quotidiens sur un nombre de périodes paramétrables

Je me suis inspiré de deux de vos indicateurs :
- Daily_HiLoOpen
- PreviousDayHighLowCloseOpen

Tout fonctionnerait très bien sur les futures.
Mon problème est que, travaillant sur le Forex, les calculs sont perturbés par les données du dimanche soir de 23h00 à 24h00 lors de l'ouverture du marché.

Je dois donc :
- le lundi, prendre comme données de la veille celles du vendredi et non celles du dimanche soir
- agréger les données du dimanche soir dans celles de la journée du lundi pour le calcul du range de ce jour
- le mardi, prendre les données du dimanche soir et du lundi comme données de la veille.

Le bricolage rapide que j'ai fait ci-dessous ne me donne pas satisfaction et ne fonctionne pas sur tous les time frames.
Quelle solution me proposeriez-vous ?

En vous remerciant par avance de votre aide.
Bien cordialement.


_____________________________________________________________________________

Express GT_DailyRange

Vars
series
lower,
upper,
DailyRange,
MADailyRange,
xMinLo,
xMaxHi,
xRange;

Numeric
MinLo,
MaxHi,
topen;

input $MAADR(1, 1000, 96);


Calculation

CalculateAtEveryTick(false);
if h > MaxHi then MaxHi = h;
else MaxHi = MaxHi;
xMaxHi = MaxHi;
if l < MinLo then MinLo = l;
else MinLo = MinLo;
xMinLo = MinLo;

If IsNewDay() then begin
MaxHi = h;
MinLo = l;
xMaxHi = void;
xMinLo = void;
end

xRange = xMaxHi - xMinLo;

if IsFirstBar() then lower = void;

lower = lower[1];
lower = PrevDayLow();

upper = upper[1];
upper = PrevDayHigh();

DailyRange = upper - lower;

if DayOfWeek(date) = 0 then DailyRange = upper[2]-lower[2];
if DayOfWeek(date) = 1 then DailyRange = upper[24]-lower[24];

MovingAverage(DailyRange, MADailyRange,$MAADR);


interpretation
begin
end

plot (xRange, LightGreen, 2);
plot(DailyRange, LightBlue, 2);
plot(MADailyRange, LightRed, 2);
User avatar
WHS Support
Posts: 2443
Joined: 14 Feb 2013 10:27

Re: Average day range

Post by WHS Support »

Bonjour,

Je fais suite à votre post et vous prie de trouver ci-dessous le code de votre indicateur modifié.

Cette modification permet de traiter le dimanche et le lundi comme un seul jour:

Express GT_DailyRange

Vars
series
lower,
upper,
DailyRange,
MADailyRange,
xMinLo,
xMaxHi,
xRange, xupper, xlower;

Numeric
MinLo,
MaxHi,
nupper, nlower;

input $MAADR(1, 1000, 96);


Calculation

CalculateAtEveryTick(false);
if h > MaxHi then MaxHi = h;
else MaxHi = MaxHi;
xMaxHi = MaxHi;
if l < MinLo then MinLo = l;
else MinLo = MinLo;
xMinLo = MinLo;

If IsNewDay() then begin
MaxHi = h;
MinLo = l;
xMaxHi = void;
xMinLo = void;
end

xRange = xMaxHi - xMinLo;

if IsFirstBar() then lower = void;

lower = PrevDayLow();

upper = PrevDayHigh();

DailyRange = upper - lower;

if IsNewDay() then
begin
nupper = upper[1];
nlower = lower[1];
end

xlower = nlower;
xupper = nupper;

if DayOfWeek(date) = 1 then DailyRange = xupper - xlower;
else
DailyRange = upper - lower;

if IsFinalBar() then
MovingAverage(DailyRange, MADailyRange,$MAADR);

interpretation
begin
end

plot (xRange, LightGreen, 2);
plot(DailyRange, LightBlue, 2);
plot(MADailyRange, LightRed, 2);


Je vous en souhaite bonne réception.

Cordialement,

Amélie

WH SelfInvest
WHFX
Posts: 9
Joined: 19 Jun 2013 13:41

Re: Average day range

Post by WHFX »

Merci beaucoup Amélie.
C'est parfait.
Bonne journée...
WHFX
Posts: 9
Joined: 19 Jun 2013 13:41

Re: Average day range

Post by WHFX »

Encore une petite question,Amélie...

Auriez-vous une solution pour que la durée de la MM MADailyRange soit exprimée en minutes et reste constante quel que soit le time frame choisi pour l'affichage ?
C'est à dire qu'une valeur de 14.400 par exemple donnerait une MM sur 10 jours, que l'affichage soit en 1, 5 ou 60 minutes ou toute autre unité...

Merci ;-)
User avatar
WHS Support
Posts: 2443
Joined: 14 Feb 2013 10:27

Re: Average day range

Post by WHS Support »

Bonjour,

Je fais suite à votre post et vous informe, après avoir demandé confirmation à nos experts express, que cela n'est pas possible.

Je vous en souhaite bonne réception.

Cordialement,

Amélie

WH Selfinvest
WHFX
Posts: 9
Joined: 19 Jun 2013 13:41

Re: Average day range

Post by WHFX »

Merci Amélie.
N'y a-t-il pas de possibilité de connaitre la durée d'une bougie ?
Heure de début de la bougie précédente - Heure de début de la bougie actuelle par exemple ?
Ce qui pourrait permettre, en divisant la durée définie en paramètre par celle de la bougie, d'ajuster automatiquement la durée de la MM.
Qu'en pensez-vous ?
User avatar
WHS Support
Posts: 2443
Joined: 14 Feb 2013 10:27

Re: Average day range

Post by WHS Support »

Re-bonjour,

Pourriez-vous nous expliquer très clairement ce que vous souhaitez obtenir et dans quel but. Ainsi nous pourrons regrader le problème dans son ensemble et étudier une éventuelle possibilité. Vous pouvez nous contacter directement au service client si c'est plus commode pour vous.

Je vous en remercie par avance.

Cordialement,

Amélie
WH Selfinvest
WHFX
Posts: 9
Joined: 19 Jun 2013 13:41

Re: Average day range

Post by WHFX »

Je prends contact avec le service clients.

Merci.
Post Reply

Return to “WHS NANOTRADER - EXPRESS PROGRAMMING”