Indicateur PRT pour afficher tous les niveaux symboliques

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
BAB
Padawan
Messages : 447
Enregistré le : 24 juin 2019 16:20

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par BAB »

Et voilà

DEFPARAM CALCULATEONLASTBARS = 1

y=10
x=(Round((Close-y/2*100)/100))*100
For i= 1 to y
x = x + 100
DRAWHLINE(x) COLOURED(0, 0, 255) STYLE(LINE,1) //Bleu
Next

x=(Round((Close-y/2*100)/100))*100
For i= 1 to y
x = x + 100
z = (Round(x/1000.00)) * 1000.00
DRAWHLINE(z) COLOURED(255, 0, 0) STYLE(LINE,2)//Rouge
DRAWHLINE(z+250) COLOURED(255, 0, 0) STYLE(LINE,2)//Rouge
DRAWHLINE(z+500) COLOURED(255, 0, 0) STYLE(LINE,2)//Rouge
DRAWHLINE(z+750) COLOURED(255, 0, 0) STYLE(LINE,2)//Rouge
NEXT

RETURN


Bonne fin d'année à tous
Avatar du membre
Pandino_cz
Ewok
Messages : 81
Enregistré le : 25 août 2020 19:38

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Pandino_cz »

Merci Bab, je vais tester.

Bon réveillon à tout le monde!
Avatar du membre
BAB
Padawan
Messages : 447
Enregistré le : 24 juin 2019 16:20

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par BAB »

Bonjour
Je vous souhaite à toutes et tous une bonne et merveilleuse année.
Je suis une buse en informatique et la panoplie de prorealcode semble un peu limité.
Question à ceux qui touchent à la programmation :
La 7eme ligne du code ne fonctionne pas en partie sur "a = 500 or a = 750"
Si un bon samaritain peut m'ouvrir les yeux en me donnant la lumière :prier: , je lui fais une bise virtuelle. :lol:
Merci et bonne journée


DEFPARAM CALCULATEONLASTBARS = 1
y = 20
x = (Round((Close-y/4*100)/100))*100
For i= 1 to y
x = x + 50
a = x - Round( x / 1000)*1000
if a = 0 or a = 250 or a = 500 or a = 750 then
DRAWHLINE(x) COLOURED(0, 0, 255) STYLE(LINE,2) //Bleu
elsif a - Round( a / 100)*100 = 0 then
DRAWHLINE(x) COLOURED(0, 0, 255) STYLE(LINE,1) //Bleu
endif
Next
RETURN
Avatar du membre
BAB
Padawan
Messages : 447
Enregistré le : 24 juin 2019 16:20

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par BAB »

Y a t il quelqu'un dans l'avion? :roll:
Je suis friand de savoir
Merci et bonne journée.
:merci:
Avatar du membre
naol
Chevalier Jedi
Messages : 2293
Enregistré le : 21 oct. 2020 06:32

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par naol »

Bonjour ozmirak ainsi qu’à tous les autres traders. Vous avez fait des modifs en plus du code qu’avais fournit ozmirak d’ou la question : qu’est-ce qu’on fait maintenant ? Est-ce qu’on reste sur le 1er code ou bien faut-il adapter les améliorations sur le 1er code avec comme 2ème question est-ce qu’un membre informaticien peut créer un code qui reprenne le code de ozmirak avec les améliorations en plus ? Merci à vous tous....
Avatar du membre
Ozmizrak
Chevalier Émérite Jedi
Messages : 3455
Enregistré le : 27 mai 2020 14:39

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Ozmizrak »

Bonjour,
Voici l'indicateur final amélioré, plus compacte, beaucoup plus rapide et tenant compte de toutes les remarques qu'il y a eu sur cette file. :merci: à vous tous.

Code : #

defparam drawonlastbaronly = true
defparam CalculateOnLastBars = 10

//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 < 2500  Then
//------------------------------------Tous Les 25 Pour Les Marchés < 2500 --------------
//y=6 pour tracer -3 +3 autour du Round du Close
y=8
X25=(Round((Close-y/2*25)/25))*25
For I = 1 To y
X25 =  X25 + 25
DrawHLine (X25) Coloured(JauneR,JauneG,JauneB) STYLE(DOTTEDLINE,1)
DRAWTEXT("                    #X25#",barindex,X25+1,SansSerif,Bold,14) Coloured(JauneR,JauneG,JauneB)
Next
EndIf

