My afl collection

Status
Not open for further replies.



For me, its working fine, see image below (Background is set to white)
Dear Shivangi,

The chart is blank, not showing anything... I have put T3 Include in include folder and copied nirvanan and T3 in formula folder yet when clicked it is blank.

Any solution AMi is 5.50

Thanks
Aloakdutt
 

shivangi77

Well-Known Member
Harmonic Pattern



Code:
/*                     HARMONIC PATTERN DETECTION                        
 
 
Automatic Detection of Harmonic Patterns - Gartley, Bat, Butterfly and Crab. 
 
Zig Zag is not used in this AFL. It is based on fractals
 
 
*/
 
 
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorWhite ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END();
 
_SECTION_BEGIN("Gartley");
 
GBmin = Param("Swing B Min.",0.55,0.3,1,0.01);
GBmax = Param("Swing B Max.",0.72,0.4,1,0.01);
GCmin = Param("Swing C Min.",0.38,0.3,1.27,0.01);
GCmax = Param("Swing C Max.",1.0,0.4,1.27,0.01);
GDmin = Param("Swing D Min.(XA)",0.55,0.3,1,0.01);
GDmax = Param("Swing D Max.(XA)",1.0,0.4,1.0,0.01);
 
_SECTION_END();
 
_SECTION_BEGIN("Bat");
 
BatBmin = Param("Swing B Min.",0.38,0.3,1,0.01);
BatBmax = Param("Swing B Max.",0.55,0.4,1,0.01);
BatCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
BatCmax = Param("Swing C Max.",1.27,0.4,1.62,0.01);
BatDmin = Param("Swing D Min.(XA)",0.5,0.3,1,0.01);
BatDmax = Param("Swing D Max.(XA)",1.0,0.4,1.0,0.01);
 
_SECTION_END();
 
_SECTION_BEGIN("Butterfly");
 
BtBmin = Param("Swing B Min.",0.55,0.3,1,0.01);
BtBmax = Param("Swing B Max.",0.9,0.4,1,0.01);
BtCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
BtCmax = Param("Swing C Max.",1.27,0.4,1.62,0.01);
BtDmin = Param("Swing D Min.(XA)",1,1,1.8,0.01);
BtDmax = Param("Swing D Max.(XA)",1.8,1,1.8,0.01);                      // Max XA of Butterfly = (1.0 - 1.618)
 
_SECTION_END();
 
_SECTION_BEGIN("Crab");
 
CBmin = Param("Swing B Min.",0.38,0.3,1,0.01);
CBmax = Param("Swing B Max.",0.65,0.4,1,0.01);
CCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
CCmax = Param("Swing C Max.",1.270,0.4,1.62,0.01);
CDmin = Param("Swing D Min.(XA)",1.25,1,1.8,0.01);
CDmax = Param("Swing D Max.(XA)",1.8,1,2,0.01);
 
_SECTION_END();
 
_SECTION_BEGIN("AB=CD");
 
abcd_Cmin = Param("Swing C Min.",0.3,       0.3 ,   1,      0.01);
abcd_Cmax = Param("Swing C Max.",0.8,       0.8 ,   1,      0.01);
abcd_Dmin = Param("Swing D Min.",1.2,       1,      2.7,    0.01);
abcd_Dmax = Param("Swing D Max.",3.7,       1,      4,      0.01);
 
_SECTION_END();
 
_SECTION_BEGIN("Patterns");
     
//strength = Param("Strength",5,2,15,1);                                    // Best use: 3, 4, 5
strength = Param("BARS of each LINE",5,2,15,1);                         // So luong bar cho moi duong XA, AB, BC, 
bu = ParamToggle("Bullish Pattern","Off|On",1);                         // So bar/lines se quyet dinh. mo^ hinh` duoc ve the' nao`
be = ParamToggle("Bearish Pattern","Off|On",1);
 
bi = Cum(1)-1;
 
function GetTop(bars)                                                       // Lay' gia' tri cao nhat' = di?nh
    {
        Top = H == HHV(H,2*bars) AND Ref(HHV(H,bars),bars) < H;
        Top = Top AND LastValue(bi)-ValueWhen(Top,bi) > bars;
        return Top;
    }
 
function GetValley(bars)                                                    // La'y gia tri thap' nhat' = day'
    {
        Valley = L == LLV(L,2*bars) AND Ref(LLV(L,bars),bars) > L;
        Valley = Valley AND LastValue(bi)-ValueWhen(Valley,bi) > bars;
        return Valley;
    }
 
 
// Build fractals array
 
P1 = GetTop(strength);                                      // so' bar cho 1 duong` XA, AB, BC, CD
V1 = GetValley(Strength);
 
