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

PRT - Neutral Zone

par RyanTrading » 16 déc. 2020 02:43

Bonjour,

Voici un code prt indicateur pour créer une zone neutre où l'on n'intervient pas ou en connaissance de cause :lol:

Pour comprendre à quoi il sert et comment s'en servir je ne peux que vous renvoyer vers l'article de Ayame : Retour d’expériences et méthodologie d’un passionné

Je vous livre ici le code complet et n'oubliez pas de créer les variables qui vont avec, si vous n'avez pas l'âme d'un programmeur je vous donne également le lien vers mon OneDrive ou se trouve un fichier nommé Neutral Zone.itf que vous pouvez directement importer dans votre plateforme prorealtime.
NeutralZone.png
NeutralZone.png (46.54 Kio) Vu 1560 fois
NeutralZoneOption.png
NeutralZoneOption.png (16.2 Kio) Vu 1560 fois
Le Code :

Code : #

// Author : RyanTrading
// Indicator Name : NeutralZone
// ProRealTime Version : 11
// Published for : AndLil

DEFPARAM DRAWONLASTBARONLY = FALSE

Drawed = 0

IF OPENTIME >= HeureOuverture and opentime < HeureOuverture + 25  then

OpenPrice = Open
OpenD = openday
OPenM = openmonth
OpenY = openYear

Date1 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureOuverture
Date2 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureFermeture
Date3 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureFermeture -30000

IF NOT Drawed[1] THEN

IF Historique THEN

DRAWSEGMENT(BarIndex, OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255)
DRAWRECTANGLE(BarIndex, OpenPrice+PointsPipsNeutre, DateToBarIndex(Date2), OpenPrice-PointsPipsNeutre) COLOURED(140,172,255)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,Dialog,standard,12) COLOURED(140,172,255)

ELSE

IF OPENDAY = TODAY then
DRAWSEGMENT(BarIndex, OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255)
DRAWRECTANGLE(BarIndex, OpenPrice+PointsPipsNeutre, DateToBarIndex(Date2), OpenPrice-PointsPipsNeutre) COLOURED(140,172,255)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,Dialog,standard,12) COLOURED(140,172,255)
ENDIF

ENDIF

Drawed = 1

ENDIF
ENDIF

RETURN
Les variables à programmer :
NeutralZoneVar.png
NeutralZoneVar.png (116.31 Kio) Vu 1560 fois
Lien de téléchargement de l'indicateur directement prêt à être importé :

https://1drv.ms/u/s!AgURiMs5AHStgsRXEHtW2jyLL90Izw?e=hf0lmY

Voilà voilà :top:

Re: PRT - Neutral Zone

par Gabriel_HO » 16 déc. 2020 09:15

Merci beaucoup :merci:
cela va en aider plus qu'un qui n'y connait rien en programmation prt.

Re: PRT - Neutral Zone

par Thierry 29 » 16 déc. 2020 09:15

Ryan Merci pour ce partage :top: :mercichinois:

J'ajouterai que si tu veux remplir le rectangle avec une couleur, il faut assigner une couleur à la bordure (V11)

DRAWRECTANGLE(BarIndex, OpenPrice+PointsPipsNeutre, DateToBarIndex(Date2), OpenPrice-PointsPipsNeutre) COLOURED(140,172,255) bordercolor(0,0,0)

Tordu non ? :lol:

Re: PRT - Neutral Zone

par max38250 » 16 déc. 2020 09:30

Merci, je vais tester cela.

Re: PRT - Neutral Zone

par RyanTrading » 16 déc. 2020 12:02

Ah super Thierry je trouvais pas comment faire pour remplir le rectangle, je vais essayer ça , je m'attendais à une instruction FILL un truc du genre mais rien :lol:
Neutral Zone.png
Neutral Zone.png (10.04 Kio) Vu 1512 fois
Voilà ça donne beaucoup mieux :top:

J'ai ajouté l'exportation dans le OneDrive : Neutral Zone 2.itf

Re: PRT - Neutral Zone

par Thierry 29 » 16 déc. 2020 19:29

