ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...
Répondre Page 1 sur 1

Indicateurs boites de Darvas pour PRT 10.3

par Jim » 13 Oct 2017 22:18

Voici une séries de codes pour différents indicateurs pour traiter le système de Darvas.

Attention : ces codes ne constituent pas des systèmes de trading. Ils ne font que construire les boites, selon le principe :
- borne haute = le plus haut est suivi de trois chandeliers moins hauts.
- borne basse = le plus bas est suivi de trois chandeliers moins bas.

Quoi de neuf alors ? Cet indicateur met à profit les nouvelles fonctions de dessin de PRT 10.3 pour faire des jolies boites, qui se construisent en direct.

Indicateur Darvas Bullish v1.3.0 : c'est le classique pour trader les UT journalières et au-delà :
Code: Tout sélectionner
//Darvas Bullish v1.3.0

ONCE Marge = 0.25

ONCE TriggerDeterminationBorneHaute = 1 //Trigger = 1 si borne haute pas encore trouvée
ONCE TriggerDeterminationBorneBasse = 0 // Trigger = 1 dès que borne haute est trouvée
ONCE BornesHautesEtBassesDeterminees = 0


// 1ère phase : détermination borne haute
IF TriggerDeterminationBorneHaute AND (barindex > BarIndexSortieBoite+2) THEN
IF highest[3](high) < high[3] THEN
BorneHaute = high[3] +Marge
BarIndexDebutBoite = barindex-3
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
ENDIF
ENDIF

// 2ème phase : détermination borne basse
IF TriggerDeterminationBorneBasse THEN
IF high > BorneHaute THEN
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
ELSIF lowest[3](low) > low[3] THEN
BorneBasse = low[3] -Marge
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,barindex,BorneHaute) coloured (0,200,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneBasse,barindex,BorneBasse) coloured (0,200,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,BarIndexDebutBoite,BorneBasse) coloured (0,200,0)
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 1
ENDIF
ENDIF

// 3ème phase : bornes hautes et basses déterminées
IF BornesHautesEtBassesDeterminees THEN
IF high > BorneHaute OR low < BorneBasse THEN  // sortie en dehors des bornes
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (0,200,0)
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 0
BarIndexSortieBoite = barindex
ELSE  // on est dans les bornes et on continue le tracé
DRAWSEGMENT (barindex-1,BorneHaute,barindex,BorneHaute) coloured (0,200,0)
DRAWSEGMENT (barindex-1,BorneBasse,barindex,BorneBasse) coloured (0,200,0)
ENDIF
ENDIF

RETURN


Le paramètre Marge est une coquetterie graphique pour régler la distance entre les plus hauts/bas et les boites.


Indicateur Darvas Bearish v1.3.0 : c'est la version baissière pour trader les UT journalières et au-delà :

Code: Tout sélectionner
//Darvas Bearish v1.3.0

ONCE Marge = 0.25

ONCE TriggerDeterminationBorneHaute = 0
ONCE TriggerDeterminationBorneBasse = 1
ONCE BornesHautesEtBassesDeterminees = 0


// 1ère phase : détermination borne basse
IF TriggerDeterminationBorneBasse AND (barindex > BarIndexSortieBoite+2) THEN
IF lowest[3](low) > low[3] THEN
BorneBasse = low[3] -Marge
BarIndexDebutBoite = barindex-3
TriggerDeterminationBorneBasse = 0
TriggerDeterminationBorneHaute = 1
ENDIF
ENDIF

// 2ème phase : détermination borne haute
IF TriggerDeterminationBorneHaute THEN
IF low < BorneBasse THEN
TriggerDeterminationBorneBasse = 1
TriggerDeterminationBorneHaute = 0
ELSIF highest[3](high) < high[3] THEN
BorneHaute = high[3] +Marge
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,barindex,BorneHaute) coloured (250,0,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneBasse,barindex,BorneBasse) coloured (250,0,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,BarIndexDebutBoite,BorneBasse) coloured (250,0,0)
TriggerDeterminationBorneHaute = 0
BornesHautesEtBassesDeterminees = 1
ENDIF
ENDIF

// 3ème phase : bornes hautes et basses déterminées
IF BornesHautesEtBassesDeterminees THEN
IF high > BorneHaute OR low < BorneBasse THEN  // sortie en dehors des bornes
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (250,0,0)
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
BornesHautesEtBassesDeterminees = 0
BarIndexSortieBoite = barindex
ELSE  // on est dans les bornes et on continue le tracé
DRAWSEGMENT (barindex-1,BorneHaute,barindex,BorneHaute) coloured (250,0,0)
DRAWSEGMENT (barindex-1,BorneBasse,barindex,BorneBasse) coloured (250,0,0)
ENDIF
ENDIF

RETURN



Indicateur Darvas Bullish v1.2.2 : c'est pour trader les hausses en intraday (réinitialisation quotidienne de l'indicateur) :
Code: Tout sélectionner
//Darvas Bullish v1.2.2

ONCE Marge = 0.25

