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

Indicateur PRT pour afficher tous les niveaux symboliques

par Ozmizrak » 07 oct. 2020 17:37

Voici L'indicateur "NiveauxSymboliques" pour afficher les niveaux symboliques quelque soit le marché et l'unité de temps.

Code pour l'indicateur NiveauxSymboliques

Code : #

defparam CalculateOnLastBars = 1

//Violet
VioletR=128
VioletG=0
VioletB=255
//Orange
OrangeR=255
OrangeG=128
OrangeB=0
//Noir
NoirR=0
NoirG=0
NoirB=0
//Bleu
BleuR=0
BleuG=255
BleuB=255
//Vert
VertR=128
VertG=255
VertB=0
//Jaune
JauneR=128
JauneG=255
JauneB=0

If Close < 2000  Then
//------------------------------------Tous Les 25 Pour Les Marchés < 2000 --------------
X25 = 0
For I = 1 To 1000
X25 =  X25 + 25
DrawHLine (X25) Coloured(JauneR,JauneG,JauneB)
Next
EndIf

If Close < 5000  Then
//------------------------------------Tous Les 50 Pour Les Marchés < 5000-----------------
X50 = 0
For I = 1 To 500
X50 =  X50 + 50
DrawHLine (X50) Coloured(VertR,VertG,VertB)
Next
EndIf

//------------------------------------Tous Les 100 Quelque Soit Le Marché-----------------
X100 = 0
For I = 1 To 500
X100 = X100 + 100
DrawHLine (X100) Coloured(BleuR,BleuG,BleuB)
Next

//------------------------------------Tous Les 250 Quelque Soit Le Marché-----------------
X250 = 0
For I = 1 To 250
X250 = X250 + 250
DrawHLine (X250) Coloured(OrangeR,OrangeG,OrangeB)
Next

//------------------------------------Tous Les 500 Quelque Soit Le Marché-----------------
X500 = 0
For I = 1 To 100
X500 = X500 + 500
DrawHLine (X500) Coloured(VioletR,VioletG,VioletB)
Next

//------------------------------------Tous Les 1000 Quelque Soit Le Marché-----------------
X1000 = 0
For I = 1 To 50
X1000 = X1000 + 1000
DrawHLine (X1000) Coloured(NoirR,NoirG,NoirB)
Next

Return


Re: Indicateur PRT pour afficher tous les niveaux symboliques

par magma57 » 07 oct. 2020 17:53

merci Ozmizrak

j ai essayé de l installer mais cela m ouvre un autre tableau ou il Ny a rien dedans

j ai copier coller ton code pourtant

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par magma57 » 07 oct. 2020 17:56

Sans titre.png
Sans titre.png (184.89 Kio) Vu 2305 fois

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Ozmizrak » 07 oct. 2020 18:00

Magma,

Il faut ajouter l'indicateur dans le graphique avec le prix et non séparément.

Clique sur la molette de ton graph et ajoute le.

Exemple :
Capture20201007-3.JPG
Capture20201007-3.JPG (51.23 Kio) Vu 2303 fois

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par magma57 » 07 oct. 2020 18:07

impec cela fonctionne...

:merci:

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par korail » 08 oct. 2020 15:01

Merci Ozmizrak!

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par alainvm » 03 déc. 2020 18:43

:merci: Ozmizrak

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Ozmizrak » 20 déc. 2020 20:18

Mise à Jour
Version mieux adaptée à prorealtime V11
Plus rapide car il ne trace que quelques lignes en dessous et au desus du close et non de 0 à 50.000 sur le DOW par exemple. ;)
Spoiler:

Code : #

defparam drawonlastbaronly = true

//Violet
VioletR=128
VioletG=0
VioletB=255
//Orange
OrangeR=255
OrangeG=128
OrangeB=0
//Noir
NoirR=0
NoirG=0
NoirB=0
//Bleu
BleuR=0
BleuG=168
BleuB=255
//Vert
VertR=128
VertG=255
VertB=0
//Jaune
JauneR=128
JauneG=255
JauneB=0

If Close < 2000  Then
//------------------------------------Tous Les 25 Pour Les Marchés < 2000 --------------
X25 = (ROUND(close / 25) * 25)
X25 = X25 - (10 * 25)
For I = 1 To 20
X25 =  X25 + 25
DrawHLine (X25) Coloured(JauneR,JauneG,JauneB) STYLE(DOTTEDLINE,1)
DRAWTEXT("                    #X25#",barindex,X25-0,SansSerif,Bold,14) Coloured(JauneR,JauneG,JauneB)
Next
EndIf

//------------------------------------Tous Les 50 Quelque Soit Le Marché-----------------
X50 = (ROUND(close / 50) * 50)
X50 = X50 - (10 * 50)
For I = 1 To 20
X50 =  X50 + 50
DrawHLine (X50) Coloured(VertR,VertG,VertB) STYLE(LINE,1)
DRAWTEXT("                    #X50#",barindex,X50-0,SansSerif,Bold,14) Coloured(VertR,VertG,VertB)
Next