Oui, c'est un peu curieux.

Du coup tu peux gérer l'alpha (la transparence) avec le quatrième paramètre de Coloured genre COLOURED(140,172,255,126)

Re: PRT - Neutral Zone

par Benoist Rousseau » 16 déc. 2020 19:47

Sympa le concept je vais l’installer merci

Re: PRT - Neutral Zone

par RyanTrading » 18 déc. 2020 04:03

Bonjour à tous,

Je viens de revoir complètement le code et ajouté une option de transparence.

Neutral Zone Options.png
Neutral Zone Options.png (39.71 Kio) Vu 1454 fois

L'heure d'ouverture et de fermeture du marché se note maintenant de manière suivante :

08h00 --> 800 ou 0800 (Le 0 superflus sera automatiquement supprimé)
15h30 --> 1530
17h30 --> 1730
22h00 --> 2200
...

Attention que sur un TimeFrame en tick il sera extrêment rare quand les zones seront visibles car il est peu probable qu'une barre (chandelier) ouvre pile à l'heure spécifiée d'ouverture.

Donc les TimeFrame à privilégier sont donc 1min, 2min, 5min, 10min, 30min
et éventuellement 1h si vous avez des ouvertures à heure ronde exemple 08h00

La nouvelle option Transparence est exprimée en % et par défaut à 20

Le fichier sur OneDrive à été mis à jour : Neutral Zone.itf dans le dossier "Indicateurs prorealtime"

Lien vers mon OneDrive : https://1drv.ms/u/s!AgURiMs5AHStgsRXEHtW2jyLL90Izw?e=hf0lmY

Code : #

// Author : RyanTrading
// Indicator Name : Neutral Zone
// ProRealTime Version : 11
// Published for : AndLil - https://www.andlil.com/
// -------------------------------------------------------
//
// Compatible TimeFrame
//
//            TimeFrame : 1 min, 2 min, 5 min, 10 min, 15 min and 30 min
//            TimeFrame : 1 hour are possible only if you set open and close market at 00 for minute  Exemple : 800 for 08h00 and 1700 for 17H00


DEFPARAM DRAWONLASTBARONLY = FALSE

BackColorTransparency = (255/100) * Transparence
BorderColorTransparency = (255/100) * (Transparence * 4)

IF OPENTIME = (HeureOuverture*100) then
OpenPrice = Open
OpenD = OpenDay
OPenM = OpenMonth
OpenY = OpenYear
Date1 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureOuverture*100)
Date2 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureFermeture*100)
Date3 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureOuverture*100) +30000
ENDIF

IF Historique THEN
DRAWSEGMENT(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255) STYLE(DOTTEDLINE,1)
DRAWRECTANGLE(DateToBarIndex(Date1), OpenPrice+PointsPipsNeutre, DateToBarIndex(Date2), OpenPrice-PointsPipsNeutre) COLOURED(180,200,255,BackColorTransparency) BORDERCOLOR(140,172,255,BorderColorTransparency)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - Prix : #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,MonoSpaced,Standard,12) COLOURED(140,172,255)
ELSE
IF IsLastBarUpdate THEN
DRAWSEGMENT(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255) STYLE(DOTTEDLINE,1)
DRAWRECTANGLE(DateToBarIndex(Date1), OpenPrice+PointsPipsNeutre, DateToBarIndex(Date2), OpenPrice-PointsPipsNeutre) COLOURED(180,200,255,BackColorTransparency) BORDERCOLOR(140,172,255,BorderColorTransparency)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - Prix : #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,MonoSpaced,Standard,12) COLOURED(140,172,255)
ENDIF
ENDIF

RETURN

Re: PRT - Neutral Zone

par pat95162 » 21 déc. 2020 22:39

:merci: pour le partage

Re: PRT - Neutral Zone

par Ayame » 23 déc. 2020 19:32

Merci RyanTrading pour ton partage qui comme tu t'en doute me sera fortement utile :)

Merci beaucoup

Re: PRT - Neutral Zone

par max38250 » 02 avr. 2022 18:13

