Bonjour,
Mon code ne fonctionne pas correctement en intraday.
– Les zone up et zone dn ne s’affiche pas correctement le jour donné (exemple le matin sur marché US).
– Les valeurs moyennes minimum décrites ci-dessous ne sont pas correctement restituées sur et sous l’ouverture du jour en intraday.
Je projette ces zones sur mon graphique en intraday.
En daily:
– si la bouge clôture en dessous de l’ouverture: je calcule la différence entre le (haut – ouverture) et (clôture – bas) => je retiens le minimum des 2,
– si la bouge clôture au dessus de l’ouverture: je calcule la différence entre le (haut – clôture) et (ouverture – bas) => je retiens le minimum des 2,
– je fais ensuite la moyenne sur 10 jours de ces minimums.
en intraday, quelques soit l’unité de temps:
– j’ajoute à l’ouverture du jour cette valeur moyenne (zone up)
– je retire à l’ouverture du jour cette valeur moyenne (zone dn)
L’idée, acheter une cassure à la hausse ou à la baisse de ces zones.
Merci de bien vouloir me dire ce qui ne fonctionne pas correctement. Le calcul de ces zones ne sont pas correctement renvoyé en intraday.
defparam calculateonlastbars = 3000
defparam drawonlastbaronly=true
ALPHAfond=max(1,alphafond)
ALPHAfond=50
timeframe(daily)
REM TRUE RANGE
amax=high
amin=low
REM Calcul Volatilité journalière minimale par rapport à l'ouverture
if close<open then
volathaute=amax-open
volatbasse=close-amin
else
volathaute=amax-close
volatbasse=open-amin
endif
volatmin=min(volatbasse,volathaute) // on veut la plus petite des deux
REM moyenne volatilité minimale sur 10 jours
VolatMoy=average[10](volatmin) // on fait la moyenne sur 10 jours de la volatilité minimum des jours de trading précédent la séance en cours.
rem zone up et dn par rapport à l'ouverture du jour
ouverture=Dopen(0)
myouverture=round(ouverture,2)
ZoneUP= ouverture+VolatMoy
ZoneDN= ouverture-VolatMoy
valup=round(zoneup,2)
valdn=round(zonedn,2)
timeframe(default)
if intradaybarindex=0 or day<>day[1] then
startbar=barindex
startprice=barindex+ 120
endif
if islastbarupdate then
DRAWSEGMENT (startbar,ouverture,startprice,ouverture) coloured(103,103,103) style (dottedline,3)
drawrectangle(startbar,ouverture,startprice,valdn) coloured(255,51,51,ALPHAfond) bordercolor(0,0,0,20)
drawrectangle(startbar,valup,startprice,ouverture) coloured(0,204,0,ALPHAfond) bordercolor(0,0,0,20)
endif
return
defparam calculateonlastbars = 3000
defparam drawonlastbaronly=true
ALPHAfond=max(1,alphafond)
ALPHAfond=50
timeframe(daily)
REM TRUE RANGE
amax=high[1]
amin=low[1]
REM Calcul Volatilité journalière minimale par rapport à l'ouverture à partir de la veille
if close[1]<open[1] then
volathaute=amax-open[1]
volatbasse=close[1]-amin
else
volathaute=amax-close[1]
volatbasse=open[1]-amin
endif
volatmin=min(volatbasse,volathaute) // on veut la plus petite des deux
REM moyenne volatilité minimale sur 10 jours
VolatMoy=average[10](volatmin) // on fait la moyenne sur 10 jours de la volatilité minimum des jours de trading précédent la séance en cours.
rem zone up et dn par rapport à l'ouverture du jour
ouverture=Dopen(0)
myouverture=round(ouverture,2)
ZoneUP= ouverture+VolatMoy
ZoneDN= ouverture-VolatMoy
valup=round(zoneup,2)
valdn=round(zonedn,2)
timeframe(default)
if intradaybarindex=0 or day<>day[1] then
startbar=barindex
startprice=barindex+ 120
endif
if islastbarupdate then
DRAWSEGMENT (startbar,ouverture,startprice,ouverture) coloured(103,103,103) style (dottedline,3)
drawrectangle(startbar,ouverture,startprice,valdn) coloured(255,51,51,ALPHAfond) bordercolor(0,0,0,20)
drawrectangle(startbar,valup,startprice,ouverture) coloured(0,204,0,ALPHAfond) bordercolor(0,0,0,20)
endif
return
Bonjour, je constate les mêmes résultats avec les bougies de 5 minutes qu'avec les bougies quotidiennes. Je ne comprends pas quel est le problème.
Bonjour,
Quand je met en pièce jointe des photos format jpeg (803ko au total), elle ne sont pas jointes au message après envoi. hier pareil, je ne sais pas pourquoi.
Là je les remets avec ce message, 2 photos.
Problème:
En unité intraday, lorsque j’installe l’indicateur sur le graphique il fonctionne. Puis quelques secondes plus tard les zones colorées disparaissent il ne reste que la ligne en pointillée d’ouverture.
J’ai fait l’essai suivant:
1) j’ajoute le texte suivant:
DRAWTEXT("VolatMoy:#VolatMoy#",BARINDEX+5,ouverture,SansSerif,Bold,20) coloured(0,0,0)
A l’installation de l’indicateur graphique la valeur volatMoy s’affiche correctement.
2) Puis lorsque les zones colorées disparaissent au bout de quelques instants, la valeur voltMoy ne se calcule plus. valeur affichée = “n/d”
Pourquoi?
Bien à toi
Hello.. had the same result as the one you mentioned, with the appearance of working, but not the disappearance. Try this, it seems to run for up to 4 seconds with 16000 units at 10 bars daily on average, beyond that you alone!
I manually calculated the required values from the DAX40 by hand and then checked against the values obtained from the code until they matched.
defparam drawonlastbaronly = true
timeframe(daily,updateonclose )
AccMinWikRng = 0
lookback = 9
for i = 0 to lookback
num = i
dcl = dClose(num)
dhi = dhigh(num)
dlo = dlow(num)
dop = dopen(num)
candle = 0
if dop = max(dop,dcl )then
candle = -1
else
candle = 1
endif
if dcl < dop then
hiWikRng = dhi - dop
loWiikRng = dcl - dlo
else
hiWkRng = dhi - dcl
loWikRng = dop - dlo
endif
minWikRng = min(loWikRng,hiWikRng)
AccMinWikRng = (AccMinWikRng + minWikRng)
next
AveMinWikRng = AccMinWikRng / (lookback+1)
timeframe (default )
daysOp = Dopen(0)
zoneUp = daysOp + AveMinWikRng
zoneDn = daysOp - AveMinWikRng
if intradaybarindex = 0 then
startBar = barindex
endif
if islastbarupdate then
a=50
drawsegment(startbar,daysOp,barindex + 10,daysOp)coloured(103,103,103) style (dottedline,3)
drawrectangle(startbar,daysOp,barindex + 10,zoneDn) coloured(255,51,51,a) bordercolor(0,0,0,20)
drawrectangle(startbar,zoneUp,barindex + 10,daysOp) coloured(0,204,0,a) bordercolor(0,0,0,20)
endif
return close
// approx timeframe and required bars
// > 2min 25 units 10 of lookback values
// 2 min 200 units 10
// 1 min 800 units 10
// 30 sec 2000 units 10
// 15 sec 4000 units 10
// 10 sec 9000 units 10
// 5 sec 16000 units 10
// 4 sec 16000 units 10
// < 4sec unable at lookback
Bonjour Ivan,
je fais l’essai lundi et je te tiens au courant.
merci
Bonjour Ivan,
Il doit y avoir une erreur dans le code que tu me proposes.
Les photographies et valeurs indiquées sur graphique de l’Orb (moyenne sur 10 jours des volat calculés) sont prises pour l’action snowflake code SNOW:
– La valeur de l’orb en UT 2 min ne correspondant pas à la valeur trouvé en daily
– la valeur de l’orb en UT 2 min varie en fonction de la valeur de pré ouverture alors quelle devrait être fixe.
Dans l’attente de te lire
erreur d’envoi sur la photographie intitulé “orb sur graphique 2min avec zone colorée” => à remplacer par : “ORB calcul classique en daily sans erreur “, la bonne valeur Orb est 1.185 le 11.03.2024.
Désolé druby,
je croyais que le code venait de Ivan le modérateur, excuse moi 😉 et merci pour ton intervention.
Si vous voyez une solution à mon problème je suis preneur.
J’ai un problème similaire sur un autre indicateur.
Ivan, pour quelle raison mon code ne marche pas? il me parait pourtant bien écrit.
Bonjour Ivan,
Pour quelle raison je n’arrive pas à utiliser dans un timeframe intraday, une valeur calculée sur une moyenne de plusieurs jours dans un timeframe Daily comme mon code du post #229384?
Bien à toi
Bonjour à tous,
J’ai trouvé la correction à apporter à mon code pour qu’il fonctionne correctement en intraday 😉
L’idée derrière la définition de ces zones par toby Grabel:
– Une cassure de ces zones par le haut ou le bas est un signal d’achat ou de vente short.
– Un échec de cassure à la hausse (ou à la baisse) et une traversée de l’ouverture du jour à la baisse (ou à la hausse) indique qu’une inversion est peut être en cours.
– Si le prix ne s’échappe pas de ces zones notamment la première heure de session (ou en milieu de session pour les inversions de journée) la journée est sans tendance.
J’espère que cela vous aidera.
REM ORB DE TOBY GRABEL:
REM Calcul Volatilité journalière minimale par rapport à l'ouverture à partir de la veille
dvolatmin1=0
dvolatmin2=0
for i = 1 to 10
if dclose(i)<dopen(i) then
//volathaute=dhigh(i)-dopen(i)
//volatbasse=dclose(i)-dlow(i)
dvolatmin1=dvolatmin1+min(dhigh(i)-dopen(i),dclose(i)-dlow(i)) // on veut la plus petite des deux volatilité Haute et basse
else
//volathaute=dhigh(i)-close[1]
//volatbasse=open[i]-dlow(i)
dvolatmin2=dvolatmin2+min(dhigh(i)-dclose(i),dopen(i)-dlow(i)) // on veut la plus petite des deux volatilité Haute et basse
endif
next
REM moyenne volatilité minimale sur 10 jours
VolatMoy=(dvolatmin1+dvolatmin2)/10 // on fait la moyenne sur 10 jours de la volatilité minimum des jours de trading précédent la séance en cours.
rem zone up et dn par rapport à l'ouverture du jour
valup=round(Dopen(0)+VolatMoy,2)
valdn=round(Dopen(0)-VolatMoy,2)
if intradaybarindex=0 or day<>day[1] then
LongueurTrait=max(1,LongueurTrait)
LongueurTrait=180
startbar=barindex-15
startprice=barindex+ LongueurTrait
endif
if islastbarupdate then
AlphaFondOrb=max(1,AlphaFondOrb)
AlphaFondOrb=50
drawrectangle(startbar,Dopen(0),startprice,valdn) coloured(255,51,51,AlphaFondOrb) bordercolor(0,0,0,20)
drawrectangle(startbar,valup,startprice,Dopen(0)) coloured(0,204,0,AlphaFondOrb) bordercolor(0,0,0,20)
endif
return