indicateur de volume sans clôture
Forums › ProRealTime forum Français › Support ProBuilder › indicateur de volume sans clôture
- This topic has 5 replies, 2 voices, and was last updated 1 year ago by DavidZ.
-
-
05/16/2023 at 5:32 PM #214817
Bonjour,
Je cherche à coder un indicateur qui montre les volumes sans tenir compte de ceux de la barre de clôture sur les UT M15 et M5. En effet, les volumes de clôture étant très supérieurs à ceux des autres barres, les volumes sont très peu lisibles sur les graphiques intraday (toutes les barres sont écrasées sauf celles de clôture ; confer capture d’écran). Comme il n’est pas possible de modifier l’échelle des ordonnées de l’indicateur de volume fourni par défaut, j’ai créé mon propre indicateur avec le code ci-dessous. Cela fonctionne bien, sauf sur les graphiques M5 qui ne comportent pas 102 barres par jour (parfois, il n’y a que 101, 100 ou encore moins de barres en raison de trous dans les cotations). Avez-vous une idée pour résoudre ce problème ?
Merci d’avance.
05/16/2023 at 5:43 PM #214818Volumes sans clôtures123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172// Indicateur de volumes sans les clôtures// Codes couleurs :// Vert (80, 210, 80)// Rouge (220, 100, 100)// Noir (0, 0, 0)// Bleu ciel (0, 127, 255, 25)DEFPARAM CALCULATEONLASTBARS = 400// Définition des variablesMyVolume = Average[50](Volume)Hausse = close >= close[1]Baisse = close < close[1]period = 200// Il y a 102 barres intraday sur un graphe M5 et 34 sur un graphe M15IF Highest[period](IntradayBarIndex) = 102 THENBACKGROUNDCOLOR (0, 127, 255, 25)SMA = Average[200](Volume)IF IntradayBarIndex = 102 THENResult = MyVolumer = 0g = 0b = 0ELSEResult = volumeIF Hausse THENr = 80g = 210b = 80ELSIF Baisse THENr = 220g = 100b = 100ENDIFENDIFELSIF Highest[period](IntradayBarIndex) = 34 THENBACKGROUNDCOLOR (0, 127, 255, 25)SMA = Average[200](Volume)IF IntradayBarIndex = 34 THENResult = MyVolumer = 0g = 0b = 0ELSEResult = volumeIF Hausse THENr = 80g = 210b = 80ELSIF Baisse THENr = 220g = 100b = 100ENDIFENDIFELSESMA = Average[50](Volume)Result = VolumeIF Hausse THENr = 80g = 210b = 80ELSIF Baisse THENr = 220g = 100b = 100ENDIFENDIFRETURN Result COLOURED(r, g, b) STYLE(Histogram) AS "Volumes sans clôtures", SMA AS "SMA200"05/16/2023 at 6:20 PM #214820Bjr,
On peut par exemple utiliser une condition sur l’horaire d’ouverture de la portion à éliminer plutôt qu’un nombre de barres, pour à la fois : traiter en une seule fois les UT intra que tu souhaites au lieu d’avoir un bout de code pour chaque UT, et éviter tout problème de barre vide en cours de journée en cas de titre peu liquide:
12345678910111213141516if opentime<173000 thenmonvol=volumeelsemonvol=0endifif close>=close[1] thenrouge=80vert=210bleu=80elserouge=220vert=100bleu=100endifreturn monvol style(HISTOGRAM) coloured(rouge,vert,bleu)1 user thanked author for this post.
05/16/2023 at 8:14 PM #214824Merci infiniment pour cette réponse rapide et cette solution bien plus simple que ce que j’avais imaginé au départ ! ça marche parfaitement.
En réalité, au lieu d’avoir des volumes à zéro pour la clôture, je souhaiterais afficher une barre noire qui a comme valeur la MM50 des volumes. J’ai changé dans le code proposé monvol=0 par monvol=Average[50](Volume) mais je ne sais pas comment coder pour avoir la barre en noire… Pouvez-vous m’indiquer une solution ? Merci d’avance.
05/16/2023 at 8:20 PM #214825Dans ce cas, on peut modifier ainsi:
12345678910111213141516171819if opentime<173000 thenmonvol=volumeif close>=close[1] thenrouge=80vert=210bleu=80elserouge=220vert=100bleu=100endifelsemonvol=average[50](Volume)rouge=0vert=0bleu=0endifreturn monvol style(HISTOGRAM) coloured(rouge,vert,bleu)1 user thanked author for this post.
05/16/2023 at 8:27 PM #214826 -
AuthorPosts
Find exclusive trading pro-tools on