J'ai essayer de bidouiller, pour moi, se samedi, l'indicateur pour qu'il intègre le plus haut et le plus bas des bougies dans les time frame d'ouverture EU et US au lieu de la taille en pips mais impossible de les intégrer au code, si quelqu'un s'y connait mieux que moi.

Je me suis aider d'un code de preorealcode qui fait sensiblement la même chose mais que je trouve moins joli.

Re: PRT - Neutral Zone

par totof » 02 avr. 2022 20:36

@max38250
je peux t'aider mais qu'entends-tu par "bougies dans les time frame d'ouverture" ?

Re: PRT - Neutral Zone

par tjee » 02 avr. 2022 21:10

l'OPR peut-être ?

Re: PRT - Neutral Zone

par max38250 » 03 avr. 2022 08:02

Oui l'OPR.
L'indicateur est superbe et je l'utilise quotidiennement mais j'aimerai pourvoir intégrer le + haut et le + bas de 8 à 9H pour qu'il me serve d'OPR

Re: PRT - Neutral Zone

par totof » 03 avr. 2022 09:37

Voici le code:
PS: j'ai initialisé les variables dans le programme
J'ai créé 2 nouvelles variables pour l'OPR:
HeureOuvertureOPR=080000
HeureFermetureOPR=090000

Code : #

// Author : RyanTrading
// Indicator Name : NeutralZone
// ProRealTime Version : 11
// Published for : AndLil

DEFPARAM DRAWONLASTBARONLY = FALSE

HeureOuverture=080000
HeureFermeture=220000
HeureOuvertureOPR=080000
HeureFermetureOPR=090000
Historique=1

if IntradayBarIndex=0 then
lowOPR=0
highOPR=0
endif
if time>=HeureOuvertureOPR and time<=HeureFermetureOPR then
if high>highOPR then
highOPR=high
endif
if low<lowOPR or lowOPR=0 then
lowOPR=low
endif
endif

Drawed = 0

IF OPENTIME >= HeureOuverture and opentime < HeureOuverture + 25  then
OpenPrice = Open
OpenD = openday
OPenM = openmonth
OpenY = openYear
Date1 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureOuverture
Date2 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureFermeture
Date3 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + HeureFermeture -30000
endif

IF OPENTIME >= HeureFermetureOPR and opentime < HeureFermetureOPR + 25  then
IF NOT Drawed[1] THEN

IF Historique=1 THEN

DRAWSEGMENT(BarIndex, OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255)
DRAWRECTANGLE(BarIndex, highOPR, DateToBarIndex(Date2), lowOPR) COLOURED(140,172,255)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,Dialog,standard,12) COLOURED(140,172,255)

ELSE

IF OPENDAY = TODAY then
DRAWSEGMENT(BarIndex, OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255)
DRAWRECTANGLE(BarIndex, highOPR, DateToBarIndex(Date2), lowOPR) COLOURED(140,172,255)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,Dialog,standard,12) COLOURED(140,172,255)
ENDIF

ENDIF

Drawed = 1

ENDIF
ENDIF

RETURN

Re: PRT - Neutral Zone

par max38250 » 03 avr. 2022 10:21

Merci je regarde ça davantage demain.
Bon dimanche

Re: PRT - Neutral Zone

par tjee » 03 avr. 2022 10:26

Il doit être possible d'utiliser le multi time frame et d'entourer le pavé de setup des bornes du rectangles avec
TIMEFRAME(15mn,UpdateOnClose)
...
TIMEFRAME(default)
Mais il faudra ensuite être dans un multiple de ce timeframe 1M, 3m, 15M, 60M, ...

Re: PRT - Neutral Zone

par max38250 » 04 avr. 2022 08:43

Oui c'est certainement possible tjee.

L'indicateur modifier est bien, mais il ne prend pas en compte le plus et le plus bas de 8 à 9h
Je vais essayer de décortiquer une nouvelle fois et de modifier cela.

Re: PRT - Neutral Zone

par tjee » 04 avr. 2022 09:02