//------------------------------------Tous Les 50  Quelque Soit Le Marché-----------------
//------------------------------------Tous Les 100 Quelque Soit Le Marché-----------------
//y=6 pour tracer -3 +3 autour du Round du Close
y=6
X100=(Round((Close-y/2*100)/100))*100
For I = 1 To y
X100 = X100 + 100
DrawHLine (X100) Coloured(BleuR,BleuG,BleuB) STYLE(LINE,2)
DRAWTEXT("                    #X100#",barindex,X100+1,SansSerif,Bold,14) Coloured(BleuR,BleuG,BleuB)
X50 =  X100 + 50
DrawHLine (X50) Coloured(VertR,VertG,VertB) STYLE(LINE,2)
DRAWTEXT("                    #X50#",barindex,X50+1,SansSerif,Bold,14) Coloured(VertR,VertG,VertB)
Next

//------------------------------------Tous Les 250 Quelque Soit Le Marché-----------------
//------------------------------------Tous Les 500 Quelque Soit Le Marché-----------------
//y=6 pour tracer -3 +3 autour du Round du Close
y=6
X500=(Round((Close-y/2*500)/500))*500
For I = 1 To y
X500 = X500 + 500
DrawHLine (X500) Coloured(VioletR,VioletG,VioletB) STYLE(LINE,3)
DRAWTEXT("                    #X500#",barindex,X500+1,SansSerif,Bold,14) Coloured(VioletR,VioletG,VioletB)
X250 = X500 + 250
DrawHLine (X250) Coloured(OrangeR,OrangeG,OrangeB) STYLE(LINE,3)
DRAWTEXT("                    #X250#",barindex,X250+1,SansSerif,Bold,14) Coloured(OrangeR,OrangeG,OrangeB)
Next

//------------------------------------Tous Les 1000 Quelque Soit Le Marché-----------------
//y=4 pour tracer -2 +2 autour du Round du Close
y=4
X1000=(Round((Close-y/2*1000)/1000))*1000
For I = 1 To y
X1000 = X1000 + 1000
DrawHLine (X1000) Coloured(NoirR,NoirG,NoirB) STYLE(LINE,4)
DRAWTEXT("                    #X1000#",barindex,X1000+1,SansSerif,Bold,14) Coloured(NoirR,NoirG,NoirB)
Next

Return
Je vous souhaite une bonne utilisation.
Avatar du membre
Pandino_cz
Ewok
Messages : 81
Enregistré le : 25 août 2020 19:38

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Pandino_cz »

Merci Ozmizrak, je vais le tester
Avatar du membre
naol
Chevalier Jedi
Messages : 2293
Enregistré le : 21 oct. 2020 06:32

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par naol »

Bonjour Ozmizrak et merci
Avatar du membre
Wu Wei
Membre du Conseil Jedi
Messages : 10763
Enregistré le : 05 août 2021 14:16

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Wu Wei »

Bonjour,
Un immense :merci: pour le boulot fourni, à commencer par Oz :mercichinois: :mercichinois: :mercichinois:
L'indicateur fonctionne parfaitement pour moi. Je l'utilise depuis la première version. :merci:
Avatar du membre
Francis1
Le Sage
Messages : 30212
Enregistré le : 20 mars 2019 15:50

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Francis1 »

:merci:
Avatar du membre
kelly
Maître Jedi
Messages : 4956
Enregistré le : 17 mai 2016 16:43

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par kelly »

Merci.
Avatar du membre
JPM55
Membre du Conseil Jedi
Messages : 10595
Enregistré le : 14 févr. 2020 13:21

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par JPM55 »

:top:
Avatar du membre
SpicyFlow
Ewok
Messages : 38
Enregistré le : 03 août 2019 15:50

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par SpicyFlow »

Merci infiniment Ozmizrak ! Installé en 2 secondes et fonctionnel :merci:
Capture.PNG
Capture.PNG (55.97 Kio) Vu 33914 fois
Avatar du membre
Zeddicus
Chevalier Jedi
Messages : 2333
Enregistré le : 27 juin 2020 08:00

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Zeddicus »

Un grand merci pour ce partage :top:
Avatar du membre
Manideng
Stormtrooper
Messages : 106
Enregistré le : 19 juin 2022 19:35

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par Manideng »

Super, :merci: beaucoup
Avatar du membre
ChristelleP
La Battante
Messages : 68876
Enregistré le : 23 janv. 2018 09:53

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par ChristelleP »

up-1.jpg
up-1.jpg (10.9 Kio) Vu 33805 fois
Avatar du membre
cafeiine2023
Apprenti Jedi
Messages : 632
Enregistré le : 27 févr. 2023 20:36

Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par cafeiine2023 »