P1 = IIf(P1,IIf(ValueWhen(P1,bi,2) < ValueWhen(V1,bi),P1,IIf(ValueWhen(P1,H,2) > H,False,P1)),P1);
P1 = IIf(P1 AND ValueWhen(P1,bi,0) > bi,IIf(ValueWhen(P1,bi,0) < ValueWhen(V1,bi,0),IIf(ValueWhen(P1,H,0) >= H,False,P1),P1),P1);
V1 = IIf(V1,IIf(ValueWhen(V1,bi,2) < ValueWhen(P1,bi),V1,IIf(ValueWhen(V1,L,2)<L,False,V1)),V1);
V1 = IIf(V1 AND ValueWhen(V1,bi,0) > bi ,IIf(ValueWhen(V1,bi,0) < ValueWhen(P1,bi,0),IIf(ValueWhen(V1,L,0) <= L, False,V1),V1),V1); 
 
 
P1H1 = ValueWhen(P1,H);
P1Bar1 = ValueWhen(P1,bi);
P1H2 = ValueWhen(P1,H,2);
P1Bar2 = ValueWhen(P1,bi,2);
V1L1 = ValueWhen(V1,L);
V1Bar1 = ValueWhen(V1,bi);
V1L2 = ValueWhen(V1,L,2);
V1Bar2 = ValueWhen(V1,bi,2);
 
 
//============================================
//              BULLISH PATTERNS
//============================================
/*
    Mo hinh Bullish:
    A   =   P1H2
    B   =   V1L1
    C   =   P1H1
    X   =   V1L2
 
*/
 
PTvalid = (P1Bar1 > V1Bar1 AND V1Bar1 > P1Bar2 AND P1bar2 > V1Bar2) AND P1; // Peaks and troughs are in order
 
myAX            =   P1H2-V1L2;
myAB            =   P1H2-V1L1;
myBC            =   P1H1-V1L1;
 
myAB_AX     =   myAB/ myAX;
myBC_AB     =   myBC/ myAB; 
 
BullGartley4        = PTvalid   AND     (   myAB_AX > GBmin  )       AND (   myAB_AX < GBmax  )
                                AND     (   myBC_AB > GCMin  )       AND (   myBC_AB < GCMax  ); 
 
BullBat4            = PTvalid   AND     (   myAB_AX > BatBmin )      AND (   myAB_AX < BatBmax    )
                                AND     (   myBC_AB > BatCMin )      AND (   myBC_AB < BatCMax    ); 
 
BullButterfly4  = PTvalid   AND     (   myAB_AX > BtBmin )       AND (   myAB_AX < BtBMax )
                                AND     (   myBC_AB > BtCmin )       AND (   myBC_AB < BtCmin     );
 
BullCrab4           = PTvalid   AND     (   myAB_AX > CBmin )            AND (   myAB_AX < CBmax  )
                                AND     (   myBC_AB > CCmin )        AND (   myBC_AB < CCmax  );
 
BullABCD4           = PTvalid AND   (   myBC_AB > abcd_Cmin)     AND (   myBC_AB < abcd_Cmax  );
 
strPattern = "";
 
//==================================================
//               BULLISH ABCD
//  Bullish pattern found. D retracement level is not evaluated
//==================================================
    dHigh       =       HighestSince(BullABCD4,H);              // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BullABCD4,L);
     
    myC         =       ValueWhen(BullABCD4,P1H1);
    myB         =       ValueWhen(BullABCD4,V1L1);
    myA         =       ValueWhen(BullABCD4,P1H2);
    myX         =       ValueWhen(BullABCD4,V1L2);
    myCB        =       myC - myB;
 
    my_d_min    =       myCB    *   abcd_DMin ;                 // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myCB    *   abcd_DMax ;
    my_Cd_min   =       myC - my_d_min;                    // Khoang dich chuyen cua duong Ad con.
    my_Cd_max   =       myC - my_d_max;
 
BullABCD        =       IIf(        ( dLow  <    my_Cd_min   )   AND     ( dLow  > my_Cd_max )    
                                AND ( dHigh <=   myC     )   AND     ( dLow  ==  L), 
                                True, False
                            );
 
BullABCD        =       BullABCD    AND (dLow       <    myB);
 
 
//==================================================
//              BULLISH GARTLEY
//==================================================
    dHigh       =       HighestSince(BullGartley4,H);               // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BullGartley4,L);
 
    myC         =       ValueWhen(BullGartley4,P1H1);
    myB         =       ValueWhen(BullGartley4,V1L1);
    myA         =       ValueWhen(BullGartley4,P1H2);
    myX         =       ValueWhen(BullGartley4,V1L2);
    myAX        =       myA - myX;
 
    my_d_min    =       myAX    *   GDmin;                          // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   GDMax;
    my_Ad_min   =       myA - my_d_min;                         // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA - my_d_max;
 
BullGartley     =       IIf(        ( dLow  <    my_Ad_min   )   AND     ( dLow  > my_Ad_max )    
                                AND ( dHigh <=   myC     )   AND     ( dLow  ==  L), 
                                True, False
                            );
BullGartley     =       BullGartley     AND (dLow       <    myB);                       // diem D thap' hon B
strPattern  =       WriteIf(BullGartley,"BULLISH GARTLEY",strPattern);
 
 
 
