Traçage de segments en décalés
Forums › ProRealTime forum Français › Support ProBuilder › Traçage de segments en décalés
- This topic has 8 replies, 3 voices, and was last updated 4 years ago by Choliver.
-
-
05/12/2020 at 1:59 PM #131308
Bonjour,
Je souhaite tracer des : lignes-segments-boites (?) à partir de 15h30 et jusqu’à 22h00 (par exemple) basées sur des datas d’une autre tranche horaire.
Je cherche donc à partir de 15h30 à :- Tracer automatiquement des lignes des High et Low de la tranche de 08h30 à 12h30, recopiées sur la tranche 15h30-22h00.
- Tracer automatiquement la ligne du Médian soit (High+Low)/2 de la tranche 08h30-12h30
- Tracer auto. la ligne du High+((high+Low)/2) de la tranche 08h30-12h30
- Tracer auto. la ligne du Low-((high+Low)/2) de la tranche 08h30-12h30
Pour d’autres lignes (calculs – couleurs ou modèles) avec le code que vous voudriez bien me transmettre, je devrais pouvoir me débrouiller 😉
Merci. 🙂
Voir graphique ci joint pour de meilleures précisions.
05/12/2020 at 8:40 PM #131384Il y a plusieurs façons de faire, disons que celle-ci n’est ni la plus élégante ni la plus robuste (en cas d’ut exotiques dont la clôture ne tomberait pas sur les 4 horaires précis évoqués), mais c’est la plus simple à comprendre en version v10.3 quand on débute
Il me semble que pour les lignes supplémentaires aux extrêmes, les formules données en 3) et 4) ne correspondent pas aux segments tracés sur ton graphique. J’ai laissé les lignes 20 et 21 avec des // pour que les formules du texte y soient, et j’ai mis à la place les lignes 22 et 23 qui semblent mieux représenter la position des segments sur ton graphique. A toi de mettre des // aux lignes 22 et 23 et de les enlever aux lignes 20 et 21 si ce n’était pas le cas.
Pour avoir des pointillés, soit il faut la v11 pour styler les drawsegment, soit il faut compliquer un peu le code en v10.3 pour garder la main sur le style via des variables retournées dans la ligne return (d’où mon commentaire sur les façons de faire au début)
1234567891011121314151617181920212223242526272829start1 = 083000end1 = 123000start2 = 153000end2 = 220000if opentime=start1 thenbar1=barindexendifif opentime=end1 thenhi=highest[barindex-bar1](high)lo=lowest[barindex-bar1](low)DRAWSEGMENT(barindex, hi, bar1, hi) coloured(255,215,0)DRAWSEGMENT(barindex, lo, bar1, lo) coloured(255,215,0)endifif opentime>=start2 and opentime<end2 thenDRAWSEGMENT(barindex, hi, barindex[1], hi) coloured(99,184,255)DRAWSEGMENT(barindex, lo, barindex[1], lo) coloured(255,131,250)mid=(hi+lo)/2//hi2=hi+mid//lo2=lo-midhi2=hi+(hi-mid)lo2=lo-(mid-lo)DRAWSEGMENT(barindex, hi2, barindex[1], hi2) coloured(176,226,255)DRAWSEGMENT(barindex, mid, barindex[1], mid) coloured(250,250,250)DRAWSEGMENT(barindex, lo2, barindex[1], lo2) coloured(255,187,255)endifreturn05/13/2020 at 9:24 AM #131446Bonjour,
son utilisation m’intéresse aussi (sur différentes plages horaires).
Par contre il ne s’affiche pas sur toutes les unités de temps je remarque.
Si je prends le code ci-dessus sans modifs donc, je le vois en UT 5min, mais pas 20min, ni 1min
J’utilise un historique assez important sur plusieurs jours, je ne comprends pas d’où le problème pourrais venir ?
05/13/2020 at 9:52 AM #131448En 20 minutes, ça vient de mon avertissement sur les ut dont la clôture ne tomberait pas sur un des 4 horaires clés demandés (pour rappel 8h30 12h30 15h30 22h).
Pour 1 minute chez moi ça marche de façon générale, sur quel instrument testé ça n’a pas marché?
05/13/2020 at 10:57 AM #131463Bonjour ,
Mea culpa, je suis sur DAX , et effectivement les lignes s’affichent bien en 1 min sur la journée d’hier .
En revanche pas d’affiche sur la journée d’aujourd’hui ? Il me semble que les conditions horaires du code sont remplies et devraient afficher les ligne de la journée mais je me trompe peut être ?
Mon objectif était d’avoir le Hi/Lo du PreMarket (01h15 – 08h59) et de l’afficher sur la plage 09h – 22h à la manière de ce que demande l’auteur de ce post.
J’aurais souhaité l’afficher sur UT 20m /5m /1m de préférence. Le 20min est trop exotique ?
1234567891011121314151617181920212223242526272829start1 = 011500end1 = 085500start2 = 090000end2 = 220000if opentime=start1 thenbar1=barindexendifif opentime=end1 thenhi=highest[barindex-bar1](high)lo=lowest[barindex-bar1](low)DRAWSEGMENT(barindex, hi, bar1, hi) coloured(255, 193, 7) //orange premarketDRAWSEGMENT(barindex, lo, bar1, lo) coloured(255, 193, 7)endifif opentime>=start2 and opentime<end2 thenDRAWSEGMENT(barindex, hi, barindex[1], hi) coloured(76, 175, 80) // hiDRAWSEGMENT(barindex, lo, barindex[1], lo) coloured(230, 74, 25) // lomid=(hi+lo)/2//hi2=hi+mid//lo2=lo-midhi2=hi+(hi-mid)lo2=lo-(mid-lo)DRAWSEGMENT(barindex, hi2, barindex[1], hi2) coloured(92, 92, 92)DRAWSEGMENT(barindex, mid, barindex[1], mid) coloured(96, 125, 139) //std midDRAWSEGMENT(barindex, lo2, barindex[1], lo2) coloured(92, 92, 92)endifreturn05/13/2020 at 11:16 AM #13147005/13/2020 at 12:33 PM #131490Même avec tes horaires, chez moi le 1 minute fonctionne ce jour sur dax.
Pour l’ut20mn, étant donné que les horaires de Choliver ne sont pas ceux que tu veux utiliser de toute façon, il te suffit de prendre ceux ci-dessous très proches des tiens sur la partie nocturne et qui permettront au code de fonctionner aussi en ut20mn, cf image jointe en ut20mn
1234start1 = 010000//ou 012000 mais pas 011500end1 = 084000//ou 090000 mais pas 085500start2 = 090000end2 = 2200001 user thanked author for this post.
05/13/2020 at 12:58 PM #13149605/13/2020 at 5:03 PM #131532Hello,
Ha ben ça avance super ici.Excellent Noobywan ! (encore une fois)
Oui je comprends bien qu’il puisse y avoir plusieurs façon de faire.
Celle çi est “basique” mais fonctionne déjà très bien.
Je viens de tester sur Dax en 5 min et en changeant les horaires. C’est parfait.
Tu as eu raison de prendre en compte mes lignes sur le graphe plutôt que “ma” formule.
Je vais tenter d’exploiter au mieux cette matière première de codes.
Et pour “compliquer” le code on va attendre un peu 😉
A suivre…
MERCI. 🙂P.S. : Vivement la version 11 sur IG.
-
AuthorPosts