// RAZ quotidienne de l'indicateur
IF intradaybarindex = 0 THEN
TriggerDeterminationBorneHaute = 1 //Trigger = 1 si borne haute pas encore trouvée
TriggerDeterminationBorneBasse = 0 // Trigger = 1 dès que borne haute est trouvée
IF BornesHautesEtBassesDeterminees THEN  // on ferme le rectangle en cours de construction
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (0,200,0)
BornesHautesEtBassesDeterminees = 0
ENDIF
BarIndexSortieBoite = barindex
ENDIF

// 1ère phase : détermination borne haute
IF TriggerDeterminationBorneHaute AND (barindex > BarIndexSortieBoite+2) THEN
IF highest[3](high) < high[3] THEN
BorneHaute = high[3] +Marge
BarIndexDebutBoite = barindex-3
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
ENDIF
ENDIF

// 2ème phase : détermination borne basse
IF TriggerDeterminationBorneBasse THEN
IF high > BorneHaute THEN
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
ELSIF lowest[3](low) > low[3] THEN
BorneBasse = low[3] -Marge
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,barindex,BorneHaute) coloured (0,200,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneBasse,barindex,BorneBasse) coloured (0,200,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,BarIndexDebutBoite,BorneBasse) coloured (0,200,0)
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 1
ENDIF
ENDIF

// 3ème phase : bornes hautes et basses déterminées
IF BornesHautesEtBassesDeterminees THEN
IF high > BorneHaute OR low < BorneBasse THEN  // sortie en dehors des bornes
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (0,200,0)
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 0
BarIndexSortieBoite = barindex
ELSE  // on est dans les bornes et on continue le tracé
DRAWSEGMENT (barindex-1,BorneHaute,barindex,BorneHaute) coloured (0,200,0)
DRAWSEGMENT (barindex-1,BorneBasse,barindex,BorneBasse) coloured (0,200,0)
ENDIF
ENDIF

RETURN



Indicateur Darvas Bearish v1.2.2 : c'est pour trader les baisses en intraday (réinitialisation quotidienne de l'indicateur) :

Code: Tout sélectionner
//Darvas Bearish v1.2.2

ONCE Marge = 0.25

// RAZ quotidienne de l'indicateur
IF intradaybarindex = 0 THEN
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
IF BornesHautesEtBassesDeterminees THEN  // on ferme le rectangle en cours de construction
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (250,0,0)
BornesHautesEtBassesDeterminees = 0
ENDIF
BarIndexSortieBoite = barindex
ENDIF

// 1ère phase : détermination borne basse
IF TriggerDeterminationBorneBasse AND (barindex > BarIndexSortieBoite+2) THEN
IF lowest[3](low) > low[3] THEN
BorneBasse = low[3] -Marge
BarIndexDebutBoite = barindex-3
TriggerDeterminationBorneBasse = 0
TriggerDeterminationBorneHaute = 1
ENDIF
ENDIF

// 2ème phase : détermination borne haute
IF TriggerDeterminationBorneHaute THEN
IF low < BorneBasse THEN
TriggerDeterminationBorneBasse = 1
TriggerDeterminationBorneHaute = 0
ELSIF highest[3](high) < high[3] THEN
BorneHaute = high[3] +Marge
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,barindex,BorneHaute) coloured (250,0,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneBasse,barindex,BorneBasse) coloured (250,0,0)
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,BarIndexDebutBoite,BorneBasse) coloured (250,0,0)
TriggerDeterminationBorneHaute = 0
BornesHautesEtBassesDeterminees = 1
ENDIF
ENDIF

// 3ème phase : bornes hautes et basses déterminées
IF BornesHautesEtBassesDeterminees THEN
IF high > BorneHaute OR low < BorneBasse THEN  // sortie en dehors des bornes
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (250,0,0)
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
BornesHautesEtBassesDeterminees = 0
BarIndexSortieBoite = barindex
ELSE  // on est dans les bornes et on continue le tracé
DRAWSEGMENT (barindex-1,BorneHaute,barindex,BorneHaute) coloured (250,0,0)
DRAWSEGMENT (barindex-1,BorneBasse,barindex,BorneBasse) coloured (250,0,0)
ENDIF
ENDIF

RETURN


Indicateur Darvas Bullish v1.3.1 : il fait du paper trading pour tester si la cible est Darvas-compatible :
- entrée longue si sortie par le haut de la boite.
- fermeture lorsqu'on passe le plus bas de la dernière boite.
- il affiche le gain en % à la fermeture de la position.

Code: Tout sélectionner
//Darvas Bullish v1.3.1

ONCE Marge = 0.25

ONCE TriggerDeterminationBorneHaute = 1 //Trigger = 1 si borne haute pas encore trouvée
ONCE TriggerDeterminationBorneBasse = 0 // Trigger = 1 dès que borne haute est trouvée
ONCE BornesHautesEtBassesDeterminees = 0


// 1ère phase : détermination borne haute
IF TriggerDeterminationBorneHaute AND (barindex > BarIndexSortieBoite+2) THEN
IF highest[3](high) < high[3] THEN
BorneHaute = high[3] +Marge
BarIndexDebutBoite = barindex-3
TriggerDeterminationBorneHaute = 0
TriggerDeterminationBorneBasse = 1
ENDIF
ENDIF

// 2ème phase : détermination borne basse
IF TriggerDeterminationBorneBasse THEN
IF high > BorneHaute THEN
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
ELSIF lowest[3](low) > low[3] THEN
BorneBasse = low[3] -Marge
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,barindex,BorneHaute) coloured (0,170,255)
DRAWSEGMENT (BarIndexDebutBoite,BorneBasse,barindex,BorneBasse) coloured (0,170,255)
DRAWSEGMENT (BarIndexDebutBoite,BorneHaute,BarIndexDebutBoite,BorneBasse) coloured (0,170,255)
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 1
ENDIF
ENDIF

// 3ème phase : bornes hautes et basses déterminées
IF BornesHautesEtBassesDeterminees THEN
IF high > BorneHaute OR low < BorneBasse THEN  // sortie en dehors des bornes
DRAWSEGMENT (barindex-1,BorneHaute,barindex-1,BorneBasse) coloured (0,170,255)
TriggerDeterminationBorneHaute = 1
TriggerDeterminationBorneBasse = 0
BornesHautesEtBassesDeterminees = 0
BarIndexSortieBoite = barindex
IF EnPosition = 0 AND high > BorneHaute THEN  // entrée en position
PrixEntree = max(open,BorneHaute)
DRAWARROWUP (barindex,PrixEntree)
EnPosition = 1
ENDIF
ELSE  // on est dans les bornes et on continue le tracé
DRAWSEGMENT (barindex-1,BorneHaute,barindex,BorneHaute) coloured (0,170,255)
DRAWSEGMENT (barindex-1,BorneBasse,barindex,BorneBasse) coloured (0,170,255)
ENDIF
ENDIF

IF EnPosition AND low < BorneBasse THEN // sortie de position
EnPosition = 0
PrixSortie = min(open,BorneBasse)
DRAWARROWDOWN (barindex,PrixSortie)
Gain = PrixSortie - PrixEntree
PourCent = (1000*Gain/PrixEntree MOD 1000)/10
// DRAWTEXT
IF PourCent >1 THEN
drawtext ("Gain= #Pourcent#%",barindex-5,low*0.99,dialog,standard,17) coloured (0,200,0)
ELSIF PourCent <-1 THEN
drawtext ("Gain= #Pourcent#%",barindex-5,low*0.99,dialog,standard,17) coloured (250,0,0)
ELSE
drawtext ("Gain= #Pourcent#%",barindex-5,low*0.99,dialog,standard,17)
ENDIF
ENDIF



RETURN




Par exemple, pour Apple en UT jour, avec "Darvas Bullish v1.3.1" :

Sur Apple, on voit qu'il y a une boite en cours de construction : Break out à surveiller à 165$ ;)

Re: Indicateurs boites de Darvas pour PRT 10.3

par Gabinou159 » 07 Jan 2018 16:00

Excellent travail Jim, merci! :top:

Re: Indicateurs boites de Darvas pour PRT 10.3

par BearIsDead » 07 Jan 2018 22:36

Joli partage Jim, j'avais loupé ça. merci. Je ne connais pas les boites de Darvas, je regarderai ça.
(et merci pour le déterrage Gab ;) )

Re: Indicateurs boites de Darvas pour PRT 10.3

par BillyRayValentine » 07 Jan 2018 22:41

Merci pour les exemples d'utilisation des fonctions dessin Jim :merci:

Articles en relation
Indicateurs Points Pivots (PP) pour ProRealTime/IG
Fichier(s) joint(s) par GOLDENBOY » 17 Sep 2015 19:33 (11 Réponses)
Screener Darvas
par Raiko » 04 Mar 2015 22:54 (1 Réponses)
Code Darvas mofications
Fichier(s) joint(s) par Anonymous99 » 28 Fév 2015 22:41 (3 Réponses)
ajouter des indicateurs
Fichier(s) joint(s) par jmd24 » 10 Fév 2018 17:16 (11 Réponses)
comment sauvegarder les indicateurs
par Benoist Rousseau » 31 Mar 2016 13:59 (2 Réponses)
Dessiner sur des indicateurs personnalisés ...
par top87 » 22 Nov 2016 07:21 (3 Réponses)
Indicateurs de trading et fatigue visuelle
Fichier(s) joint(s) par Jim » 23 Jan 2018 22:00 (0 Réponses)
Problème de remplissage entre 2 indicateurs sur le prix
par Cuik » 27 Juin 2018 16:27 (1 Réponses)
Différence entre graphiques Nasdaq-Incidence sur Indicateurs
par Gertrade » 30 Avr 2018 21:50 (0 Réponses)
codes pour points pivots futures pour cfd à risque limité
par Eversa » 28 Juin 2018 10:24 (5 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé