Calcul moyenne Range 1ière Bougie de 30min sur X jours
Forums › ProRealTime forum Français › Support ProBuilder › Calcul moyenne Range 1ière Bougie de 30min sur X jours
- This topic has 13 replies, 2 voices, and was last updated 7 months ago by christophe11560.
-
-
03/04/2024 at 12:08 PM #229193
Bonjour à tous,
je souhaiterais avoir un indicateur qui me permette de:
– calculer en intraday le range des 6 premières bougies de la journée (plus haut des 6 premières bougies de la journée – plus bas des 6 premières bougies de la journée),
– Faire la moyenne de ce range sur x jours.
– pouvoir afficher ou utiliser cet indicateur en intraday sur une unités de type 5 min par exemple.Si vous avez une idée?
Merci
christophe03/05/2024 at 10:32 AM #229224Hola A ver si te vale esto
123456789101112131415161718192021timestart = 153000timeend = 160000x = 3timeframe(30mn,updateonclose)if time >= timestart and time <= timeend thencount = 1 + counthh = highest[count](high)ll = lowest[count](low)elsecount = 0hh = hh[1]ll = ll[1]endiftimeframe(daily,updateonclose)mirange = hh - llsum=0for i = 0 to x-1 dosum = mirange[i]+sumnextavg = sum/xreturn hh coloured("green"), ll coloured("red")1 user thanked author for this post.
03/05/2024 at 10:08 PM #229285Salut Ivan et merci beaucoup pour le code 😉
Je joins le code de mon indicateur pour ceux de la communauté qui pourrait être intéressés. Il peut être amélioré bien sûr.
Dans le livre de toby Crabel “Day trading with short term price patterns and opening range breackout”, il indique que la taille de la plage de la première barre de 5 min par rapport à la moyenne des jours précédents doit être étudier avant d’initier une entrée anticipée dans un trade intraday.Toby Crabel écrit:
“ENTREE ANTICIPEE: L’entrée anticipée est définie comme un mouvement de prix important dans une direction dans les cinq premières minutes après l’ouverture de la session quotidienne. Une étude de l’entrée précoce est essentiellement une étude de l’action des prix, et le type d’action des prix qui se produit lors de l’entrée précoce montre que les participants sont pressés d’entrer sur le marché. C’est une reconnaissance distincte d’une situation profitable ou dangereuse.Il convient de noter que les mouvements directionnels de cette nature sont relativement rares et peuvent se produire seulement 10 % du temps. La plupart des jours (70 % à 80 %), les prix présentent une rotation ou une action agitée et les cinq à 10 premières minutes de négociation sont lentes et sans direction, sans mouvement clair s’éloignant de la fourchette d’ouverture.
L’action de prix d’entrée précoce est idéale lors de l’utilisation d’une cassure de gamme d’ouverture pour l’entrée. Une cassure du range d’ouverture est une transaction prise à un montant prédéterminé au-dessus ou en dessous du range d’ouverture. L’open devrait agir comme un extrême de cette fourchetteDeux versions:
– Type 1 : La première période de cinq minutes a une plage plus large que la normale. (“Normal” est à peu près défini comme la moyenne des premières plages de cinq minutes des 10 jours précédents.) . L’ouverture de la journée se situe à une extrémité de la barre de cinq minutes et la clôture de la barre de cinq minutes se trouve à l’extrême opposé. Le deuxième cinq minutes montre une poussée égale dans la direction du premier période de cinq minutes.
– Type 2: L’entrée est extrêmement puissante et se caractérise par une plage excessivement large dans les cinq premières minutes, très probablement plus grande que les premières périodes de cinq minutes des 20 jours précédents. Une poussée égale dans la période suivante est difficile à gérer, mais une dérive générale dans la direction des cinq premières minutes est probable avec une accélération après une nouvelle accumulation.
– Nota: L’absence d’entrée anticipée et l’absence d’échappée claire sur une cassure de range d’ouverture appellent à une action de range de trading avec un marché généralement incapable de suivre une tendance.”C’est intéressant comme première analyse avant d’initier une entrée. Si la première barre de 5 min répond aux critères ci-dessus, on peut mieux anticiper son entrée précoce. D’ailleurs on pourrait l’utiliser à mon avis sur des systèmes mécaniques comme base de filtre pour confirmer ou infirmer l’ouverture d’une position un jour donné afin d’éviter les journées à faible range.
Indicateur:
– En bleu, la plage moyenne, en vert si elle est supérieure à la normale et en rouge si elle est inférieure à la normale.
– Vous pouvez sélectionner une version qui mesure le True range et non le range, ainsi que le nombre de jour souhaité pour le calcul de la moyenne.
– Attention au timeframe: il doit être utilisé avec des multiples compatible. Sinon il faut modifier l’utilité de temps à 2 endroit du code. Par exemple avec une unité de 2 min ou 7 min ca ne fonctionne pas en l’état, il modifié l’unité du timeframe dans le code.
Nota: Si quelqu’un a une astuce pour régler ce problème, je suis intéressé par la solution de codage correspondante.
– Je ne l’ai pas encore fait, mais pour une période de 20 jours, on pourrait identifier sur la base du code des bandes de Bollinger ou sur le même principe, les barres de 5min qui sont excessives.CCH_ELAN PLAGE INTRADAY SUR X JOURS123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657timestart = 153000timeend = 153500x=10versionTR=0timeframe(5mn,default)if time >= timestart and time <= timeend thenif versionTR>0 thenAmaxday=max(close[1],high)Aminday=min(close[1],low)elseAmaxday=highAminday=lowendifcountday = 1 + countdayhhday = highest[countday](Amaxday)llday = lowest[countday](Aminday)MyRangeDay=hhday-lldayelsecountday = 0MyRangeDay=MyRangeDay[1]endiftimeframe(5mn,updateonclose)if time >= timestart and time <= timeend thenif versionTR>0 thenAmax=max(close[1],high)Amin=min(close[1],low)elseAmax=highAmin=lowendifcount = 1 + counthh = highest[count](Amax)ll = lowest[count](Amin)elsecount = 0hh = hh[1]ll = ll[1]endiftimeframe(daily,updateonclose)mirange = hh - llsum=0for i = 0 to x-1 dosum = mirange[i]+sumnextavg = sum/xtimeframe(default)if MyRangeDay<=avg thenr=255g=0elser=0g=255endifreturn avg coloured(0,0,255) as "range moyen sur une plage horaire sur x jours", MyRangeDay coloured(r,g,0) style(line,3) as "range du jour"03/06/2024 at 11:06 AM #229324Bonjour ivan,
As tu une astuce pour que mon indicateur puisse fonctionner sur n’importe unité intraday sans avoir le problème lié au timeframe?
Par exemple, si je change l’unité de temps du graphique de 5 à 2 min, l’indicateur ne fonctionne plus.Merci
03/06/2024 at 11:27 AM #229330Bonjour.
Toutes les vues temporelles dans le code doivent être des multiples de la vue temporelle du graphique.
Dans votre cas, lorsque vous utilisez un timeframe de 5 minutes, vous pouvez l’afficher en 1 minute parce que c’est un multiple, mais pas en 2 minutes parce que ce n’est pas le cas.1 user thanked author for this post.
03/08/2024 at 4:03 PM #229487Bonjour Ivan,
J’ai un petit soucis avec mon code. Code adapté pour le graphique
A l’ouverture du marché US un message d’erreur apparaît et ferme mon indicateur.
Puis si je le réinstalle il fonctionne.Arais tu une idée du problème?
Merci1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859defparam calculateonlastbars = 3000defparam drawonlastbaronly=truetimestart = 153000timeend = 153600NbBar=3 // 3*2min=6minalphafond=250timeframe(2mn,updateonclose)versionTr=0if time >= timestart and time <= timeend thenif versionTR>0 thenAmax=max(close[1],high)Amin=min(close[1],low)elseAmax=highAmin=lowendifcount = 1 + counthh = highest[count](Amax)ll = lowest[count](Amin)elsecount = 0hh = hh[1]ll = ll[1]endiftimeframe(daily,updateonclose)x=10mirange = hh - llsum=0for i = 0 to x-1 dosum = mirange[i]+sumnextavg = sum/xtimeframe(default)if intradaybarindex=0 or day<>day[1] thenstartbar=barindex+NbBar-1startprice=barindexHaut=highest[NbBar](high)Bas=lowest[nbbar](low)BasProjete = Haut-avgHautProjete= Bas+avgif low[2]<low thenmyhaut= hautmybas= BasProjeteelsemyhaut= HautProjetemybas= basendifendifif islastbarupdate thendrawrectangle(startbar,myhaut,startprice,myBas) coloured(0,0,0,ALPHAfond) bordercolor(0,0,0,100)texte=0IF TEXTE>0 THENval=round(myhaut-myBas,2)DRAWTEXT("#val#",BARINDEX+1,myhaut+10*ticksize,SansSerif,Bold,12) coloured(51,102,255)ENDIFendifreturn03/11/2024 at 8:50 AM #22956703/11/2024 at 2:45 PM #229608Bonjour Ivan,
Changement d’heure ouverture de marché US
nota: l’indicateur programmé pour 15h30 et aujourd’hui le marché ouvre à 14h30.
Je regarde demainChristophe 😉
03/11/2024 at 3:00 PM #229609Yvan,
ca me fait penser, comment peut on faire pour éviter ce problème.
Si je suis sur le marché européen, j’aurais le même problème, les horaires ne correspondront pas.
Est ce qu’on peut définir à la place un nombre de bougie à partir de l’entrée du jour, au lieu d’une plage horaire? Et si oui, comment adapter le code?03/11/2024 at 3:19 PM #229612Exemple:
En ut 2min, au de faire le calcul de 15h30 à 15h36, faire le calcul sur les 3 premières barres de la journée.03/13/2024 at 9:13 AM #229673Bonjour Ivan,
Ci-joint capture d’écran. “Erreur de calcul”03/22/2024 at 5:47 PM #230301Bonjour Ivan,
As tu pu examiner mon problème?
bien à toi03/25/2024 at 9:18 AM #230388Bonjour, je n'ai pas trouvé le problème que vous évoquez… Concernant avoir les 3 premières barres de la journée, vous pouvez appliquer ce qui suit :
if intradaybarindex < 3 then
1 user thanked author for this post.
03/29/2024 at 8:38 AM #230683Bonjour Ivan,
en utilisant “if intradaybarindex < 3 then" au lieu de "if time >= timestart and time <= timeend then", je n'ai pas eu hier d'erreur de calcul pour l'indicateur à l'ouverture du marché US. A plus1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on