Le suivant fonctionne uniquement sur des ut sous-multiples de 15 minutes mais je pense qu'il affiche ton OPR

Code : #

// Author : RyanTrading modified by TJEE
// Indicator Name : Neutral Zone
// ProRealTime Version : 11
// Published for : AndLil - https://www.andlil.com/
// -------------------------------------------------------
//
// Compatible TimeFrame
//
//            TimeFrame : 1 sec, 2 sec, 5 sec, 10 sec, 30 sec, 1 min, 3 min, 5 min, 15 min
//            TimeFrame : 1 hour are possible only if you set open and close market at 00 for minute  Exemple : 800 for 08h00 and 1700 for 17H00


DEFPARAM DRAWONLASTBARONLY = FALSE

BackColorTransparency = (255/100) * Transparence
BorderColorTransparency = (255/100) * (Transparence * 4)

OPRSetted=0
TIMEFRAME (15 MINUTE, UpdateOnClose)
IF OPENTIME = (HeureOuverture*100) then
IF (OPRSetted=0) THEN
OPRSetted=1
OpenPrice = HIGH
ClosePrice = LOW
OpenD = OpenDay
OPenM = OpenMonth
OpenY = OpenYear
Date1 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureOuverture*100)
Date2 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureFermeture*100)
Date3 = (OpenY * 10000000000) + (OpenM * 100000000) + (OpenD * 1000000) + (HeureOuverture*100) +30000
ENDIF
ENDIF
TIMEFRAME (default)

IF Historique THEN
DRAWSEGMENT(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255) STYLE(DOTTEDLINE,1)
DRAWRECTANGLE(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), ClosePrice) COLOURED(180,200,255,BackColorTransparency) BORDERCOLOR(140,172,255,BorderColorTransparency)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - Prix : #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,MonoSpaced,Standard,12) COLOURED(140,172,255)
ELSE
IF IsLastBarUpdate THEN
DRAWSEGMENT(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), OpenPrice) COLOURED(180,200,255) STYLE(DOTTEDLINE,1)
DRAWRECTANGLE(DateToBarIndex(Date1), OpenPrice, DateToBarIndex(Date2), ClosePrice) COLOURED(180,200,255,BackColorTransparency) BORDERCOLOR(140,172,255,BorderColorTransparency)
DRAWTEXT("Ouverture #OpenD#/#OpenM#/#OpenY# - Prix : #OpenPrice#",DateToBarIndex(Date3),OpenPrice+2,MonoSpaced,Standard,12) COLOURED(140,172,255)
ENDIF
ENDIF

RETURN

Re: PRT - Neutral Zone

par tjee » 04 avr. 2022 09:47

Il y a un bug quand on passe de 5 minutes à 15 minutes alors que ça fonctionne bien si on est directement en 15 minutes au moment ou on ajoute l'indicateur.
Pas trop le temps de voir pourquoi pour le moment.

Sujets similaires
PRT - Tracer zone
par Actarus21 » 28 avr. 2019 23:41 (5 Réponses)
Supression Zone passage d'ordre sur Graphique PRT Future
Fichier(s) joint(s) par JPetrucci » 26 mars 2023 20:41 (5 Réponses)
Zone de support-résistance
par rquaid » 27 avr. 2013 09:35 (16 Réponses)
Chiffres de la zone Euro
Fichier(s) joint(s) par Rogue » 01 avr. 2014 20:13 (6 Réponses)
Comment voir une zone tracée (rectangle) sur UT inférieure ?
Fichier(s) joint(s) par plataxis » 23 janv. 2015 23:32 (8 Réponses)
Euronext, la santé de la zone euro: Euro Stoxx 50 !
par Stochastic » 11 sept. 2015 11:58 (0 Réponses)
Chercher la Zone !
Fichier(s) joint(s) par Stochastic » 15 déc. 2016 21:56 (10 Réponses)
zone de neutralité du rsi?
par dede6363 » 29 mars 2017 17:38 (13 Réponses)
taux de chomage zone euro
Fichier(s) joint(s) par climatisor » 07 oct. 2018 21:31 (33 Réponses)