TRACER UN RECTANGLE entre 2 horaires avec les plus hauts et les plus bas
Forums › ProRealTime forum Français › Support ProBuilder › TRACER UN RECTANGLE entre 2 horaires avec les plus hauts et les plus bas
- This topic has 17 replies, 4 voices, and was last updated 1 year ago by
Nicolas.
-
-
01/19/2023 at 9:31 AM #207674
Tracer un rectangle
Bonjour,
Pouvez-vous m’aider?
Je souhaiterai un indicateur qui me trace un rectangle, a partir d’une heure précise (ex: 9h15) pour finir a X bougies (ex: 30 bougies) dont le haut est le bas du rectangle soit tracé sur le plus haut et le plus bas (incluant les mèches) des bougies qui sont dans cet espace des 30 bougies. Et pouvoir colorier l’intérieur de ce rectangle.
Merci d’avance01/19/2023 at 9:53 AM #207677Bjr,
Plusieurs façons de faire selon le niveau de robustesse et de personnalisation voulu, mais sans lister toutes les variantes disons que pour un coup de main suffisamment rapide et simple, cette façon-ci devrait faire l’affaire:
12345678910111213141516171819defparam DRAWONLASTBARONLY=truedepart=091500nombrebougies=30if opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,0,255,150) bordercolor(0,0,255)return01/19/2023 at 10:00 AM #207679Voilà ce que je peux proposer rapidement, pas des rectangles, mais un fond coloré progressif entre le plus haut et le plus bas depuis l’heure de démarrage et cela pendant 30 bougies.
12345678910111213141516171819start = 091500if time=start thenhh=highll=lowstartbar=barindexendifif barindex-startbar<=30 and barindex>startbar thenhh=max(hh,high)ll=min(ll,low)alpha=100ELSEalpha=0endifcolorbetween(hh,ll,"crimson",alpha)return01/19/2023 at 1:51 PM #20771001/19/2023 at 1:52 PM #20771101/19/2023 at 3:45 PM #207723le voir rétrospectivement, pour pouvoir faire des backtests
C’est ce que tu obtiens avec ma version du code.
Tu peux renvoyer les valeurs des plus hauts/bas en temps réel en modifiant la dernière ligne avec :
1return hh,ll02/23/2023 at 9:08 AM #210232Bonjour voila quelques semaines, un membre de cette communauté, m’avez proposé un indicateur me permettant de délimiter a l’aide d’un rectangle , la session d’Asie, que j’ai amélioré pour mes besoins. . D’ailleurs je le remercie encore. Sauf que cela ne m’affiche que la dernière session. Pour pouvoir faire du back test, il faudrait que ces rectangles s’affichent dans le temps passé. Si quelqu’un pouvez m’aider. je joins ci-apres le programme qui me permet d’avoir le dernier rectangle. Ce serait super d’avoir ceux d’avant
Merci pour votre aide
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758defparam DRAWONLASTBARONLY=trueIf M15 thendepart=010000nombrebougies=20if opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,255,255) bordercolor(0,0,255)EndifIf M5 thendepart=010000nombrebougies=60if opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,255,255) bordercolor(0,0,255)EndifIf M1 thendepart=010000nombrebougies=300if opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,255,255) bordercolor(0,0,255)Endifreturn02/23/2023 at 9:40 AM #210238Bjr,
Dès que je peux je reviens sur le post #210232 ci-dessus pour le fusionner avec la requête initiale, où il me semble qu’il y a avait eu 2 suggestions, une avec dernier rectangle, une autre avec tous les rectangles, pour voir pourquoi tu n’as pas pris l’autre qui semble correspondre à vouloir tous les rectangles.
De façon plus générale pour l’usage du forum, merci de ne pas étaler une même discussion dans des sujets séparés pour garder une vue d’ensemble sans redite (et pour ne pas me faire dire ce que je n’ai pas dit, inversement pour des questions non liées, on peut et doit faire des sujets séparés même si discutés le même jour en parallèle).
02/23/2023 at 9:51 AM #210239Merci et désolé, d’avoir ouvert une autre discussion. Je ne savais pas. Je ferai attention a l’avenir. Pourquoi, j’ai choisi la suggestion du dernier rectangle, précisément parce que ce programme formait un rectangle alors que l’autre faisait un coloriage, de la session sans déterminer un rectangle, ce qui ne me va pas pour ma stratégie. Merci pour ta réponse est désolé encore de ma petite bétise de répétition
02/23/2023 at 2:46 PM #210276Ok, les 2 sujets sont réassemblés en un seul. Pour avoir les rectangles tous les jours, il suffisait de ne pas mettre defparam DRAWONLASTBARONLY=true, comme dans l’autre solution, tout en gardant la façon de faire “rectangle”.
D’autre part, j’ai gardé le nombre de bougies comme spécifié dans la requête initiale plutôt qu’un horaire de fin, mais comme je vois que tu veux gérer trois cas M15,M5,M1, j’ai rajouté en plus simple tes M15,M5,M1 dans un petit bloc if…elsif… au lieu de tout dupliquer à chaque fois.
12345678910111213141516171819202122232425262728//defparam DRAWONLASTBARONLY=trueM5=1m1=0m15=0depart=091500if M15 thennombrebougies=20elsif M5 thennombrebougies=60elsif M1 thennombrebougies=300endifif opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,0,255,100) bordercolor(0,0,255)return02/23/2023 at 4:15 PM #21029202/23/2023 at 5:22 PM #21031402/23/2023 at 5:33 PM #210316Ah oui pardon, c’est de ma faute, comme je n’avais pas voulu créer de paramètres externes pour aller plus vite, j’avais mis en début de code un choix forcé de M5=1 (d’où les 60 bougies dans tous les cas) et les 2 autres à 0 en lignes 2,3,4. Il faut enlever ces 3 lignes pour que mes M1,M5,M15 ajoutés pour tester le code ne se superposent pas aux tiens. Voici:
12345678910111213141516171819202122if M15 thennombrebougies=20elsif M5 thennombrebougies=60elsif M1 thennombrebougies=300endifif opentime=depart thenmabarre=barindexll=lowhh=highendifif time>depart and barindex<mabarre+nombrebougies thenll=min(ll,low)hh=max(hh,high)endifDRAWRECTANGLE(mabarre, ll, mabarre+nombrebougies, hh) coloured (0,0,255,100) bordercolor(0,0,255)return02/24/2023 at 11:00 AM #210383Merci
Petite question :
Avec: //defparam DRAWONLASTBARONLY=true
J’ai un rectangle propre mais je n’ai pas de rectangle dans le passé
Comme dit dans un précèdent message en l’enlevant ont a les rectangles dans le passé, par contre, il ne sont pas propres avce plein de lignes a l’intérieur
Est ce normal? peut on y faire quelque chose?
Merci
02/24/2023 at 11:12 AM #210393 -
AuthorPosts
Find exclusive trading pro-tools on