![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
ziko,
et maintenant le code pour le GARTLEY 222, un code plus simple qui ne produit pas autant de signaux, mais qui est plus fiable que le Gartley.
Entrées :
Longueur(100),
Force(8),
Tolérance(0.10),
BullColor(Blue),
BearColor(Rouge) ;
Variables :
F1(0.618),
F2(0.786),
F3(1.27),
F4(1.618),
P1Bar(-1),
P2Bar(-1),
T1Bar(-1),
T2Bar(-1),
P1(0.0),
P2(0.0),
T1(0.0),
T2(0.0),
PTValid(False),
HLValid(False),
InZone(False),
GD(0.0),
XA(0.0),
AB(0.0),
BC(0.0),
CD(0.0),
AD(0.0),
C1(Faux),
C2(Faux),
C3(Faux),
C4(Faux),
ABdXA(0.0),
BCdAB(0.0),
CDdBC(0.0),
ADdXA(0.0),
TL1(-1),
TL2(-1),
TL3(-1),
TL4(-1),
TL5(-1),
TL6(-1) ;
P1Bar = SwingHighBar(1, High, Strength, Length) ;
P2Bar = SwingHighBar(2, High, Strength, Length) ;
T1Bar = SwingLowBar(1, Low, Strength, Length) ;
T2Bar = SwingLowBar(2, Low, Strength, Length) ;
Si P1Bar -1 et
P2Bar -1 et
T1Bar -1 et
T2Bar -1 Then Begin
{Test pour une hausse de 222}
{Trough X est T2}
T2 = Low[T2Bar] ;
{Le pic A est P2}
P2 = Haut [P2Bar] ;
{Le creux B est T1}
T1 = Bas [T1Bar] ;
{Le pic C est P1}
P1 = Haut [P1Bar] ;
{D est le point d'achat}
GD = Low ;
PTValid = P1Bar < T1Bar et T1Bar < P2Bar et P2Bar < T2Bar ;
HLValid = P1 T2 et P1 > T1 ;
InZone = GD T2 et P2 >= Highest(High, T2Bar) ;
If PTValid and HLValid and InZone Then Begin
XA = P2 - T2 ;
AB = P2 - T1 ;
BC = P1 - T1 ;
CD = P1 - GD ;
AD = P2 - GD ;
ABdXA = AB / XA ; {AB devrait être 61,8% de XA}
C1 = ABdXA > F1 - Tolérance et ABdXA < F1 + Tolérance ;
BCdAB = BC / AB ; {BC devrait être 61,8-78,6% de AB}
C2 = BCdAB > F1 - Tolérance et BCdAB < F2 + Tolérance ;
CDdBC = CD / BC ; {CD devrait être 127-161.8% de BC}
C3 = CDdBC > F3 - Tolérance et CDdBC < F4 + Tolérance ;
ADdXA = AD / XA ; {AD devrait être 78,6% de XA}
C4 = ADdXA > F2 - Tolérance et ADdXA < F2 + Tolérance ;
If C1 and C2 and C3 and C4 Then Begin
TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2) ;
Si TL1 >= 0 Alors Commencer
TL_SetColor(TL1, BullColor) ;
TL_SetStyle(TL1, Tool_Solid) ;
TL_SetSize(TL1, 2) ;
Fin ;
TL2 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T1Bar], Time[T1Bar], T1) ;
If TL2 >= 0 Then Begin
TL_SetColor(TL2, BullColor) ;
TL_SetStyle(TL2, Tool_Solid) ;
TL_SetSize(TL2, 2) ;
Fin ;
TL3 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date[P1Bar], Time[P1Bar], P1) ;
If TL3 >= 0 Then Begin
TL_SetColor(TL3, BullColor) ;
TL_SetStyle(TL3, Tool_Solid) ;
TL_SetSize(TL3, 2) ;
Fin ;
TL4 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD) ;
If TL4 >= 0 Then Begin
TL_SetColor(TL4, BullColor) ;
TL_SetStyle(TL4, Tool_Solid) ;
TL_SetSize(TL4, 2) ;
Fin ;
TL5 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD) ;
If TL5 >= 0 Then Begin
TL_SetColor(TL5, BullColor) ;
TL_SetStyle(TL5, Tool_Dotted) ;
Fin ;
TL6 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date, Time, GD) ;
If TL6 >= 0 Then Begin
TL_SetColor(TL6, BullColor) ;
TL_SetStyle(TL6, Tool_Dotted) ;
Fin ;
Fin ;
Fin ;
{Test pour une baisse de 222}
{Peak X est P2}
{Trough A est T2}
{Peak B est P1}
{Trough C est T1}
{GD est le point court}
GD = Haut ;
PTValid = T1Bar < P1Bar et P1Bar < T2Bar et T2Bar < P2Bar ;
HLValid = T1 > T2 et P1 < P2 et T1 < P1 ;
InZone = GD > P1 et GD < P2 et T2 <= Lowest(Low, P2Bar) ;
If PTValid and HLValid and InZone Then Begin
XA = P2 - T2 ;
AB = P1 - T2 ;
BC = P1 - T1 ;
CD = GD - T1 ;
AD = GD - T2 ;
ABdXA = AB / XA ; {AB devrait être 61,8% de XA}
C1 = ABdXA > F1 - Tolérance et ABdXA < F1 + Tolérance ;
BCdAB = BC / AB ; {BC devrait être 61,8-78,6% de AB}
C2 = BCdAB > F1 - Tolérance et BCdAB < F2 + Tolérance ;
CDdBC = CD / BC ; {CD devrait être 127-161.8% de BC}
C3 = CDdBC > F3 - Tolérance et CDdBC < F4 + Tolérance ;
ADdXA = AD / XA ; {AD devrait être 78,6% de XA}
C4 = ADdXA > F2 - Tolérance et ADdXA < F2 + Tolérance ;
If C1 and C2 and C3 and C4 Then Begin
TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2) ;
Si TL1 >= 0 Alors Commencer
TL_SetColor(TL1, BearColor) ;
TL_SetStyle(TL1, Tool_Solid) ;
TL_SetSize(TL1, 2) ;
Fin ;
TL2 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P1Bar], Time[P1Bar], P1) ;
If TL2 >= 0 Then Begin
TL_SetColor(TL2, BearColor) ;
TL_SetStyle(TL2, Tool_Solid) ;
TL_SetSize(TL2, 2) ;
Fin ;
TL3 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date[T1Bar], Time[T1Bar], T1) ;
If TL3 >= 0 Then Begin
TL_SetColor(TL3, BearColor) ;
TL_SetStyle(TL3, Tool_Solid) ;
TL_SetSize(TL3, 2) ;
Fin ;
TL4 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD) ;
If TL4 >= 0 Then Begin
TL_SetColor(TL4, BearColor) ;
TL_SetStyle(TL4, Tool_Solid) ;
TL_SetSize(TL4, 2) ;
Fin ;
TL5 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD) ;
If TL5 >= 0 Then Begin
TL_SetColor(TL5, BearColor) ;
TL_SetStyle(TL5, Tool_Dotted) ;
Fin ;
TL6 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date, Time, GD) ;
If TL6 >= 0 Then Begin
TL_SetColor(TL6, BearColor) ;
TL_SetStyle(TL6, Tool_Dotted) ;
Fin ;
Fin ;
Fin ;
Fin ;
un autre en jpy
l'indicateur de zitko pointe vers un buttelfly baissier sur le gbp 30m
Tu comprends ce que je comprends ?
l'indicateur de zitko indique un buttelfly baissier sur le gbp 30m
L'indicateur n'est pas encore complet, il donne juste des points XABCD et imprime les retracements/expansions entre ces points, il ne vérifie pas si ces retracements/expansions remplissent la règle du motif ou pas.
un autre en jpy
cette configuration est inavouable,
selon les règles la ligne AC 0.832 ou 0.886 , sur ce graphique c'est 1.09.
ce modèle est inavalide, selon les règles la ligne AC 0.832 ou 0.886 , sur ce graphique elle est 1.09.
Bonjour Ziko
merci pour votre attention mais je me demande quelle est votre raison pour dire que le modèle est inavalide.je serais vraiment ravi si vous le clarifiez ??????????
jetez aussi un coup d'oeil à la photo, j'ai peut-être fait une erreur !????????
L'AC sur mon graphique indique 1.09, laissez-moi le vérifier à nouveau.
AC = (haut(b)-bas(c))/(haut(b)-bas(a))
= (118.57-118.22)/(118.57-118.25) = 1.093 et non 0.764
La ligne AC sur votre graphique relie A à un point légèrement supérieur à C.
La raison pour laquelle j'ai besoin de règles bien définies est que j'ai commencé à développer un indicateur pour ces modèles, j'ai commencé avec le papillon baissier,
Je joins l'indicateur,
vous pouvez le tester avec les graphiques précédents postés par kamyar la semaine dernière,
je le teste avec EURUSD,4H et EURCAD,4Hexcellent indicateur...excellent travail...merci