ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum

Amplitude veille et report en live

par X@vi3r » 16 mai 2024 11:15

un petit indicateur :
- calcul amplitude veille
- report de l'amplitude (et ses extensions) en live

La base de calcul est celle de la formule du 8 de Treve.
il est donc possible de changer dans le code le "+8" ;)

Je n'y affiche que les la ligne du milieu et les deux premières lignes. Pas dur de faire des copier coller pour les autres ;)

Dsl pour le franglais. Au début je voulais me la jouer universel dans mon codage mais prt ecrit en français par defaut. Du coup maintenant je suis quasi que en français mais pas pour celui là.

Code : #

defparam calculateonlastbars = 500 // à commenter pour avoir historique
Defparam DrawOnLastBarOnly = true // à commenter pour avoir historique

//vertical offset to draw text corectly over horizontal LINE
voffset = setoffset* pipsize

//Calculation min and max full day (between SetOpenHour and SetCloseHour)
//reset values each days
If IntraDayBarIndex = 0 then
HighestH = 0
LowestL  = 99999
endif
//loop to test highest and lowest at each candle during open hours
if time >= SetOpenHour   and time <= SetCloseHour  then
HighestH = max(high,HighestH)
LowestL = min(low,LowestL)
endif

//to keep the highest and lowest of the open hours
IF time = SetCloseHour THEN
lasthighestH = HighestH
lastlowestL = LowestL
ENDIF

//when new day start (same open hours), live highest and lowest
if time >= SetOpenHour   and time <= SetCloseHour  then
actualdayhighest = max(high,HighestH)
actualdaylowest  = min(low,LowestL)
endif


//actual high and low
Actualhigh = High
Actuallow = Low

//variation max-min for the day before
varDayBefore = lasthighestH - lastlowestL

//lines calculation and drawing

Line50 = actualDaylowest + varDayBefore/2
Diffline50 = Line50 - Actualhigh //difference actual high and line price
DRAWRAY(barindex-10, Line50 , Line50 , Line50 ) coloured(0,255,255) STYLE(line,1)
DRAWTEXT("#Diffline50# Line50   #Line50#", barindex-5, Line50+voffset ) coloured(0,255,255)

LinePos1 = actualDaylowest + varDayBefore + 8
Difflinepos1 = LinePos1 - Actualhigh //difference actual high and line price
DRAWRAY(barindex-10, LinePos1 , LinePos1 , LinePos1 ) coloured(0,255,255) STYLE(line,1)
DRAWTEXT("#Difflinepos1# Line+1   #LinePos1#", barindex-5, LinePos1+voffset ) coloured(0,255,255)

LinePos2 = actualDaylowest + varDayBefore + varDayBefore/2 + 8
Difflinepos2 = LinePos2 - Actualhigh //difference actual high and line price
DRAWRAY(barindex-10, LinePos2 , LinePos2 , LinePos2 ) coloured(0,255,255) STYLE(DOTTEDLINE,1)
DRAWTEXT("#Difflinepos2# Line+2   #LinePos2#", barindex-5, LinePos2+voffset ) coloured(0,255,255)

LineNeg1 = actualdayhighest - varDayBefore - 8
Difflineneg1 = LineNeg1 - Actuallow //difference actual low and line price
DRAWRAY(barindex-10, Lineneg1 , LineNeg1 , LineNeg1 ) coloured(0,255,255) STYLE(line,1)
DRAWTEXT("#Difflineneg1# Line-1   #LineNeg1#", barindex-5, LineNeg1+voffset ) coloured(0,255,255)

LineNeg2 = actualdayhighest - varDayBefore - varDayBefore/2 - 8
Difflineneg2 = LineNeg2 - Actuallow //difference actual low and line price
DRAWRAY(barindex-10, Lineneg2 , LineNeg2 , LineNeg2 ) coloured(0,255,255) STYLE(DOTTEDLINE ,1)
DRAWTEXT("#Difflineneg2# Line-2   #LineNeg2#", barindex-5, LineNeg2+voffset ) coloured(0,255,255)

//pour avoir l'historique enlever les commentaire après "return" et commenter les deparam du haut
return //Line50 , LinePos1 , LinePos2 , LineNeg1 , LineNeg2
Attention :
Le calcul live démarre à 0H00 (de mémoire) sur la base de l'amplitude veille (dans l'exemple du prog 15H30-22H00)
Donc les lignes s'affichent tout le temps mais ne sont évidemment pas valables hors horaire. Logique mais je précise :lol:
On pourrait ajouter une condition pour qu'elles ne s'affichent qu'à partir de 15H30.

Re: Amplitude veille et report en live

par Saidfed » 16 mai 2024 11:22

Good job
Et merci pour le partage. Même si je suis pas sur prt.

Re: Amplitude veille et report en live

par X@vi3r » 16 mai 2024 11:29

:mercichinois:

Re: Amplitude veille et report en live

par Franck Jo » 16 mai 2024 11:46

super Merci Xav !

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 12:49

Merci X@vi3r

pour le travail et le partage