//------------------------------------Tous Les 100 Quelque Soit Le Marché-----------------
X100 = (ROUND(close / 100) * 100)
X100 = X100 - (10 * 100)
For I = 1 To 20
X100 = X100 + 100
DrawHLine (X100) Coloured(BleuR,BleuG,BleuB) STYLE(LINE,2)
DRAWTEXT("                    #X100#",barindex,X100-0,SansSerif,Bold,14) Coloured(BleuR,BleuG,BleuB)
Next

//------------------------------------Tous Les 250 Quelque Soit Le Marché-----------------
X250 = (ROUND(close / 250) * 250)
X250 = X250 - (9 * 250)
For I = 1 To 16
X250 = X250 + 250
DrawHLine (X250) Coloured(OrangeR,OrangeG,OrangeB) STYLE(LINE,2)
DRAWTEXT("                    #X250#",barindex,X250-0,SansSerif,Bold,14) Coloured(OrangeR,OrangeG,OrangeB)
Next

//------------------------------------Tous Les 500 Quelque Soit Le Marché-----------------
X500 = (ROUND(close / 500) * 500)
X500 = X500 - (6 * 500)
For I = 1 To 10
X500 = X500 + 500
DrawHLine (X500) Coloured(VioletR,VioletG,VioletB) STYLE(LINE,3)
DRAWTEXT("                    #X500#",barindex,X500-0,SansSerif,Bold,14) Coloured(VioletR,VioletG,VioletB)
Next

//------------------------------------Tous Les 1000 Quelque Soit Le Marché-----------------
X1000 = (ROUND(close / 1000) * 1000)
X1000 = X1000 - (4 * 1000)
For I = 1 To 6
X1000 = X1000 + 1000
DrawHLine (X1000) Coloured(NoirR,NoirG,NoirB) STYLE(LINE,4)
DRAWTEXT("                    #X1000#",barindex,X1000-0,SansSerif,Bold,14) Coloured(NoirR,NoirG,NoirB)
Next

Return

Voici ce qu'on obtient
Capture20201220.1.JPG
Capture20201220.1.JPG (22.69 Kio) Vu 2109 fois

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Stochastic » 20 déc. 2020 22:30

Ozmizrak » mer. 7 oct. 2020 16:37

:P


Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Piaggio P7 » 21 déc. 2020 08:31

Bonjour Ozmizrak,
Merci pour l'idée et merci pour la réalisation et le partage du code :top:
Un cadeau de Noël appréciable et qui est apprécié :mercichinois:

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par minotaur » 21 déc. 2020 09:02

Merci ! Je l'ai adapté en fonction du thème de mes graphiques sur la première version et cela me convient parfaitement.

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Bobo » 21 déc. 2020 10:59

Merci Oz :top:

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par max38250 » 21 déc. 2020 11:44

Merci

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Denis18 » 21 déc. 2020 19:29

Merci c'est sympa !

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par pat95162 » 21 déc. 2020 21:46

Merci Ozmizrak je m'en sert c'est vraiment pratique. :merci:

Par contre j'ai vu qu'il traçais toutes les lignes 50 et 100.
Pour éviter ça tu peux ecrire :

Code : #

X50 = (ROUND(close / 50) * 50)
X50 = X50 - (10 * 50)
For I = 1 To 20
X50 =  X50 + 50
ok50 = X50 MOD 100 <> 0 and X50 MOD 250 <> 0
If ok50 Then
DrawHLine (X50) Coloured(VertR,VertG,VertB) STYLE(LINE,3)
DRAWTEXT("                    #X50#",barindex,X50-0,SansSerif,Bold,21) Coloured(VertR,VertG,VertB)
EndIf
Next

//------------------------------------Tous Les 100 Quelque Soit Le Marché-----------------
X100 = (ROUND(close / 100) * 100)
X100 = X100 - (10 * 100)
For I = 1 To 20
X100 = X100 + 100
ok100 = X100 MOD 500 <> 0
If ok100 Then
DrawHLine (X100) Coloured(BleuR,BleuG,BleuB) STYLE(LINE,3)
DRAWTEXT("                    #X100#",barindex,X100-0,SansSerif,Bold,21) Coloured(BleuR,BleuG,BleuB)
EndIf
Next
C'est juste une suggestion. Je me dis que ça dois être un peu plus rapide quand ça dois recalculer.

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Ozmizrak » 22 déc. 2020 17:00

:top: Bien vu pat95162 :merci:
:) Tu as oublié les 1000 ;)

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par pat95162 » 22 déc. 2020 19:29

Je t'en pris
Du coup je te partage tout le code.
Je ne comprenais pas pourquoi ça mettait du temps quand je changeais d'instrument. Et plus j'avais d'unités sur mon graphique plus ça mettait du temps.
J'ai trouvé en fait il faut mettre DEFPARAM CALCULATEONLASTBARS. Sinon il fait le calcul à chaque barre.
Puis j'avais tout mis dans une boucle for mais en fait ça c'était pas necessaire du coup mais voila ça me donne ça

Code : #

