RANGE INTRADAY avec fonction drawrectangle
Forums › ProRealTime forum Français › Support ProBuilder › RANGE INTRADAY avec fonction drawrectangle
- This topic has 35 replies, 3 voices, and was last updated 1 year ago by
christophe11560.
-
-
10/06/2022 at 10:57 PM #202038
Pour le code en ticks, en amont du calcul de volatmoy avec tableaux, le commentaire du post #200701 se traduira par la modification suivante en créant amaxhier et aminhier pour corriger ton bug dans volathaute et volatbasse afin de correspondre à amax[1] et amin[1] du code en ut jour.
D’autre part, dans le cas des cfd h24 pour être sûr d’avoir exactement les mêmes open de journée en ticks que celles retournées par le mot-clé dopen(), j’ai remplacé les recherches de changement de dates avec un today<>today[1] (parenthèse: ok à la date du post, je reste juste prudent sur today qui a déjà changé de comportement lors d’une version précédente, au cas où le post remonte dans le futur et que l’ancien comportement soit éventuellement revenu entretemps)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152defparam drawonlastbaronly=trueiatr=exponentialaverage[100](tr)REM TRUE RANGEamax=max(dclose(1),dhigh(0))amin=min(dclose(1),dlow(0))if today<>today[1] thenamaxhier=amax[1]aminhier=amin[1]ouvhier=ouvjourouvjour=openendifREM Calcul Volatilité journalière minimale par rapport à l'ouverturevolathaute=amaxhier-ouvhier // calcul de la volatilité au dessus de l’ouverture de la veille.volatbasse=ouvhier-aminhier // calcul de la volatilité en dessous de l’ouverture de la veille.volatmin=min(volatbasse,volathaute) // on veut la plus petite des deuxREM moyenne volatilité minimale sur 10 joursif today<>today[1] then//if opendate<>opendate[1] then$memo[lastset($memo)+1]=volatminendifif lastset($memo)>=10 thenVolatcumu=0For i= lastset($memo)-9 to lastset($memo)Volatcumu= Volatcumu+$memo[i]nextVolatMoy=Volatcumu/10endifREM Définition des limites des 2 zones décrites plus haut:ZoneUP= dopen(0)+VolatMoyZoneDN= dopen(0)-VolatMoyvalup=round(zoneup,5)valdn=round(zonedn,5)ouverture=round(dopen(0),5)if intradaybarindex=0 or day<>day[1] thenstartbar=barindexstartprice=openendifif islastbarupdate thenALPHAfond=25drawrectangle(startbar,startprice,barindex,zoneup) coloured(0,204,0,ALPHAfond) bordercolor(0,0,0,20)DRAWTEXT("#valup#",BARINDEX-3,valup+1*iatr,SansSerif,Bold,14) coloured(51,102,255)drawrectangle(startbar,startprice,barindex,zonedn) coloured(255,51,51,ALPHAfond) bordercolor(0,0,0,20)DRAWTEXT("#valdn#",BARINDEX-3,valdn-1*iatr,SansSerif,Bold,14) coloured(204,0,0)DRAWTEXT("#ouverture#",BARINDEX-3,ouverture-1*iatr,SansSerif,Bold,14) coloured(0,0,0)endifreturn10/06/2022 at 11:08 PM #20203912/02/2022 at 6:36 PM #205201Bonjour JC,
Désolé de ne pas vous avoir donné de réponse avant, j’ai dû m’absenter. Et merci pour ton retour.
Je n’ai pas encore tester le code.Fonctionne t’il en UT minutes ou horaires?
Je te tiens au courant pour le codechristophe
03/22/2023 at 12:12 PM #211920Bonjour Nicolas et JC BYWAN,
après la réinstallation de PRT, le code que l’on a établi ensemble pour la version UT min fonctionne pour partie. Ce qui est une bonne nouvelle ! parce qu’il ne reste plus que des problèmes de mise en forme sur graphique.
En effet, le calcul est bon pour les zones Up et Dn. C’est à dire que Les valeurs Journalières sont bien les mêmes que celle que l’on a en UT min. OUFF!!!Mes problèmes de présentation sont les suivants: (voir photographie jointe UT 2 min, 1) 2) et 3) sur photo):
– les zones UP et Zone DN ne se tracent automatiquement à l’ouverture du marché
– 1) Si je touche une variable du code sur la page de configuration de l’indicateur les zones apparaissent sur les bougies qui se sont présentes depuis l’ouverture. 2) Puis la zone ne suit plus les nouvelles bougies à l’avancement du trade.
– 3) la valeur de l’ouverture s’incrémente à chaque nouvelle bougie. Cela ne le fait pas pour les valeurs zones up et dn.
Nota: si j’ajoute, la fonction “defparam drawonlastbaronly=true” en début de code les zones colorés UP et DN n’apparaissent plus…Savez vous comment je peux corriger le code ci-dessous de base?
Merci par avancecode de base zone up et dn12345678910111213141516171819202122232425262728293031323334353637383940414243iatr=average[100](tr)ALPHAfond=max(1,alphafond)alphafond=75decalagetexte=5timeframe(daily)REM TRUE RANGEamax=max(close[1],high[0])amin=min(close[1],low[0])REM Calcul Volatilité journalière minimale par rapport à l'ouverturevolathaute=amax[1]-open[1] // calcul de la volatilité au dessus de l’ouverture de la veille.volatbasse=open[1]-amin[1] // calcul de la volatilité en dessous de l’ouverture de la veille.volatmin=min(volatbasse,volathaute) // on veut la plus petite des deuxREM moyenne volatilité minimale sur 10 joursVolatMoy=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 Définition des limites des 2 zones décrites plus haut:ZoneUP= open+VolatMoyZoneDN= open-VolatMoyvalup=round(zoneup,2)valdn=round(zonedn,2)ouverture=round(dopen(0),2)timeframe(default)if intradaybarindex=0 or day<>day[1] thenstartbar=barindexstartprice=openendifif islastbarupdate thendrawrectangle(startbar,startprice,barindex,zoneup) coloured(0,204,0,ALPHAfond) bordercolor(0,0,0,20)drawrectangle(startbar,startprice,barindex,zonedn) coloured(255,51,51,ALPHAfond) bordercolor(0,0,0,20)IF TEXTE THENDRAWTEXT("#valup#",BARINDEX+decalagetexte,valup,SansSerif,Bold,10) coloured(51,102,255)DRAWTEXT("#valdn#",BARINDEX+decalagetexte,valdn,SansSerif,Bold,10) coloured(204,0,0)DRAWTEXT("#ouverture#",BARINDEX+decalagetexte,ouverture,SansSerif,Bold,10) coloured(0,0,0)ENDIFendifreturn03/24/2023 at 2:55 PM #212059C’est curieux en effet, les éléments graphiques (rectangles et textes) ne s’affiche qu’une fois puis disparaisse lors d’une nouvelle bougie, pourtant les valeurs coordonnées sont bien présentes. Je vais continuer à chercher pour comprendre pouquoi.
Pour reproduire, voici ma version:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546defparam drawonlastbaronly=truetexte=1iatr=average[100](tr)ALPHAfond=max(1,alphafond)alphafond=75decalagetexte=5timeframe(daily)REM TRUE RANGEamax=max(close[1],high[0])amin=min(close[1],low[0])REM Calcul Volatilité journalière minimale par rapport à l'ouverturevolathaute=amax[1]-open[1] // calcul de la volatilité au dessus de l’ouverture de la veille.volatbasse=open[1]-amin[1] // calcul de la volatilité en dessous de l’ouverture de la veille.volatmin=min(volatbasse,volathaute) // on veut la plus petite des deuxREM moyenne volatilité minimale sur 10 joursVolatMoy=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 Définition des limites des 2 zones décrites plus haut:ZoneUP= open+VolatMoyZoneDN= open-VolatMoyvalup=round(zoneup,2)valdn=round(zonedn,2)ouverture=round(dopen(0),2)timeframe(default)if intradaybarindex=0 or day<>day[1] thenstartbar=barindexstartprice=openendifif islastbarupdate thendrawrectangle(startbar,startprice,barindex,zoneup) coloured(0,204,0,ALPHAfond) bordercolor(0,0,0,20)drawrectangle(startbar,startprice,barindex,zonedn) coloured(255,51,51,ALPHAfond) bordercolor(0,0,0,20)IF TEXTE THENDRAWTEXT("#valup#",BARINDEX+decalagetexte,valup,SansSerif,Bold,10) coloured(51,102,255)DRAWTEXT("#valdn#",BARINDEX+decalagetexte,valdn,SansSerif,Bold,10) coloured(204,0,0)DRAWTEXT("#ouverture#",BARINDEX+decalagetexte,ouverture,SansSerif,Bold,10) coloured(0,0,0)ENDIFendifreturn barindex,startbar,startprice,zoneup,zonedn03/28/2023 at 7:54 AM #212267Je te remercie par avance 😉
-
AuthorPosts
Find exclusive trading pro-tools on