Bonjour,

Je propose une variante de code pour afficher les points symboliques.

Capture d’écran 2023-07-25 194249.png
Capture d’écran 2023-07-25 194249.png (24.98 Kio) Vu 33801 fois
Capture d’écran 2023-07-25 195237.png
Capture d’écran 2023-07-25 195237.png (27.28 Kio) Vu 33801 fois

Code : #

// NivSymb V0 | indicator
// 09.07.2023
// cafeiine2023
// Sharing ProRealTime knowledge

// --- settings ProRealTime
// active1000=1
// active750=1
// active500=1
// active250=1
// active100=1
// active50=1
// --- end of settings ProRealTime

// -----------------------------------------------------------------------------
// Comments
// -----------------------------------------------------------------------------

// 50
// 100
// 250
// 500
// 750
// 1000

// -----------------------------------------------------------------------------
// Constants / Enum
// -----------------------------------------------------------------------------

// Constants -------------------------------------------------------------------

cTrue = 1
cFalse = 0


// -----------------------------------------------------------------------------
// Main
// -----------------------------------------------------------------------------

//unset( $ArrayNiv )

IF intradaybarindex=0 THEN

// 1000,250,500,750
symb=1000
base=floor(DOpen(0)/symb)
FOR i = -3 TO 3 DO
// 1000
niv=base*symb+i*symb
IF NOT ISSET($ArrayNiv[niv]) AND active1000 = cTrue THEN
DRAWHLINE(niv) COLOURED ("red") STYLE(DOTTEDLINE,2)
$ArrayNiv[niv]=1
ENDIF
// 250
niv=base*symb+i*symb+250
IF NOT ISSET($ArrayNiv[niv]) AND active250 = cTrue THEN
DRAWHLINE(niv) COLOURED ("orange") STYLE(DOTTEDLINE,1)
$ArrayNiv[niv]=1
ENDIF
// 500
niv=base*symb+i*symb+500
IF NOT ISSET($ArrayNiv[niv]) AND active500 = cTrue THEN
DRAWHLINE(niv)COLOURED ("orange") STYLE(DOTTEDLINE,1)
$ArrayNiv[niv]=1
ENDIF
// 750
niv=base*symb+i*symb+750
IF NOT ISSET($ArrayNiv[niv]) AND active750 = cTrue THEN
DRAWHLINE(niv) COLOURED ("orange") STYLE(DOTTEDLINE,1)
$ArrayNiv[niv]=1
ENDIF
NEXT

// 100,50
symb=100
base=floor(DOpen(0)/symb)
FOR i = -7 TO 7 DO
// 100
niv=base*symb+i*symb
IF NOT ISSET($ArrayNiv[niv]) AND active100 = cTrue THEN
DRAWHLINE(niv) COLOURED ("grey") STYLE(DOTTEDLINE,1)
$ArrayNiv[niv]=1
ENDIF
// 50
niv=base*symb+i*symb+50
IF NOT ISSET($ArrayNiv[niv]) AND active50 = cTrue THEN
DRAWHLINE(niv) COLOURED ("grey") STYLE(DOTTEDLINE,1)
$ArrayNiv[niv]=1
ENDIF
NEXT

ENDIF

RETURN

// -----------------------------------------------------------------------------
// Annexes
// -----------------------------------------------------------------------------

// https://www.andlil.com/forum/indicateur-prt-pour-afficher-tous-les-niveaux-symboliques-t39441-30.html
Points clés :
- dessine les droites qu'une seule fois (performant)
- sélection des niveaux en paramètre (0=non ou 1=oui)
- forme de code inspirée de prorealcode
Avatar du membre
ChristelleP
La Battante
Messages : 68876
Enregistré le : 23 janv. 2018 09:53

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par ChristelleP »

Caféine :top:
Avatar du membre
Benoist Rousseau
Trader Futures / CME Member
Messages : 174719
Enregistré le : 06 sept. 2011 22:45

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/src/Extension/CoreExtension.php on line 570: strtr(): Ignoring replacement of empty string
Benoist Rousseau
»

merci énormément, je l'utilise il marche super bien cafeine
Avatar du membre
ChristelleP
La Battante
Messages : 68876
Enregistré le : 23 janv. 2018 09:53

Re: Indicateur PRT pour afficher tous les niveaux symboliques

Message non lu par ChristelleP »

up-1.jpg
up-1.jpg (10.9 Kio) Vu 33756 fois