//==================================================
//              BULLISH BAT
//==================================================
    dHigh       =       HighestSince(BullBat4,H);               // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BullBat4,L);    
 
    myC         =       ValueWhen(BullBat4,P1H1);
    myB         =       ValueWhen(BullBat4,V1L1);
    myA         =       ValueWhen(BullBat4,P1H2);
    myX         =       ValueWhen(BullBat4,V1L2);
    myAX        =       myA - myX;
 
    my_d_min    =       myAX    *   BatDmin;                        // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   BatDmax ;
    my_Ad_min   =       myA - my_d_min;                         // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA - my_d_max;
 
BullBat         =       IIf(        ( dLow  <    my_Ad_min   )   AND     ( dLow  > my_Ad_max )    
                                AND ( dHigh <=   myC     )   AND     ( dLow  ==  L), 
                                True, False
                            );
BullBat         =       BullBat     AND (dLow       <    myB);           // diem d thap hon diem B
strPattern  =       WriteIf(BullBat,"BULLISH BAT",strPattern);
 
 
//==================================================
//              BULLISH CRAB - CUA
//==================================================
    dHigh       =       HighestSince(BullCrab4,H);              // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BullCrab4,L);
 
    myC         =       ValueWhen(BullCrab4,P1H1);
    myB         =       ValueWhen(BullCrab4,V1L1);
    myA         =       ValueWhen(BullCrab4,P1H2);
    myX         =       ValueWhen(BullCrab4,V1L2);
    myAX        =       myA - myX;
 
    my_d_min    =       myAX    *   CDmin ;                 // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   CDmax ;
    my_Ad_min   =       myA - my_d_min;                     // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA - my_d_max;
 
BullCrab        =       IIf(        ( dLow  <    my_Ad_min   )   AND     ( dLow  > my_Ad_max )    
                                AND ( dHigh <=   myC     )   AND     ( dLow  ==  L), 
                                True, False
                            );
BullCrab        =       BullCrab    AND (dLow       <    myX);                   // diem D thap' hon X
strPattern  =       WriteIf(BullCrab ,"BULLISH CRAB",strPattern);
 
 
//==================================================
//              BULLISH  BUTTTERFLY
//==================================================
    dHigh       =       HighestSince(BullButterfly4,H);             // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BullButterfly4,L);
 
    myC         =       ValueWhen(BullButterfly4,P1H1);
    myB         =       ValueWhen(BullButterfly4,V1L1);
    myA         =       ValueWhen(BullButterfly4,P1H2);
    myX         =       ValueWhen(BullButterfly4,V1L2);
    myAX        =       myA - myX;
 
    my_d_min    =       myAX    *   BtDmin ;                                // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   BtDmax ;
    my_Ad_min   =       myA - my_d_min;                                 // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA - my_d_max;
 
BullButterfly   =       IIf(        ( dLow  <    my_Ad_min   )   AND     ( dLow  > my_Ad_max )    
                                    AND ( dHigh <=   myC     )   AND     ( dLow  ==  L), 
                                True, False
                                );
BullButterfly   =       BullButterfly   AND (dLow       <    myX);                   // diem D thap' hon X
strPattern      =       WriteIf(BullButterfly ,"BULLISH BUTTERFLY",strPattern);
 
 
 
//==========================================================
//   VE DUONG CHO MO HINH BULLISH ABCB 
//==========================================================
BullHar4    =  BullABCD4;
BullHar     =  BullABCD;
 
Point4 = IIf(BullHar,ValueWhen(BullHar4,bi),Null);
BullHar = IIf(BullHar, IIf(Point4 == ValueWhen(BullHar,point4,0) AND ValueWhen(BullHar,bi,0) > bi ,False,BullHar),BullHar);
 
A = ValueWhen(BullHar4,P1H2);
Abar = ValueWhen(BullHar4,P1bar2);
B = ValueWhen(BullHar4,V1L1);
Bbar = ValueWhen(BullHar4,V1bar1);
C1 = ValueWhen(BullHar4,P1H1);
C1bar = ValueWhen(BullHar4,P1bar1);
D = ValueWhen(BullHar,L);
Dbar = ValueWhen(BullHar,bi);
 
BCdAB = (C1-B)/(A-B);
BCdCD = (C1-D)/(C1-B);
 
PlotPattern = Dbar > C1bar;
 