DEFPARAM DRAWONLASTBARONLY = TRUE
DEFPARAM CALCULATEONLASTBARS = 10

ONCE clotur = DClose(1)
//Violet
VioletR=128
VioletG=0
VioletB=255
//Orange
OrangeR=255
OrangeG=128
OrangeB=0
//Noir
NoirR=0
NoirG=0
NoirB=0
//Bleu
BleuR=0
BleuG=168
BleuB=255
//Vert
VertR=128
VertG=255
VertB=0
//Jaune
JauneR=128
JauneG=255
JauneB=0

If clotur < 2000  Then
//------------------------------------Tous Les 25 Pour Les Marchés < 2000 --------------
X25 = (ROUND(clotur / 25) * 25)
X25 = X25 - (10 * 25)
For I = 1 To 20
X25 =  X25 + 25
DrawHLine (X25) Coloured(JauneR,JauneG,JauneB) STYLE(DOTTEDLINE,1)
DRAWTEXT("                    #X25#",barindex,X25-0,SansSerif,Bold,21) Coloured(JauneR,JauneG,JauneB)
Next
EndIf

//------------------------------------Tous Les 50 Quelque Soit Le Marché-----------------
X50 = (ROUND(clotur / 50) * 50) - (5 * 50)
//------------------------------------Tous Les 100 Quelque Soit Le Marché-----------------
X100 = (ROUND(clotur / 100) * 100) - (5 * 100)
//------------------------------------Tous Les 250 Quelque Soit Le Marché-----------------
X250 = (ROUND(clotur / 250) * 250) - (4 * 250)
//------------------------------------Tous Les 500 Quelque Soit Le Marché-----------------
X500 = (ROUND(clotur / 500) * 500) - (3 * 500)
//------------------------------------Tous Les 1000 Quelque Soit Le Marché-----------------
X1000 = (ROUND(clotur / 1000) * 1000) - (2 * 1000)


For I = 1 To 10
X50 =  X50 + 50
ok50 = X50 MOD 100 <> 0 and X50 MOD 250 <> 0
X100 = X100 + 100
ok100 = X100 MOD 500 <> 0
X250 = X250 + 250
ok250 = X250 MOD 500 <> 0
X500 = X500 + 500
ok500 = X500 MOD 1000 <> 0
X1000 = X1000 + 1000
If ok50 Then
DrawHLine (X50) Coloured(VertR,VertG,VertB) STYLE(LINE,3)
DRAWTEXT("                    #X50#",barindex,X50+2,SansSerif,Bold,21) Coloured(VertR,VertG,VertB)
EndIf
If ok100 Then
DrawHLine (X100) Coloured(BleuR,BleuG,BleuB) STYLE(LINE,3)
DRAWTEXT("                    #X100#",barindex,X100+2,SansSerif,Bold,21) Coloured(BleuR,BleuG,BleuB)
EndIf
If ok250 and I <= 8 Then
DrawHLine (X250) Coloured(OrangeR,OrangeG,OrangeB) STYLE(LINE,5)
DRAWTEXT("                    #X250#",barindex,X250+2,SansSerif,Bold,24) Coloured(OrangeR,OrangeG,OrangeB)
EndIf
If ok500 and I <= 5 Then
DrawHLine (X500) Coloured(VioletR,VioletG,VioletB) STYLE(LINE,5)
DRAWTEXT("                    #X500#",barindex,X500+2,SansSerif,Bold,24) Coloured(VioletR,VioletG,VioletB)
EndIf
If I <= 3 Then
DrawHLine (X1000) Coloured(NoirR,NoirG,NoirB) STYLE(LINE,5)
DRAWTEXT("                    #X1000#",barindex,X1000+2,SansSerif,Bold,24) Coloured(NoirR,NoirG,NoirB)
EndIf
Next

Return

Re: Indicateur PRT pour afficher tous les niveaux symboliques

par Pandino_cz » 30 déc. 2020 17:29

Merci beaucoup ça fonctionne très bien!

Sujets similaires
Indicateur de niveaux symboliques
Fichier(s) joint(s) par DarthTrader » 23 août 2016 17:07 (21 Réponses)
Indicateur niveaux symboliques
Fichier(s) joint(s) par Trading360 » 20 juil. 2020 12:53 (2 Réponses)
Tracer les niveaux symboliques
par TT32 » 05 sept. 2019 22:59 (5 Réponses)
Premier passage sur PP et Niveaux symboliques
par tjee » 12 sept. 2019 09:52 (2 Réponses)
niveaux symboliques
par bruno78 » 13 avr. 2020 10:28 (10 Réponses)
Indicateur pour afficher les séances et la clôture exacte
Fichier(s) joint(s) par Piaggio P7 » 06 janv. 2021 12:12 (2 Réponses)
Points pivots, Seuils symboliques, Supports/résistances
par Jaack03 » 13 avr. 2020 11:54 (6 Réponses)
cfds à risque limité/Future , points pivots et points symboliques
Fichier(s) joint(s) par Benoist Rousseau » 08 févr. 2021 15:23 (8 Réponses)