OPR sur PRT en automatique

LabZone, l'atelier de développement du forum Andlil : API, logiciels et utilitaires de trading créés par les membres, versions, bugs et idées.
Avatar du membre
X@vi3r
Membre du Conseil Jedi
Messages : 8068
Enregistré le : 26 avr. 2021 14:13

OPR sur PRT en automatique

Message non lu par X@vi3r »

Bonjour à tous,

Post interressant vu ici :
journal-de-wu-wei-t47938-950.html#p1940279

:merci: Trendline

_______________________________
SI cela t'intéresse voici un code qui permet de tracer l'OPR en UT15 ou 5 avec config (via le panneau de config de l'indicateur).

Image

Image

Je partage ce code car il est libre.
Code

Code : #

// Dessiner un rectangle de 09h00 à 15h30 et de 15h30 à 23h00 à partir du +haut et +bas de la 1ère Bougie M15

// L'instruction "Drawrectangle" => en mettant "bordercolor", l'option "coloured" sert à remplir le rectanlge
// sinon la bordure sera faite par "coloured" et "style" mais sans remplissage


R9=0
V9=100
B9=200

R15=200
V15=100
B15=150

intensite9h00=50
intensite15h30=50
Longueur9h00enHeures=7
Longueur15h30enHeures=9


IF M15 THEN
// affichage sur graphique M15

IF OPR9h00 THEN
barres9= Longueur9h00enHeures * 4
IF Longueur9h00enHeures<2 THEN
// minimum 2 heures à afficher
barres9=4
ENDIF
IF barres9>24 THEN
// maxi fin à 15h30
barres9=26
ENDIF

If time>090000 AND time<=091500 THEN
IF Fond9h00=1 THEN
DRAWRECTANGLE(barindex,high,barindex+barres9,low) coloured(R9,V9,B9,intensite9h00) bordercolor(R9,V9,B9) style(line,1)
ELSE
DRAWRECTANGLE(barindex,high,barindex+barres9,low) coloured(R9,V9,B9,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF

IF OPR15h30 THEN
barres15= Longueur15h30enHeures * 4
IF Longueur15h30enHeures<2 THEN
// minimum 2 heures à afficher
barres15=4
ENDIF
IF barres15>28 THEN
// maxi fin de séance à 23h00
barres15=28
ENDIF

If time>153000 AND time<=154500 THEN
IF Fond15h30=1 THEN
DRAWRECTANGLE(barindex,high,barindex+barres15,low) coloured(R15,V15,B15,intensite15h30) bordercolor(R15,V15,B15) style(line,1)
ELSE
DRAWRECTANGLE(barindex,high,barindex+barres15,low) coloured(R15,V15,B15,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF
ENDIF



IF M5 THEN
// affichage sur graphique M5

IF OPR9h00 THEN
barres9= (Longueur9h00enHeures*12)-2
IF Longueur9h00enHeures<2 THEN
// minimum 2 heures à afficher
barres9=10
ENDIF
IF barres9>76 THEN
// maxi fin à 15h30
barres9=76
ENDIF

If time=091500 THEN
high9000=highest[3](high)
low9000=lowest[3](low)

IF Fond9h00=1 THEN
DRAWRECTANGLE(barindex-2,high9000,barindex+barres9,low9000) coloured(R9,V9,B9,intensite9h00) bordercolor(R9,V9,B9) style(line,1)
ELSE
DRAWRECTANGLE(barindex-2,high9000,barindex+barres9,low9000) coloured(R9,V9,B9,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF

IF OPR15h30 THEN
barres15= (Longueur15h30enHeures*12)-2
IF barres15<12 THEN
// minimum 2 heures à afficher
barres15=12
ENDIF
IF barres15>84 THEN
// maxi fin de séance à 23h00
barres15=84
ENDIF

If time=154500 then
high1530=highest[3](high)
low1530=lowest[3](low)

IF Fond15h30=1 THEN
DRAWRECTANGLE(barindex-2,high1530,barindex+barres15,low1530) coloured(R15,V15,B15,intensite15h30) bordercolor(R15,V15,B15) style(line,1)
ELSE
DRAWRECTANGLE(barindex-2,high1530,barindex+barres15,low1530) coloured(R15,V15,B15,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF
ENDIF



IF M1 THEN
// affichage sur graphique M1

IF OPR9h00 THEN
barres9= (Longueur9h00enHeures*60)-14
IF Longueur9h00enHeures<2 THEN
// minimum 1 heure à afficher
barres9=46
ENDIF
IF barres9>376 THEN
// maxi fin à 15h30
barres9=376
ENDIF

If time=091500 THEN
high9000=highest[15](high)
low9000=lowest[15](low)

IF Fond9h00=1 THEN
DRAWRECTANGLE(barindex-14,high9000,barindex+barres9,low9000) coloured(R9,V9,B9,intensite9h00) bordercolor(R9,V9,B9) style(line,1)
ELSE
DRAWRECTANGLE(barindex-14,high9000,barindex+barres9,low9000) coloured(R9,V9,B9,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF


IF OPR15h30 THEN
barres15= (Longueur15h30enHeures*60)-14
IF Longueur15h30enHeures<2 THEN
// minimum 1 heure à afficher
barres15=46
ENDIF
IF barres15>420 THEN
// maxi fin de séance à 23h00
barres15=420
ENDIF

If time=154500 then
high1530=highest[15](high)
low1530=lowest[15](low)

IF Fond15h30=1 THEN
DRAWRECTANGLE(barindex-14,high1530,barindex+barres15,low1530) coloured(R15,V15,B15,intensite15h30) bordercolor(R15,V15,B15) style(line,1)
ELSE
DRAWRECTANGLE(barindex-14,high1530,barindex+barres15,low1530) coloured(R15,V15,B15,250) style(dottedline,1)
ENDIF
ENDIF
ENDIF
ENDIF
RETURN
________________________________
Avatar du membre
Francis1
Le Sage
Messages : 30212
Enregistré le : 20 mars 2019 15:50

Re: OPR sur PRT en automatique

Message non lu par Francis1 »

:merci:
Avatar du membre
ChristelleP
La Battante
Messages : 68925
Enregistré le : 23 janv. 2018 09:53

Re: OPR sur PRT en automatique

Message non lu par ChristelleP »

merci Xavier :mercichinois:
Avatar du membre
Trendline
Stormtrooper
Messages : 238
Enregistré le : 04 juil. 2018 18:47

Re: OPR sur PRT en automatique

Message non lu par Trendline »

Bonjour,

@X@vi3r

Tu as bien fait de partager le code ici, ça profite à tout le monde 👍
Avatar du membre
Wu Wei
Membre du Conseil Jedi
Messages : 10763
Enregistré le : 05 août 2021 14:16

Re: OPR sur PRT en automatique

Message non lu par Wu Wei »

Bonjour Xavier, merci pour le partage :top:

Trendline,
Comme demandé, voici un apercu de ce qui me serait tres utile
Spoiler:
TL.jpg
TL.jpg (69 Kio) Vu 4844 fois
J'ai tracé les barres temporelles juste pour te montrer les repères mais je n'en ai pas besoin..

L'idée est de pouvoir comparer les OPR ou initial balance (pré open range) sur plusieurs jours. J'ai fais l'exemple pour toi sur 2 jours et en UT30'
L'ideal serait de pouvoir choisir le nombre de jours d'affichage et l'UT, mais je ne sais pas si c'est possible :oops:
Le top du top serait en plus de pouvoir choisir la plage horaire que l'on veut. Mais là ca devient peut etre trop compliqué :cry:
Merci encore pour tes partages :mercichinois:
Avatar du membre
Wu Wei
Membre du Conseil Jedi
Messages : 10763
Enregistré le : 05 août 2021 14:16

Re: OPR sur PRT en automatique

Message non lu par Wu Wei »

@Trendline
je me demande si en modifiant les variables du code en les passant de "bolléen" à "entier" je n'ai pas ma solution en fait...
Avatar du membre
Trendline
Stormtrooper
Messages : 238
Enregistré le : 04 juil. 2018 18:47

Re: OPR sur PRT en automatique

Message non lu par Trendline »

Je ne comprends pas tes rectangles car:
Ils encadrent plus une zone temporelle plutôt que d'encadrer les +H et +B de cette même zone de temps ? (ta demande il me semble)
Je te joins un lien qui pointe directement vers l'indicateur (il suffit ainsi de l'importer dans PRT).
Pour l'instant les rectangles sont tracés entre le +H et le +B de la zone 14h30/22H00, ce qui aboutit logiquement à un rectangle qui n'englobera pas toute la durée (07h30).
L'indicateur n'est pas paramétrable en nombre de jour, il fonctionne sur toutes la série de data chargé (c'est plus complexe, on verra lus tard :) )
Le lien:
https://drive.google.com/file/d/1fuBxI1h4Z3UIF3IWvxuLYYddZeMQ6YzV/view?usp=sharing
Vu en UT30, les rectangles encadrent le +H +B de la période 14h30/22h00
image_2023-01-19_140538098.png
image_2023-01-19_140538098.png (54.92 Kio) Vu 4813 fois
Au plaisir d'avoir ton retour
Avatar du membre
Trendline
Stormtrooper
Messages : 238
Enregistré le : 04 juil. 2018 18:47

Re: OPR sur PRT en automatique

Message non lu par Trendline »

UP, WUWEI je ne sais pas si tu as lu mon précédent post ?
Avatar du membre
Wu Wei
Membre du Conseil Jedi
Messages : 10763
Enregistré le : 05 août 2021 14:16

Re: OPR sur PRT en automatique

Message non lu par Wu Wei »

Trendline,
Oui mais un peu pris par le boulot et pas eu le temps d'installer l'itf.
Je regarde ce week znd et reviens vers toi ;) :merci: