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 : #
//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
Indicateur Darvas Bearish v1.3.0 : c'est la version baissière pour trader les UT journalières et au-delà :
Code : #
//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 : #
//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 : #
//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
- 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 : #
//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$