if(LastValue(PlotPattern) AND bu)
{
        ColorX = colorGreen;
    // Ve cac duong AB, BC, CD
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(Bbar),LastValue(B)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(C1bar),LastValue(C1),LastValue(Dbar),LastValue(D)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleDashed);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(Dbar),LastValue(D)),"",ColorX ,styleDashed);
 
    // Ve cac gia tri Fibo
        PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue(C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,ColorX );
        PlotText(NumToStr(LastValue(BCdCD),1.2),(LastValue(Bbar)+LastValue(Dbar))/2,(LastValue(B)+LastValue(D))/2,ColorX );
 
    //---------- Viet cac diem X, A, B, C, D: by binhnd---------------------
        xlech       =   0;
        ylech       =   2;
        PlotText("A",LastValue(Abar)    +   xlech,  LastValue(A)    +   ylech,  ColorX );
        PlotText("B",LastValue(Bbar)    +   xlech,  LastValue(B)    -   ylech,  ColorX );
        PlotText("C",LastValue(C1bar)   +   xlech,  LastValue(C1)   +   ylech,  ColorX );
        PlotText("D",LastValue(Dbar)    +   xlech,  LastValue(D)    -   ylech,  ColorX );
 
    //--------- Viet thuyet minh mo hinh: by binhnd--------------
        if (strPattern!="")  
        {
            myStr           =   "Pattern: BULLISH AB=CD";
            toadoX          =   LastValue(Abar);
            toadoY          =   LastValue(D);
 
            PlotText(myStr,toadoX,toadoY,ColorX );
        }
 
}           //  end of Ve duong` bullish abcd
 
 
 
//==========================================================
//   VE DUONG CHO MO HINH BULLISH BAT, GARTLEY, BUTTERFLY, CRAB
//==========================================================
 
 
BullHar4 = BullGartley4 OR BullButterfly4 OR BullBat4 OR BullCrab4 ;
BullHar = BullGartley OR BullButterfly OR BullBat OR BullCrab;
 
Point4 = IIf(BullHar,ValueWhen(BullHar4,bi),Null);
BullHar = IIf(BullHar, IIf(Point4 == ValueWhen(BullHar,point4,0) AND ValueWhen(BullHar,bi,0) > bi ,False,BullHar),BullHar);
 
X = ValueWhen(BullHar4,V1L2);
Xbar = ValueWhen(BullHar4,V1Bar2);
A = ValueWhen(BullHar4,P1H2);
Abar = ValueWhen(BullHar4,P1bar2);
B = ValueWhen(BullHar4,V1L1);
Bbar = ValueWhen(BullHar4,V1bar1);
C1 = ValueWhen(BullHar4,P1H1);
C1bar = ValueWhen(BullHar4,P1bar1);
D = ValueWhen(BullHar,L);
Dbar = ValueWhen(BullHar,bi);
 
ABdXA = (A-B)/(A-X);
BCdAB = (C1-B)/(A-B);
ADdXA = (A-D)/(A-X);
BCdCD = (C1-D)/(C1-B);
 
PlotPattern = Dbar > C1bar;
 
if(LastValue(PlotPattern) AND bu)
{
            ColorX  = colorBlue;
        // Ve cac duong XA, AB, BC, CD
            Plot( LineArray(LastValue(Xbar),LastValue(X),LastValue(Abar),LastValue(A)),"",ColorX,styleThick);
            Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(Bbar),LastValue(B)),"",ColorX,styleThick);
            Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(C1bar),LastValue(C1)),"",ColorX,styleThick);
            Plot(LineArray(LastValue(C1bar),LastValue(C1),LastValue(Dbar),LastValue(D)),"",ColorX,styleThick);
            Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Bbar),LastValue(B)),"",ColorX,styleDashed);
            Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Abar),LastValue(A)),"",ColorX,styleThick);
            Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(C1bar),LastValue(C1)),"",ColorX,styleDashed);
            Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(Dbar),LastValue(D)),"",ColorX,styleDashed);
            Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Dbar),LastValue(D)),"",ColorX,styleDashed);
 
        // Ve cac gia tri Fibo
            PlotText(NumToStr(LastValue(ABdXA),1.2),(LastValue(Bbar)+LastValue(Xbar))/2,(LastValue(B)+LastValue(X))/2,ColorX);
            PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue(C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,ColorX);
            PlotText(NumToStr(LastValue(ADdXA),1.2) ,(LastValue(Dbar)+LastValue(Xbar))/2,(LastValue(D)+LastValue(X))/2,ColorX);
            PlotText(NumToStr(LastValue(BCdCD),1.2),(LastValue(Bbar)+LastValue(Dbar))/2,(LastValue(B)+LastValue(D))/2,ColorX);
 
        //---------- Viet cac diem X, A, B, C, D: by binhnd---------------------
            xlech       =   0;
            ylech       =   2;
            PlotText("X",LastValue(Xbar)    +   xlech,  LastValue(X)    -   ylech,  ColorX);
            PlotText("A",LastValue(Abar)    +   xlech,  LastValue(A)    +   ylech,  ColorX);
            PlotText("B",LastValue(Bbar)    +   xlech,  LastValue(B)    -   ylech,  ColorX);
            PlotText("C",LastValue(C1bar)   +   xlech,  LastValue(C1)   +   ylech,  ColorX);
            PlotText("D",LastValue(Dbar)    +   xlech,  LastValue(D)    -   ylech,  ColorX);
 
        //--------- Viet thuyet minh mo hinh: by binhnd--------------
            if (strPattern!="")  
            {
                strPattern  =   "Pattern: " + strPattern;
                toadoX          =   (LastValue(Dbar)+LastValue(Xbar))/2;
                toadoY          =   (LastValue(D)+LastValue(X))/2;
 
                PlotText(strPattern,toadoX,toadoY-2,ColorX);
            }
 
}           // end of Ve duong cho cac mo hinh Crab, Butterfly, Bat
 
 
//=============================================================
//              BEARISH PATTERNS
//=============================================================
 
PTvalid = (V1Bar1 > P1Bar1 AND P1Bar1 > V1Bar2 AND V1Bar2 > P1Bar2) AND V1;
 
/*=====================
        X   =   P1H2                     Trong mo hinh` bear: Die^m X cao hon diem A. MyAX = X-> A
        A   =   V1L2
        B   =   P1H1
        C   =   V1L1
 
=======================*/
myAX            =   P1H2-V1L2;              
myAB            =   P1H1-V1L2;
myBC            =   P1H1-V1L1;
 
myAB_AX     =   myAB/ myAX;
myBC_AB     =   myBC/ myAB; 
 
BearGartley4        = PTvalid   AND     (   myAB_AX > GBmin  )       AND (   myAB_AX < GBmax  )
                                AND     (   myBC_AB > GCMin  )       AND (   myBC_AB < GCMax  ); 
 
BearBat4            = PTvalid   AND     (   myAB_AX > BatBmin )      AND (   myAB_AX < BatBmax    )
                                AND     (   myBC_AB > BatCMin )      AND (   myBC_AB < BatCMax    ); 
 
BearButterfly4  = PTvalid   AND     (   myAB_AX > BtBmin )       AND (   myAB_AX < BtBMax )
                                AND     (   myBC_AB > BtCmin )       AND (   myBC_AB < BtCmin     );
 
BearCrab4           = PTvalid   AND     (   myAB_AX > CBmin )            AND (   myAB_AX < CBmax  )
                                AND     (   myBC_AB > CCmin )        AND (   myBC_AB < CCmax  );
 
BearABCD4           = PTvalid AND   (   myBC_AB > abcd_Cmin)     AND (   myBC_AB < abcd_Cmax  );
 
strPattern = "";
 
 
 
//==========================================================
//               BEARISH ABCD
//  Bearish pattern found. D retracement level is not evaluated
//==========================================================
    dHigh       =       HighestSince(BearABCD4,H);              // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BearABCD4,L);
     
    myA         =       ValueWhen(BearABCD4,V1L2);
    myB         =       ValueWhen(BearABCD4,P1H1);
    myC         =       ValueWhen(BearABCD4,V1L1);
    myCB        =       myB - myC;
 
    my_d_min    =       myCB    *   abcd_DMin ;                 // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myCB    *   abcd_DMax ;
    my_Cd_min   =       myC + my_d_min;                    // Khoang dich chuyen cua duong Ad con.
    my_Cd_max   =       myC + my_d_max;
 
BearABCD        =       IIf(        ( dHigh     >    my_Cd_min   )   AND     ( dHigh < my_Cd_max )    
                                AND ( dLow      >=   myC         )   AND     ( dHigh ==  H), 
                                True, False
                            );
 
BearABCD        =       BearABCD    AND (dHigh      >    myB);
 
//=============================================================
//              BEARISH GARTLEY
//=============================================================
    dHigh       =       HighestSince(BearGartley4,H);       // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BearGartley4,L);
 
    myX         =       ValueWhen(BearGartley4,P1H2);
    myA         =       ValueWhen(BearGartley4,V1L2);
    myAX        =       myX - myA;
 
    myB         =       ValueWhen(BearGartley4,P1H1);
    myC         =       ValueWhen(BearGartley4,V1L1);
 
 
    my_d_min    =       myAX    *   GDmin;                      // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   GDMax;
    my_Ad_min   =       myA     +   my_d_min;                   // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA     +   my_d_max;
 
BearGartley     =       IIf(        ( dHigh >    my_Ad_min   )   AND     ( dHigh < my_Ad_max )    
                                AND ( dLow      >=   myC         )   AND     ( dHigh ==  H), 
                                True, False
                            );
BearGartley     =       BearGartley     AND (dHigh      >    myB);                       // diem D cao hon B
strPattern  =       WriteIf(BearGartley ,"BEARISH GARTLEY",strPattern);
 
//=============================================================
//              BEARISH BAT
//=============================================================
    dHigh       =       HighestSince(BearBat4,H);       // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BearBat4,L);
 
    myX         =       ValueWhen(BearBat4,P1H2);
    myA         =       ValueWhen(BearBat4,V1L2);
    myAX        =       myX - myA;
 
    myB         =       ValueWhen(BearBat4,P1H1);
    myC         =       ValueWhen(BearBat4,V1L1);
 
 
    my_d_min    =       myAX    *   BatDmin ;                       // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   BatDMax ;
    my_Ad_min   =       myA     +   my_d_min;                   // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA     +   my_d_max;
 
