Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Gartley 222

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Gartley 222

    I've been looking for a Pesavento indicator for a long time now. Unfortunately there aren't any out there for Ninja. But there are some things made for Multi Charts. I've found the code and here it is. Is anyone interested in converting this code into NT?

    Thank you in advance!



    [/code][LegacyColorValue = true];

    {Gartley 222

    Original Code written by Mark Conway

    =================
    Modified
    by
    deMicron
    Oct. 09, 2004

    1. Option to Delete Multiple Re-Draw Lines
    2. Added 2-more Lines to complete the pattern
    ================


    }

    Inputs:
    Length(100),
    Strength(8),
    Tolerance(0.10),
    BullColor(Blue),
    BearColor(Red),
    thickness(2),
    DelMulti(TRUE); { Deletes Multiple Re-Draw Lines}

    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(False),
    C2(False),
    C3(False),
    C4(False),
    ABdXA(0.0),
    BCdAB(0.0),
    CDdBC(0.0),
    ADdXA(0.0),
    TL1(-1),
    TL2(-1),
    TL3(-1),
    TL4(-1),
    TL5(-1),
    TL6(-1),
    TL7(-1),
    TL8(-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);
    If P1Bar <> -1 and
    P2Bar <> -1 and
    T1Bar <> -1 and
    T2Bar <> -1 Then Begin
    {Test for a bullish 222}
    {Trough X is T2}
    T2 = Low[T2Bar];
    {Peak A is P2}
    P2 = High[P2Bar];
    {Trough B is T1}
    T1 = Low[T1Bar];
    {Peak C is P1}
    P1 = High[P1Bar];
    {D is the buy point}
    GD = Low;
    PTValid = P1Bar < T1Bar and T1Bar < P2Bar and P2Bar < T2Bar;
    HLValid = P1 < P2 and T1 > T2 and P1 > T1;
    InZone = GD < T1 and GD > T2 and 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 should be 61.8% of XA}
    C1 = ABdXA > F1 - Tolerance and ABdXA < F1 + Tolerance;
    BCdAB = BC / AB; {BC should be 61.8-78.6% of AB}
    C2 = BCdAB > F1 - Tolerance and BCdAB < F2 + Tolerance;
    CDdBC = CD / BC; {CD should be 127-161.8% of BC}
    C3 = CDdBC > F3 - Tolerance and CDdBC < F4 + Tolerance;
    ADdXA = AD / XA; {AD should be 78.6% of XA}
    C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;
    If C1 and C2 and C3 and C4 Then Begin
    TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2);
    If TL1 >= 0 Then Begin
    TL_SetColor(TL1, BullColor);
    TL_SetStyle(TL1, Tool_Solid);
    TL_SetSize(TL1, 2);
    End;
    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);
    End;
    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);
    End;

    if (DelMULTI) then
    begin
    if (TL4>0) then TL_Delete(TL4);
    if (TL5>0) then TL_Delete(TL5);
    if (TL5>0) then TL_Delete(TL6);
    end;


    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, thickness);
    End;

    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);
    TL_SetSize(TL5, thickness);
    End;
    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);
    TL_SetSize(TL6, thickness);
    End;

    TL7 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[P1Bar], Time[P1Bar], P1);
    If TL7 >= 0 Then Begin
    TL_SetColor(TL7, BullColor);
    TL_SetStyle(TL7, Tool_Dotted);
    TL_SetSize(TL7, thickness);
    End;

    TL8 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[T1Bar], Time[T1Bar], T1);
    If TL8 >= 0 Then Begin
    TL_SetColor(TL8, BullColor);
    TL_SetStyle(TL8, Tool_Dotted);
    TL_SetSize(TL8,thickness);
    End;


    End;
    End;
    {Test for a bearish 222}
    {Peak X is P2}
    {Trough A is T2}
    {Peak B is P1}
    {Trough C is T1}
    {GD is the short point}
    GD = High;
    PTValid = T1Bar < P1Bar and P1Bar < T2Bar and T2Bar < P2Bar;
    HLValid = T1 > T2 and P1 < P2 and T1 < P1;
    InZone = GD > P1 and GD < P2 and 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 should be 61.8% of XA}
    C1 = ABdXA > F1 - Tolerance and ABdXA < F1 + Tolerance;
    BCdAB = BC / AB; {BC should be 61.8-78.6% of AB}
    C2 = BCdAB > F1 - Tolerance and BCdAB < F2 + Tolerance;
    CDdBC = CD / BC; {CD should be 127-161.8% of BC}
    C3 = CDdBC > F3 - Tolerance and CDdBC < F4 + Tolerance;
    ADdXA = AD / XA; {AD should be 78.6% of XA}
    C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;
    If C1 and C2 and C3 and C4 Then Begin

    TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2);
    If TL1 >= 0 Then Begin
    TL_SetColor(TL1, BearColor);
    TL_SetStyle(TL1, Tool_Solid);
    TL_SetSize(TL1, thickness);
    End;

    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(TL1, thickness);
    End;
    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, thickness);
    End;


    if (DelMULTI) then
    begin
    if (TL4>0) then TL_Delete(TL4);
    if (TL5>0) then TL_Delete(TL5);
    if (TL5>0) then TL_Delete(TL6);
    end;

    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, thickness);
    End;


    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);
    TL_SetSize(TL5, thickness);
    End;

    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);
    TL_SetSize(TL6, thickness);
    End;

    TL7 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[P1Bar], Time[P1Bar], P1);
    If TL7 >= 0 Then Begin
    TL_SetColor(TL7, BearColor);
    TL_SetStyle(TL7, Tool_Dotted);
    TL_SetSize(TL7, thickness);
    End;

    TL8 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[T1Bar], Time[T1Bar], T1);
    If TL8 >= 0 Then Begin
    TL_SetColor(TL8, BearColor);
    TL_SetStyle(TL8, Tool_Dotted);
    TL_SetSize(TL8,thickness);
    End;



    End;
    End;
    End;

    #2
    There is a Gartley indicator developed here:



    For ticks (instead of %) an alteration of the above :

    Comment


      #3
      Do you have this coded out for N7 in a zip file?

      Thanks,

      Marc

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by Geovanny Suaza, 02-11-2026, 06:32 PM
      0 responses
      571 views
      0 likes
      Last Post Geovanny Suaza  
      Started by Geovanny Suaza, 02-11-2026, 05:51 PM
      0 responses
      330 views
      1 like
      Last Post Geovanny Suaza  
      Started by Mindset, 02-09-2026, 11:44 AM
      0 responses
      101 views
      0 likes
      Last Post Mindset
      by Mindset
       
      Started by Geovanny Suaza, 02-02-2026, 12:30 PM
      0 responses
      549 views
      1 like
      Last Post Geovanny Suaza  
      Started by RFrosty, 01-28-2026, 06:49 PM
      0 responses
      549 views
      1 like
      Last Post RFrosty
      by RFrosty
       
      Working...
      X