Affichage points hauts et bas sur plage horaire
Forums › ProRealTime forum Français › Support ProBuilder › Affichage points hauts et bas sur plage horaire
- This topic has 15 replies, 2 voices, and was last updated 3 years ago by patton966.
-
-
03/14/2021 at 5:35 PM #164125
Bonjour,
je cherche une solution pour afficher sur un graphique des points dynamiques + haut / + bas, mais sur 2 périodes précises de la journée.
Ils doivent se figer et rester en place sur le graphique journalier à la fin de chaque période.
1ère période : de 22.01 H Jour n-1 à 15H30 Jour n (heures de Paris)
2ème période : de 15H31 à 22 H Jour n
L’idéal serait que les points puissent se déplacer dynamiquement au cours des périodes en s’affichant à côté des bougies les plus hautes et les plus basses.
Je vous joint en annexe le graphique que je voudrais obtenir.
03/14/2021 at 5:41 PM #16412703/14/2021 at 5:53 PM #164130Désolé, ça ne fonctionne toujours pas à la sauvegarde, alors que j’ai bien la valeur des points qui apparaît sur mon graphique au dessus des petites lignes. Je ne comprends pas pourquoi.
La valeur des points hauts et bas doit bien apparaître sur les graphiques au dessus des petites lignes horizontales.
03/14/2021 at 5:56 PM #16413103/14/2021 at 6:44 PM #164133Bonsoir, question très similaire il y a quelques heures quelques messages plus bas dans le forum, si ça peut aider : https://www.prorealcode.com/topic/plus-haut-et-plus-bas/
03/14/2021 at 8:14 PM #16413903/14/2021 at 9:48 PM #164158En l’absence d’une façon différente d’identifier ces plus haut/plus bas, je vais quand même partir de cet autre post dans le forum pour servir de base de code auquel ajouter un affichage. Si cette façon de calculer les plus hauts plus bas dans l’autre post n’est pas ce que tu cherches, merci de préciser.
A tester demain matin pour voir si la valeur affichée à la fois dynamique mais statique tant que pas de nouveau plus haut/ plus bas est la bonne ou pas sur la période 22h-15h30 pour commencer. Si oui, adapter un 2e code pour 15h30-22h, ou faire un rajoût dans ce même code, ou revenir demander si besoin.
123456789101112131415161718192021222324252627defparam DRAWONLASTBARONLY=truedecal=1 // pour décaler l'affichage au-dessus et en-dessous des mèchesstart = 220000end = 153000tc = time>start or time<=endif tc thenif not tc[1] thenhh=highll=lowendifhh=max(high,hh)ll=min(low,ll)if hh<>hh[1] thenbarhh=barindexendifif ll<>ll[1] thenbarll=barindexendifendifDRAWTEXT("#hh#", barhh, hh+decal*pipsize)DRAWTEXT("#ll#", barll, ll-decal*pipsize)return//03/14/2021 at 10:51 PM #16417003/14/2021 at 11:53 PM #164172Re,
je viens de tester le programme, ça fonctionne parfaitement. L’affichage réagit bien en temps réel sur chaque bougie. J’ai juste modifié le code DECAL pour décaler l’affichage. En revanche, je n’arrive pas à modifier la taille de l’affichage. Dans “Propriétés”, j’ai beau décocher, changer la taille de l’étiquette, ça ne change rien. Je voudrais pouvoir augmenter la taille de l’affichage.
Une autre question : serait-il possible de faire en sorte que l’affichage des + hauts / + bas se fige à la fin de chaque période (pour ne pas perdre l’historique journalier) ?
Merci encore.
03/15/2021 at 6:08 PM #164245Bonjour,
J’ai créé un indicateur dans le graphique des prix qui s’appelle “NQ nuit” avec le code que j’ai reçu. Cela fonctionne très bien (heures de 15H30 à 22H00 – que je peux modifier).
J’ai créé un deuxième indicateur que j’ai appelé “NQ jour”, en recopiant le code, mais en changeant la plage horaire, et je viens de m’apercevoir que celui-ci ne fonctionne pas. Aucun point haut ni bas ne s’est affiché depuis 15H30.
Pouvez-vous svp m’expliquer pourquoi.
Merci.
03/15/2021 at 6:30 PM #164249Pour modifier la taille du texte, plusieurs sources d’aide possible:
- dans le code, positionner le curseur dans le mot drawtext, cliquer sur l’ampoule dans le menu en haut de l’éditeur de code, ça affichera une aide en ligne relative au mot où est le curseur
- autre façon de faire dans le code, peu importe où est le curseur, cliquer sur le bouton “fx” juste à droite du bouton ampoule mentionné ci-avant, sélectionner la catégorie “commandes de dessin”, sélectionner “drawtext”, une aide en ligne sur le sujet s’affiche
- ici sur ce site internet, aller dans le menu “help” du bandeau bleu ci-dessus, puis “probuilder language documentation”, puis graphical, puis drawtext, on arrive à (lien direct): https://www.prorealcode.com/documentation/drawtext/ qui décrit les choix possibles d’options. Exemple avec augmentation de la taille de 10 (défaut quand non précisé) à 12, en gardant volontairement la police par défaut dialog et le style standard, pour illustrer que même si on ne change qu’un seul des 3 termes optionnels police/style/taille, on est obligé de spécifier les 3 ou rien:
12DRAWTEXT("#hh#", barhh, hh+decal*pipsize,dialog,standard,12)DRAWTEXT("#ll#", barll, ll-decal*pipsize,dialog,standard,12)En ce qui concerne l’historique, 2 façons de voir les choses:
- soit on laisse progresser barre par barre et on aura un affichage assez dense car renouvelé à chaque bougie présentant un nouveau point plus haut ou plus bas, mais sans avoir le bénéfice de la confirmation des barres suivantes qui ont feront un extrême ou pas (puisqu’en temps réel on ne peut pas savoir qu’un point sera un extrême)… pour ceci il suffit de supprimer la première ligne defparam drawonlastbaronly et tout l’historique sera affiché
- soit on veut tenir compte des barres suivant un nouveau plus haut plus bas pour les filtrer en ne retenant que les véritables extrêmes, alors d’une part il faudra repartir de la dernière bougie avec des boucles FOR TO NEXT qui reviendront en arrière parcourir l’historique et qui seront énormément plus lentes en éxécution de l’indicateur, et d’autre part il faut aussi définir ce qui va compter pour en faire un nouveau plus haut ou plus bas en terme d’écart vertical et horizontal avec le précédent… passer par le moteur de recherche du site (page d’accueil, ou première ligne du menu si on amène la souris sur son avatar en haut à droite) devrait permettre de trouver plusieurs exemples de recherche de plus hauts plus bas avec boucles
03/15/2021 at 6:36 PM #164252Le code précédent permettait de mettre des horaires inversés start=22h end =15h30 grâce à la ligne :
1tc = time>start or time<=endPour faire l’inverse start=15h30 à end=22h il faut faire comme dans le 2e code de l’autre topic à question similaire en remplaçant le OR par un AND: https://www.prorealcode.com/topic/plus-haut-et-plus-bas/#post-164044
1tc = time>start and time<=end03/15/2021 at 8:19 PM #164262Je viens de modifier le code pour le deuxième indicateur. Cela fonctionne parfaitement. J’ai changé également la taille de police. Il me restera à adapter les heures en fonction des horaires d’ouverture/fermeture que je souhaite.
Pour le reste, je vais encore réfléchir. Si ça ralentit trop, je vais laisser tomber. de toute façon, c’est pour faire une sauvegarde journalière des graphiques.
Merci pour ton aide.
Bonne soirée.
03/16/2021 at 11:14 AM #164317Bonjour,
Le code fonctionne bien, mais en fait, je me suis probablement mal exprimé sur la demande initiale. J’ai bien essayé de passer par le moteur de recherche du site pour trouver une solution, mais sans succès.
Je souhaite conserver un historique des graphiques où seront indiqués :
- les points hauts et bas de la période 1 (dans mon exemple de 22h01 jour J-1 à 15h30 jour J)
- les points hauts et bas de la période 2 (de 15h31 à 22h00 jour J)
Si je laisse courir le code tel quel, cela fonctionne, mais je suis obligé d’être devant les écrans pour faire une sauvegarde du graphique avant le changement de la période qui suit.
C’est quasi-impossible au quotidien.
Dans l’absolu, ce n’est absolument pas grave si les plus hauts et plus bas ne s’affichent pas à l’écran en dynamique. Je souhaite simplement avoir l’affichage par période, MAIS avec conservation de l’historique, pour que je puisse faire mes sauvegardes de graphiques quand je veux.
Merci d’avance.
03/16/2021 at 12:28 PM #164336Si pas besoin d’être dynamique, et uniquement un plus haut et un plus bas par période, alors ça simplifie énormément la simple conservation de l’historique: il suffit d’enlever le defparam du début et d’encadrer les drawtext par un “if not tc and tc[1] then… endif” qui affichera uniquement les 2 bons points à la fin d’une période.
Exemple vite fait sauf erreur à tester pour le 22h-15h30:
12345678910111213141516171819202122232425262728decal=1 // pour décaler l'affichage au-dessus et en-dessous des mèchesstart = 220000end = 153000tc = time>start or time<=endif tc thenif not tc[1] thenhh=highll=lowendifhh=max(high,hh)ll=min(low,ll)if hh<>hh[1] thenbarhh=barindexendifif ll<>ll[1] thenbarll=barindexendifendifif not tc and tc[1] thenDRAWTEXT("#hh#", barhh, hh+decal*pipsize,dialog,standard,12)DRAWTEXT("#ll#", barll, ll-decal*pipsize,dialog,standard,12)endifreturnDe plus, tu peux afficher les deux codes en même temps sur le prix: le 22h-15h30 d’avant dynamique ET celui-ci pour l’historique.
(Et de même pour ton 15h30-22h)
-
AuthorPosts
Find exclusive trading pro-tools on