BearBat         =       IIf(        ( dHigh >    my_Ad_min   )   AND     ( dHigh < my_Ad_max )    
                                AND ( dLow      >=   myC         )   AND     ( dHigh ==  H), 
                                True, False
                            );
BearBat         =       BearBat     AND (dHigh      >    myB);                       // diem D cao hon B
strPattern  =       WriteIf(BearBat ,"BEARISH BAT",strPattern);
 
 
//=============================================================
//              BEARISH BUTTERFLY
//=============================================================
    dHigh       =       HighestSince(BearButterfly4,H);     // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BearButterfly4,L);
 
    myX         =       ValueWhen(BearButterfly4,P1H2);
    myA         =       ValueWhen(BearButterfly4,V1L2);
    myAX        =       myX - myA;
 
    myB         =       ValueWhen(BearButterfly4,P1H1);
    myC         =       ValueWhen(BearButterfly4,V1L1);
 
 
    my_d_min    =       myAX    *   BtDmin ;                        // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   BtDmax ;
    my_Ad_min   =       myA     +   my_d_min;                       // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA     +   my_d_max;
 
BearButterfly =         IIf(        ( dHigh >    my_Ad_min   )   AND     ( dHigh < my_Ad_max )    
                                AND ( dLow      >=   myC         )   AND     ( dHigh ==  H), 
                                True, False
                            );
BearButterfly   =       BearButterfly   AND (dHigh      >    myX);                       // diem D cao hon X
strPattern      =       WriteIf(BearButterfly ,"BEARISH BUTTERFLY",strPattern);
 
 
 
//=============================================================
//              BEARISH CRAB
//=============================================================
    dHigh       =       HighestSince(BearCrab4,H);              // Tinh' gia' tri min, max cua duong Ad. Duong Ad la duong con cua AD
    dLow        =       LowestSince(BearCrab4,L);
 
    myX         =       ValueWhen(BearCrab4,P1H2);
    myA         =       ValueWhen(BearCrab4,V1L2);
    myAX        =       myX - myA;
 
    myB         =       ValueWhen(BearCrab4,P1H1);
    myC         =       ValueWhen(BearCrab4,V1L1);
 
 
    my_d_min    =       myAX    *   CDmin ;                     // Tinh' gia' tri cua duong Ad con. Khi gia' giam? tu` tre^n xuong' thi` max -> min
    my_d_max    =       myAX    *   CDmax ;
    my_Ad_min   =       myA     +   my_d_min;                       // Khoang dich chuyen cua duong Ad con.
    my_Ad_max   =       myA     +   my_d_max;
 
BearCrab        =       IIf(        ( dHigh >    my_Ad_min   )   AND     ( dHigh < my_Ad_max )    
                                AND ( dLow      >=   myC         )   AND     ( dHigh ==  H), 
                                True, False
                            );
BearCrab        =       BearCrab    AND (dHigh      >    myX);                       // diem D cao hon X
strPattern  =       WriteIf(BearCrab ,"BEARISH CRAB",strPattern);
 
 
 
//==========================================================
//   VE DUONG CHO MO HINH BEARISH ABCD
//==========================================================
 
 
BearHar4 = BearABCD4;
BearHar = BearABCD;
 
Point4 = IIf(BearHar,ValueWhen(BearHar4,bi),Null);
BearHar = IIf(BearHar, IIf(Point4 == ValueWhen(BearHar,point4,0) AND ValueWhen(BearHar,bi,0) > bi ,False,BearHar),BearHar);
 
A = ValueWhen(BearHar4,V1L2);
Abar = ValueWhen( BearHar4,V1bar2);
B = ValueWhen(BearHar4,P1H1);
Bbar = ValueWhen(BearHar4,P1bar1);
C1 = ValueWhen(BearHar4,V1L1);
C1bar = ValueWhen(BearHar4,V1bar1);
D = ValueWhen(BearHar,H);
Dbar = ValueWhen(BearHar,bi);
 
BCdAB = (B-C1)/(B-A);
BCdCD = (D-C1)/(B-C1);
 
PlotPattern = Dbar > C1bar;
 
//--------- Ve duong ------------------
if(LastValue(Plotpattern) AND be)
{
        ColorX = colorYellow;
    // Ve duong AB, BC
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(Bbar),LastValue(B)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(C1bar),LastValue(C1),LastValue(Dbar),LastValue(D)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleDashed);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(Dbar),LastValue(D)),"",ColorX ,styleDashed);
 
    // Viet cac gia tri Fibo tren duong AB, BC
        PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue(C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,ColorX );
        PlotText(NumToStr(LastValue(BCdCD),1.2) ,(LastValue(Dbar)+LastValue(Bbar))/2,(LastValue(D)+LastValue(B))/2,ColorX );
 
    //---------- Viet cac diem A, B, C, D: by binhnd---------------------
        xlech       =   -1;
        ylech       =   1;
        PlotText("A",LastValue(Abar)    +   xlech,  LastValue(A)    -   ylech,  ColorX );
        PlotText("B",LastValue(Bbar)    +   xlech,  LastValue(B)    +   ylech,  ColorX );
        PlotText("C",LastValue(C1bar)   +   xlech,  LastValue(C1)   -   ylech,  ColorX );
        PlotText("D",LastValue(Dbar)    +   xlech,  LastValue(D)    +   ylech,  ColorX );
 
    //--------- Viet thuyet minh mo hinh: by binhnd--------------
        if (strPattern!="") 
            {
                myStr           =   "Pattern: BEARISH AB=CD";
                toadoaX     =   LastValue(Abar);
                toadoY          =   LastValue(D);
 
                PlotText(myStr,toadoaX,toadoY+1,ColorX );
            }
     
}           // end of VE DUONG CHO MO HINH BEARISH ABCD
 
 
//==========================================================
//   VE DUONG CHO MO HINH BEARISH BAT, GARTLEY, BUTTERFLY, CRAB
//==========================================================
 
BearHar4 = BearGartley4 OR BearButterfly4 OR BearBat4 OR BearCrab4 ;
BearHar = BearGartley OR BearButterfly OR BearBat OR BearCrab ;
 
Point4 = IIf(BearHar,ValueWhen(BearHar4,bi),Null);
BearHar = IIf(BearHar, IIf(Point4 == ValueWhen(BearHar,point4,0) AND ValueWhen(BearHar,bi,0) > bi ,False,BearHar),BearHar);
 
X = ValueWhen(BearHar4,P1H2);
Xbar = ValueWhen(BearHar4,P1Bar2);
A = ValueWhen(BearHar4,V1L2);
Abar = ValueWhen( BearHar4,V1bar2);
B = ValueWhen(BearHar4,P1H1);
Bbar = ValueWhen(BearHar4,P1bar1);
C1 = ValueWhen(BearHar4,V1L1);
C1bar = ValueWhen(BearHar4,V1bar1);
D = ValueWhen(BearHar,H);
Dbar = ValueWhen(BearHar,bi);
 
ABdXA = (B-A)/(X-A);
BCdAB = (B-C1)/(B-A);
ADdXA = (D-A)/(X-A);
BCdCD = (D-C1)/(B-C1);
 
PlotPattern = Dbar > C1bar;
 
//--------- Ve duong ------------------
if(LastValue(Plotpattern) AND be)
{
        ColorX = colorRed;
    // Ve duong XA, AB, BC
        Plot( LineArray(LastValue(Xbar),LastValue(X),LastValue(Abar),LastValue(A)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(Bbar),LastValue(B)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(C1bar),LastValue(C1),LastValue(Dbar),LastValue(D)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Bbar),LastValue(B)),"",ColorX ,styleDashed);
        Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Abar),LastValue(A)),"",ColorX ,styleThick);
        Plot(LineArray(LastValue(Abar),LastValue(A),LastValue(C1bar),LastValue(C1)),"",ColorX ,styleDashed);
        Plot(LineArray(LastValue(Bbar),LastValue(B),LastValue(Dbar),LastValue(D)),"",ColorX ,styleDashed);
        Plot(LineArray(LastValue(Xbar),LastValue(X),LastValue(Dbar),LastValue(D)),"",ColorX ,styleDashed);
 
    // Viet cac gia tri Fibo tren duong XA, AB, BC
        PlotText(NumToStr(LastValue(ABdXA),1.2),(LastValue(Bbar)+LastValue(Xbar))/2,(LastValue(B)+LastValue(X))/2,ColorX );
        PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue(C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,ColorX );
        PlotText(NumToStr(LastValue(BCdCD),1.2) ,(LastValue(Dbar)+LastValue(Bbar))/2,(LastValue(D)+LastValue(B))/2,ColorX );
        PlotText(NumToStr(LastValue(ADdXA),1.2) ,(LastValue(Dbar)+LastValue(Xbar))/2,(LastValue(D)+LastValue(X))/2,ColorX );
 
    //---------- Viet cac diem X, A, B, C, D: by binhnd---------------------
        xlech       =   -1;
        ylech       =   1;
        PlotText("X",LastValue(Xbar)    +   xlech,  LastValue(X)    +   ylech,  ColorX );
        PlotText("A",LastValue(Abar)    +   xlech,  LastValue(A)    -   ylech,  ColorX );
        PlotText("B",LastValue(Bbar)    +   xlech,  LastValue(B)    +   ylech,  ColorX );
        PlotText("C",LastValue(C1bar)   +   xlech,  LastValue(C1)   -   ylech,  ColorX );
        PlotText("D",LastValue(Dbar)    +   xlech,  LastValue(D)    +   ylech,  ColorX );
 
    //--------- Viet thuyet minh mo hinh: by binhnd--------------
        if (strPattern!="") 
            {
                strPattern  =   "Pattern: " + strPattern;
                toadoaX     =   (LastValue(Dbar)+LastValue(Xbar))/2;
                toadoY          =   (LastValue(D)+LastValue(X))/2;
 
                PlotText(strPattern,toadoaX,toadoY+1,ColorX );
            }
     
}           // end of VE DUONG CHO MO HINH BEARISH BAT, GARTLEY, BUTTERFLY, CRAB
 
 
 
 
//=================================
// Show diem ho^~ tro. va` khang' cu. ko?
//=================================
 