Je vais tester rapidement

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 14:39

X@vi3r

J'ai tenté de le créer et j'ai ce message.

As tu une idée du problème ?
Capture d'écran 22.png
Capture d'écran 22.png (12.9 Kio) Vu 1251 fois

Re: Amplitude veille et report en live

par X@vi3r » 16 mai 2024 15:11

Ah oui ! Deux choix :

Soit tu saisis toi même ces variables comme ci-dessous
Capture d'écran 2024-05-16 151025.png
Capture d'écran 2024-05-16 151025.png (9.12 Kio) Vu 1231 fois

soit tu ajoutes en début de code :

Code : #

setclosehour = 220000
setopenhour = 153000
setoffset = 10

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 15:47

Merci X@vi3r

Je regarde ça rapidement

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 15:58

Encore un souci,
Capture d'écran 22.png
Capture d'écran 22.png (12.98 Kio) Vu 1204 fois
Une idée ?

Re: Amplitude veille et report en live

par X@vi3r » 16 mai 2024 16:00

Oui, il te manque le terme "return" à la fin.
Prends garde à bien TOUT copier/coller

la fin de mon code est bien :

Code : #

//pour avoir l'historique enlever les commentaire après "return" et commenter les deparam du haut
return //Line50 , LinePos1 , LinePos2 , LineNeg1 , LineNeg2
les "//" sont pour commenter, ne pas prendre en compte le texte derriere

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 17:06

X@vi3r ,

J'ai toujours le même message :

Pourtant, le return est bien à la fin
Capture d'écran 22.png
Capture d'écran 22.png (19.53 Kio) Vu 1173 fois
Je suis peut être pas doué. :oops:

Re: Amplitude veille et report en live

par falex » 16 mai 2024 17:26

Faudrait faire de la spéléo dans le forum mais je suis sur d'avoir fournis un code prt pour afficher des lignes à partir de la close Cash de 22h00.

Re: Amplitude veille et report en live

par X@vi3r » 16 mai 2024 17:32

Je vais pas être dispo avant tard ce soir mais envoie ton code entier que je vois si je trouve l’erreur

Re: Amplitude veille et report en live

par falex » 16 mai 2024 17:52

là tu ne "Return" rien, donc normal que tu ais une erreur.

Un exemple basé sur ton code serait :

Code : #

return Line50, LinePos1

Re: Amplitude veille et report en live

par Nicautrade » 16 mai 2024 17:58

Merci falex

Et en ligne 70 ( capture 17h06) , ce n'est pas bon le Return comme libellé ?

Re: Amplitude veille et report en live

par falex » 16 mai 2024 18:00

non c'est ce que je viens de te d'écrire. Tu as commentés toutes les variables qui sont derrière l'instruction return.

L'instruction return est à formulé soit

Code : #

return variabletoto, variabletiti
soit

Code : #

return variabletoto as "ligne du haut", variabletiti as "ligne du bas"
Soit un mixte des deux

Code : #

return variabletoto, variabletiti as "ligne du bas"

Re: Amplitude veille et report en live

par X@vi3r » 16 mai 2024 23:22

Pas besoin de « return » une variable.
Mon code est bon sur ce point là car on dessine des segment pour afficher les niveaux en live « drawarray ».

C’est bizarre Nicau…

Re: Amplitude veille et report en live

par Gaby-192 » 17 mai 2024 11:54

Cela fonctionne bien chez moi, les niveaux s'affichent correctement. J'ai juste mis return sans rien derrière.

Re: Amplitude veille et report en live

par Nicautrade » 17 mai 2024 14:13

Gaby

Et tu as saisi les variables de quelle manière ?

Re: Amplitude veille et report en live

par Gaby-192 » 17 mai 2024 15:29

J'ai juste coup/collé puis rejouté les sethour... etc mais il faut faire attention aux sauts de lignes en collant le code, les corriger. J'ai enlevé les commentaires après le return et modifié les couleurs car trop pales et presque illisibles.

Sujets similaires
Prise en compte forte amplitude journée du 9 novembre
par ScottieFF » 10 déc. 2016 18:15 (3 Réponses)
Amplitude
par Esber » 21 août 2018 00:05 (4 Réponses)
Code PRT point-pivot (clôture veille)
par fredi » 12 oct. 2013 14:20 (5 Réponses)
Screener : Cassure du haut/bas de la veille
par Greg31600 » 23 sept. 2014 11:30 (1 Réponses)
UT 1min : la valeur de la veille d'un indicateur
par jized » 12 nov. 2014 07:06 (4 Réponses)
Indicateur: Haut - Bas de la veille.
par falex » 21 oct. 2015 13:11 (4 Réponses)
Afficher les points bas et hauts de la veille
Fichier(s) joint(s) par lepierot » 04 janv. 2017 13:54 (26 Réponses)
Cours de clôture de la veille
par lskr » 19 janv. 2021 09:25 (7 Réponses)
Plus haut/ Plus bas veille/ semaine/ mois préc Nasdaq future
par zall » 11 juil. 2021 09:33 (3 Réponses)