plotFractals = ParamToggle("Plot Fractals","Off|On",1);             
if(PlotFractals)
{
    PlotShapes(shapeSmallCircle*P1,colorRed,0,H,10);
    PlotShapes(shapeSmallCircle*V1,colorBlue,0,L,-10);
}
 
 
 
//==============================================
// DAT DIEU KIEN cho TIM KIEM BULL
//==============================================
dkBull = False;
ListBull        =   ParamList("Type of Bullish", "None|AB=CD|Gartley|Butterfly|Bat|Crab|All Patterns", 6);
    if  (   ListBull == "None"      )       dkBull =    True;
    if (    ListBull =="AB=CD"      )       dkBull  =   BullABCD ;
    if (    ListBull =="Gartley"        )       dkBull  =   BullGartley ;
    if (    ListBull =="Butterfly"  )       dkBull  =   BullButterfly ;
    if (    ListBull =="Bat"            )       dkBull  =   BullBat ;
    if (    ListBull =="Crab"           )       dkBull  =   BullCrab ;
    if (    ListBull =="All Patterns")      dkBull  =   (BullABCD) OR (BullGartley) OR (BullButterfly ) OR (BullBat ) OR (BullCrab);
 
//==============================================
// DAT DIEU KIEN cho TIM KIEM BEAR
//==============================================
dkBear = False;
ListBear        =   ParamList("Type of Bearish", "None|AB=CD|Gartley|Butterfly|Bat|Crab|All Patterns", 0);
    if  (   ListBear == "None"      )       dkBear =    True;
    if (    ListBear =="AB=CD"      )       dkBear  =   BearABCD ;
    if (    ListBear =="Gartley"        )       dkBear  =   BearGartley ;
    if (    ListBear =="Butterfly"  )       dkBear  =   BearButterfly ;
    if (    ListBear =="Bat"            )       dkBear  =   BearBat ;
    if (    ListBear =="Crab"           )       dkBear =    BearCrab ;
    if (    ListBear =="All Patterns")      dkBear =    (BearABCD ) OR (BearGartley ) OR (BearButterfly ) OR (BearBat ) OR (BearCrab );
//===============================
 
AddColumn(V,"Volume",1.0);
Filter = (dkBull) AND (dkBear);
 

shivangi77

Well-Known Member
Rainbow (of MA's)



Code:
_SECTION_BEGIN( "MA Rainbow");
 
side = 1;
 
increment = Param("Increment" ,2, 1, 10, 1 );
 
for( i = 10; i < 80; i = i + increment )
 
{
 
up = MA( C, i );
 
down = MA( C, i + increment );
 
if( ParamToggle( "3D effect?", "No|Yes", 1 ) )
 
side = IIf(up<=down AND Ref( up<=down, 1 ), 1, 0.6 );
 
PlotOHLC( up,up,down,down, "MA"+i, ColorHSB( 3*(i - 10),
 
Param("Saturation" , 128, 0, 255 ),
 
side * Param("Brightness" , 255, 0, 255 ) ), styleCloud |
styleNoLabel );
 
}
 
_SECTION_END( );
 
in the nirvana afl.......

mujhe ye round shape samaj me nahi aaraha hai.... will anyone please make it in boxes type with some clarifying lines.

nirvana sanskrit word hai..... bangladesh me bhi yeh words popular bane hai kya.

In the chart there is latest support and resistence lines as green and red....do these are similar in nature what powrupcapital waleh chart de rahe hai.....

experts and coders please shed your views and excuss my language ....some sentences suitable in some languages only....after all meaning is important not translations.
 

prabhsingh

Well-Known Member
Whenever we download the data from BhavCopy why do we have more then 1 set of data in Futures file?For E.g

BANKBARODA-III,20120524,659.95,687.5,648.7,681.4,4974,2735000
BANKBARODA-I,20120524,649.95,677,639.6,670.95,558,386250
BANKBARODA-II,20120524,0,0,0,644.45,0,1000

Why there are sets of data?
 

shivangi77

Well-Known Member
Whenever we download the data from BhavCopy why do we have more then 1 set of data in Futures file?For E.g

BANKBARODA-III,20120524,659.95,687.5,648.7,681.4,4974,2735000
BANKBARODA-I,20120524,649.95,677,639.6,670.95,558,386250
BANKBARODA-II,20120524,0,0,0,644.45,0,1000

Why there are sets of data?
Your data seems to be, prices of futures of different months,I means nearest & III means farthest.
 
Status
Not open for further replies.

Similar threads