My afl collection

Status
Not open for further replies.
Even without brackets, the error is coming..

The error message is

Ln 134,Col22; Warning 501, Assignment within conditional. Did you mean == instead of =?
Somwhere you have copied it wrong.

I am pasting the part of the afl. what it should be abv abd before the line you have said.


Vl=V<Ref(V,-1) AND V<Ref(V,-2);
upbar=C>Ref(C,-1);
dnbar=C<Ref(C,-1);
Vh=V>Ref(V,-1) AND Ref(V,-1)>Ref(V,-2);
Cloc=C-L;
x=rg/Cloc;
x1=IIf(Cloc=0,arg,x);
Vb=V>Vrg OR V>Ref(V,-1);
ucls=x1<2;
dcls=x1>2;
mcls=x1<2.2 AND x1>1.8 ;


No clue, if i can post the entire afl, as it belongs to shiivangi
 
Market Exploration








The Explorer by itself has Parameters included for each indicator, Author added a Profit and Loss calculator for each symbol, regarding the Time Frame given on the parameters (Day to Date, Week to Date, Month to Date or Year to Date). A Ranking system has modified in order to acquire from the best known readings from each indicator based on a percentage score (0 to 100%).


download from my Afl Collection

Code:
/////////////////////////////////////////////////////////
//                                                              //
//          General Market Exploration by XeL               //
//                                                              //
//                      Ver: 1.00.beta                      //
//                                                              //
//  Free to Distribute under LGPL 2012  .                   //
//  Portions of Code are property of their original     //
//  authors, Cleaning, some new code and Preparation    //
//  are derived by @XeL_Arjona.                             //
//  Some Original Code credits:                             //
//                                                              //
//  *   Volume Price Analysis by Karthikmarar               //
//          http://vpanalysis.blogspot.mx/                  //
//                                                              //
//  *   Jurik Research DMX (Free)                           //
//          http://jurikres.com/catalog/ms_dmx.htm      //
//                                                              //
//  *   Extract of some exploration Methodology         //
//      by Manish.                                              //
//                                                              //  
//                                                              //
/////////////////////////////////////////////////////////
 
 
/////////////////
//  AFL START  //
/////////////////
 
//_SECTION_BEGIN("VPA, Momentum & Signal Explorer by XeL");
 
 
//////////////////////
// Main Variables   //
//////////////////////
// Count Index value for TrendScore
    i   =   0;
// Display Colors
// Main Color
    Color_buy       =   colorLime               ;
    Color_bull      =   colorGreen              ;
    Color_bull1 =   colorDarkYellow     ;
    Color_bear1 =   colorLightOrange        ;
    Color_bear      =   colorOrange         ;
    Color_sell      =   colorRed                ;
    Color_prev      =   colorGold               ;
    Color_acc       =   colorPaleTurquoise  ;
    Color_null      =   colorLightGrey      ;
//  Background Colors
    BColor_vpa      =   colorBlack              ;
    BColor_mas      =   colorDefault            ;
    BColor_mam      =   colorDefault            ;
    BColor_mal      =   colorDefault            ;
//  Alternate Colors
    Color_acc1      =   colorBlueGrey           ;
 
// 52 High Low
High52      =   HHV(High,250);
Low52       =   LLV(Low,250);
// T3 Function
function T3(price,periods)
    {
        s = 0.84;
        e1=EMA(price,periods);
        e2=EMA(e1,Periods);
        e3=EMA(e2,Periods);
        e4=EMA(e3,Periods);
        e5=EMA(e4,Periods);
        e6=EMA(e5,Periods);
        c1=-s*s*s;
        c2=3*s*s+3*s*s*s;
        c3=-6*s*s-3*s-3*s*s*s;
        c4=1+3*s+s*s*s+3*s*s;
        Ti3=c1*e6+c2*e5+c3*e4+c4*e3;
        return ti3;
    }
 
 
////////////////////////////////////////////////
// Time to Date % Change and Beta Correlation //
////////////////////////////////////////////////
_SECTION_BEGIN("P/L % Change over Time with Beta Correlation");
// PARAMETERS
    TtD_Param       =   ParamList("Period","Day to Date|Week to Date|Month to Date|Year to Date",0);
    IDX_Param       =   ParamStr("Reference Market Index Symbol","$IME-MEX");  
// VARIABLES
    FDayMonth       =   BarsSince(Month() != Ref(Month(),-1));
    FDayYear        =   BarsSince(Year() != Ref(Year(),-1));
    TtD_Period      =   IIf(TtD_Param   ==  "Day to Date",1,
                        IIf(TtD_Param   ==  "Week to Date",DayOfWeek(),
                        IIf(TtD_Param   ==  "Month to Date",FDayMonth,
                        IIf(TtD_Param   ==  "Year to Date",FDayYear,0))));
    IDX_Close       =   Foreign(IDX_Param,"Close");
// FORMULA
//      P/L % Change
    TtD_Change      = 100 * (Close - Ref(Close, -TtD_Period) ) / Ref(Close, -TtD_Period);
//      Beta Correlation in Time from Index
    Beta            =   (( TtD_Period * Sum(ROC( C,1) * ROC(IDX_Close,1),TtD_Period )) -
                        (Sum(ROC(C,1),TtD_Period) *
                        Sum(ROC( IDX_Close,1),TtD_Period))) /
                        ((TtD_Period * Sum((ROC(IDX_Close,1)^2 ),TtD_Period)) -
                        (Sum(ROC(IDX_Close,1 ),TtD_Period)^2 ));
_SECTION_END();
 
 
///////////////////////////
// Volume Price Analysis //
///////////////////////////
_SECTION_BEGIN("Volume Price Analysis");
// FORMULA
    SetChartOptions(0,chartShowArrows|chartShowDates);
    DTL=Param("Linear regression period",60,10,100,10); 
    wbf=Param("WRB factor",1.5,1.3,2.5,.1);
    nbf=Param("NRB factor",0.7,0.3,0.9,0.1);
    TL=LinRegSlope(MA(C, DTL),2); 
    Vlp=Param("Volume lookback period",30,20,300,10);
    Vrg=MA(V,Vlp);
    St = StDev(Vrg,Vlp); 
    Vp3 = Vrg + 3*st; 
    Vp2 = Vrg + 2*st;;
    Vp1 = Vrg + 1*st;;
    Vn1 = Vrg -1*st; 
    Vn2 = Vrg -2*st; 
    rg=(H-L);
    arg=Wilders(rg,30);
    wrb=rg>(wbf*arg);
    nrb=rg<(nbf*arg); 
    Vl=V<Ref(V,-1) AND V<Ref(V,-2);
    upbar=C>Ref(C,-1);
    dnbar=C<Ref(C,-1); 
    Vh=V>Ref(V,-1) AND Ref(V,-1)>Ref(V,-2);
    Cloc=C-L;
    x=rg/Cloc;
    x1=IIf(Cloc==0,arg,x);
    Vb=V>Vrg OR V>Ref(V,-1);
    ucls=x1<2;
    dcls=x1>2;
    mcls=x1<2.2 AND x1>1.8 ;
    Vlcls=x1>4;
    Vhcls=x1<1.35;
    j=MA(C,5);
    TLL=LinRegSlope(j,40) ;
    Tlm=LinRegSlope(j,15) ;
    tls=LinRegSlope(j,5);
    mp=(H+L)/2;
// VOLUME VARIABLES
//      TrendScore Count
    IIf( V>Vp2, i+3,i);
    IIf( V>Vp1, i+2,i);
    IIf( V>VRG, i+1,i);
//      Indicators
    VPAv_Status =   WriteIf( V>Vp2,  "VERY HIGH",
                        WriteIf( V>Vp1,  "High",
                        WriteIf( V>Vrg,  "Above Average",
                        WriteIf( V<Vrg AND V>Vn1, "Less than Average",
                        WriteIf( V<Vn1, "L o w", "" )))));
    VPAv_Color  =       IIf( V>Vp2, Color_buy,
                        IIf( V>Vp1, Color_bull,
                        IIf( V>Vrg, Color_bull1,
                        IIf( V<Vrg AND V>Vn1, Color_bear,
                        IIf( V<Vn1, Color_sell, Color_null )))));
             
// SPREAD VARIABLES
//      Indicators
    IIf( rg>(arg*2), i+2,i);
    IIf( rg>arg, i+1,i);
    VPAs_Status =   WriteIf( rg>(arg*2), "Wide",
                        WriteIf( rg>arg, "Above Average","Narrow"));
    VPAs_Color      =   IIf( rg>(arg*2), Color_buy,
                        IIf( rg>arg, Color_bull,Color_bear));
 
// CLOSE VARIABLES
//      TrendScroe Count
    IIf( Vhcls, i+2,i);
    IIf( ucls, i+1,1);
//      Indicators
    VPAc_Status =   WriteIf( Vhcls, "VERY HIGH",
                        WriteIf( ucls, "High",
                        WriteIf( mcls, "Mid",
                        WriteIf( dcls, "Down","VERY LOW"))));
    VPAc_Color      =   IIf( Vhcls, Color_buy,
                        IIf( ucls, Color_bull,
                        IIf( mcls, Color_bull1,
                        IIf( dcls, Color_bear,Color_sell))));
 
// VOLUME ZONE
// FORMULA
    C1 = Ref(C, -1);
    uc = C > C1; dc = C <= C1;
    ud = C > O; dd = C <= O;
    green = 1; blue = 2; yellow = 3; red = 4; white = 5;
    VType = IIf(ud,          
             IIf(uc, green, yellow),
           IIf(dd, 
             IIf(dc, red, blue), white));
    /* green volume: up-day and up-close*/
    gv = IIf(VType == green, V, 0); 
    /* yellow volume: up-day but down-close */
    yv = IIf(VType == yellow, V, 0); 
    /* red volume: down-day and down-close */
    rv = IIf(VType == red, V, 0); 
    /* blue volume: down-day but up-close */
    bv = IIf(VType == blue, V, 0); 
    uv = gv + bv; uv1 = Ref(uv, -1); /* up volume */
    dv = rv + yv; dv1 = Ref(dv, -1); /* down volume */
    VolPer = Param("Adjust Vol. MA per.", 34, 1, 255, 1);//12
    ConvPer = Param("Adjust Conv. MA per.", 9, 1, 255, 1);//6
    MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1);
    MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1);
    MAtv = TEMA(V, VolPer );//total volume
    Converge = (TEMA(MAuv - MAdv, ConvPer));
    Converge1 = Ref(Converge, -1);
    ConvergeUp = Converge > Converge1;
    ConvergeOver = Converge > 0;
    rising = ConvergeUp AND ConvergeOver;
    falling = !ConvergeUp AND ConvergeOver;
// VOLUME ZONE
// VARIABLES
//      TrendScore Count
    IIf( rising, i+1,i);
//      Indicators
    VPAz_Status =   WriteIf(rising,"Accumulation",
                        WriteIf(falling,"Distribution","Flat"));
    VPAz_Color      =   IIf(rising,Color_acc,
                        IIf(falling,Color_prev,Color_null));
 
// VOLUME STATUS
// PARAMETERS
    Pp1=Param("Number Of Days",30,1,200,1);
    Pp2=Param("Volume Of Days",15,1,200,1);
// FORMULA
    numDays = Pp1;
    dwWideSpread = 1.8;
    dwNarrowSpread = 0.8;
    dwSpreadMiddle = 0.5;
    dwHighClose = 0.7;
    dwLowClose = 0.3;
    volNumDays = Pp2;
    dwUltraHighVol = 2;
    dwVeryHighVol = 1.75; // was 1.8
    dwHighVol = 1.75; // was 1.8
    dwmoderateVol = 1.10; // was 1.8
    dwLowVol = 0.75; // was 0.8
    /* Classify each bar... */
    upBar = C > Ref(C,-1);
    downBar = C < Ref(C,-1);
    spread = H-L;
    avgRange = Sum(spread, numDays) / numDays;
    wideRange = spread >= (dwWideSpread * avgRange);
    narrowRange = spread <= (dwNarrowSpread * avgRange);
    testHighClose = L + (spread * dwHighClose);
    testLowClose = L + (spread * dwLowClose);
    testCloseMiddle = L + (spread * dwSpreadMiddle);
    upClose = C > testHighClose;
    downClose = C < testLowClose;
    middleClose = C >= testLowClose AND C <= testHighClose;
    avgVolume = EMA(V, volNumDays);
    highVolume = V > (avgVolume * dwHighVol);
    moderateVol= V > (avgVolume * dwmoderateVol);
    veryHighVolume = V > (avgVolume * dwVeryHighVol);
    ultraHighVolume = V > (avgVolume * dwUltraHighVol);
    LowVolume = V < (avgVolume * dwLowVol);
    /* direction AND Title */
    /* Basic patterns... */
    upThrustBar = downClose AND H > Ref(H,-1) AND (C == L) AND downClose AND (NOT narrowRange);
    noDemandBar = narrowRange AND LowVolume AND upBar AND (NOT upClose);
    //noDemandBar = narrowRange AND LowVolume AND upBar AND (V < Ref(V,-1)) AND (V < Ref(V,-2));
    noSupplyBar = narrowRange AND LowVolume AND downBar AND (V < Ref(V,-1)) AND (V < Ref(V,-2));
    absorption = Ref(downbar, -1) AND Ref(highVolume, -1) AND upBar;
    support = Ref(downBar,-1) AND (NOT Ref(downClose,-1)) AND Ref(highVolume,-1) AND upBar;
    stoppingVolume = Ref(downBar,-1) AND Ref(highVolume,-1) AND C > testCloseMiddle AND (NOT downBar);
    bullishsign=moderateVol+UpThrustBar;//OR moderateVol+upBar;
    //rallyEnd = (Ref(highVolume,-1) AND Ref(upBar,-1) AND wideRange AND downBar) OR
    // (narrowRange AND highVolume AND H > Ref(HHV(H, 250), -1));
    /* Strength AND Weakness */
    weakness = upThrustBar OR noDemandBar OR
    (narrowRange AND (H > Ref(H,-1)) AND highVolume) OR
    (Ref(highVolume,-1) AND Ref(upBar,-1) AND downBar AND (H < Ref(H,-1)));
// VARIABLES
//      TrendScore Count
    IIf( bullishsign, i+3,i);
    IIf( upThrustBar, i+2,i);
    IIf( absorption, i+1,i);
//      Indicators
    VPAst_Status    =   WriteIf(Weakness,"W e a k",
                        WriteIf(StoppingVolume,"Stopping Volume",
                        WriteIf(noSupplyBar,"No Supply",
                        WriteIf(support,"Support",
                        WriteIf(noDemandBar,"No Demand",
                        WriteIf(absorption,"Absorption",
                        WriteIf(upThrustBar,"Up Thrust",
                        WriteIf(bullishsign,"-=STRONG=-","Neutral"))))))));
    VPAst_Color =   IIf(Weakness,Color_sell,
                        IIf(StoppingVolume,Color_bear,
                        IIf(noSupplyBar,Color_bear1,
                        IIf(support,Color_bear,
                        IIf(noDemandBar,Color_prev,
                        IIf(absorption,Color_bull1,
                        IIf(upThrustBar,Color_bull,
                        IIf(bullishsign,Color_buy,Color_null))))))));
_SECTION_END();
 
 
//////////////////////////
// EMA Terms and Trend  //
//////////////////////////
_SECTION_BEGIN("EMA Short, Mid and Long Terms and Trend");
// PARAMETERS
    EMAs1Pds    =   Param("1st. Short Term Period",9,5,14,1);
    EMAs2Pds    =   Param("2nd. Short Term Period",20,15,45,1);
    EMAmPds =   Param("Mid Term Period",50,46,90,1);
    EMAlPds =   Param("Long Term Perdiod",200,100,300,1);
// FORMULA
//  EMA Short term signals
    EMAsBuy =   Cross(EMA(C,EMAs1Pds), EMA(C,EMAs2Pds));
    EMAsSell    =   Cross(EMA(C,EMAs2Pds),EMA(C,EMAs1Pds));
    EMAsBuy =   ExRem(EMAsBuy, EMAsSell);
    EMAsSell    =   ExRem(EMAsSell, EMAsBuy);
    EMAsBull    =   EMA(C,EMAs1Pds) > EMA(C,EMAs2Pds);
    EMAsBear    =   EMA(C,EMAs1Pds) < EMA(C,EMAs2Pds);
//  EMA Mid term signals
    EMAmBuy =   Cross(EMA(C,(EMAs1Pds+EMAs2Pds)/2), EMA(C,EMAmPds));
    EMAmSell    =   Cross(EMA(C,EMAmPds), EMA(C,(EMAs1Pds+EMAs2Pds)/2));
    EMAmBuy =   ExRem(EMAmBuy, EMAmSell);
    EMAmSell    =   ExRem(EMAmSell, EMAmBuy);
    EMAmBull    =   C > EMA(C,EMAmPds);
    EMAmBear    =   C < EMA(C,EMAmPds);
//  EMA Long term signals
    EMAlBuy =   Cross(EMA(C,EMAmPds), EMA(C,EMAlPds));
    EMAlSell    =   Cross(EMA(C,EMAlPds), EMA(C,EMAmPds));
    EMAlBuy =   ExRem(EMAlBuy, EMAlSell);
    EMAlSell    =   ExRem(EMAlSell, EMAlBuy);
    EMAlBull    =   C > EMA(C,EMAlPds);
    EMAlBear    =   C < EMA(C,EMAlPds);
// EMA Positional Price Trend (Long-Term)
    EMA_rc      =   C > EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds);
    EMA_ac      =   C > EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds);
    EMA_bl      =   C > EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
    EMA_pr      =   C < EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
    EMA_ds      =   C < EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
    EMA_br      =   C < EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds);
// VARIABLES
//      TrendScore Count
    IIf(EMAsBuy,i+1,i);
    IIf(EMAmBuy,i+1,i);
    IIf(EMAlBuy,i+1,i);
    IIf(EMA_rc,i+3,i);
    IIf(EMA_ac,i+2,i);
    IIf(EMA_bl,i+1,1);
    EMAs_Status =   WriteIf(EMAsBuy, "-=BUY=-",
                        WriteIf(EMAsSell, "-=SELL=-",
                        WriteIf(EMAsBull, "Bullish",
                        WriteIf(EMAsBear, "Bearish","Neutral"))));
    EMAs_Color      =   IIf(EMAsBuy, Color_buy,
                        IIf(EMAsBull, Color_bull,
                        IIf(EMAsBear, Color_bear,
                        IIf(EMAsSell, Color_sell,Color_null))));
    EMAm_Status =   WriteIf(EMAmBuy, "-=BUY=-",
                        WriteIf(EMAmSell, "-=SELL=-",
                        WriteIf(EMAmBull, "Bullish",
                        WriteIf(EMAmBear, "Bearish","Neutral"))));
    EMAm_Color      =   IIf(EMAmBuy, Color_buy,
                        IIf(EMAmBull, Color_bull,
                        IIf(EMAmBear, Color_bear,
                        IIf(EMAmSell, Color_sell,Color_null))));
    EMAl_Status =   WriteIf(EMAlBuy, "-=BUY=-",
                        WriteIf(EMAlSell, "-=SELL=-",
                        WriteIf(EMAlBull, "Bullish",
                        WriteIf(EMAlBear, "Bearish","Neutral"))));
    EMAl_Color      =   IIf(EMAlBuy, Color_buy,
                        IIf(EMAlBull, Color_bull,
                        IIf(EMAlBear, Color_bear,
                        IIf(EMAlSell, Color_sell,Color_null))));
    EMAp_Status =   WriteIf(EMA_rc, "RECOVERY",
                        WriteIf(EMA_ac, "Accumulation",
                        WriteIf(EMA_bl, "Bullish",
                        WriteIf(EMA_pr, "Preventive",
                        WriteIf(EMA_ds, "Distribution",
                        WriteIf(EMA_br, "Bearish","Neutral"))))));
    EMAp_Color      =   IIf(EMA_rc, Color_buy,
                        IIf(EMA_ac, Color_acc1,
                        IIf(EMA_bl, Color_bull,
                        IIf(EMA_pr, Color_prev,
                        IIf(EMA_ds, Color_bear1,
                        IIf(EMA_br, Color_bear,Color_null))))));
_SECTION_END();
 
 
////////////////////////
// Initial Buy signal //
////////////////////////
_SECTION_BEGIN("IBuy Signal");
// FORMULA
    I_buy =  Cross(RSI(14), EMA(RSI(14),9));
    I_sell = Cross(EMA(RSI(14),9), RSI(14));
    I_buy = ExRem(I_buy, I_sell);
    I_sell = ExRem(I_sell, I_buy);
    I_bull = RSI(14) > EMA(RSI(14),9);
    I_bear = RSI(14) < EMA(RSI(14),9);
// VARIABLES
//      TrendScore Count
    IIf(I_buy,i+2,i);
    IIf(I_bull,i+1,i);
//      Indicators
    I_Status    =   WriteIf(I_buy,"-=BUY=-",
                    WriteIf(I_bull,"Bullish",
                    WriteIf(I_bear,"Bearish",
                    WriteIf(I_sell,"-=SELL=-","Neutral"))));
    I_Color =   IIf(I_buy,Color_buy,
                    IIf(I_bull,Color_bull,
                    IIf(I_bear,Color_bear,
                    IIf(I_sell,Color_sell,Color_null))));
_SECTION_END();
 
 
/////////////////////
// Price Smoothing //
/////////////////////
_SECTION_BEGIN("T3 Price Smoothing Signal");
// FORMULA
    T3_buy      =   Cross (T3(C,3), T3(C,5));
    T3_sell =   Cross (T3(C,5), T3(C,3));
    T3_buy      =   ExRem(T3_buy, T3_sell);
    T3_sell =   ExRem(T3_sell, T3_buy);
// VARIABLES
//      TrendScore Count
    IIf(T3_buy,i+1,i);
//      Indicators
    T3_Status   =   WriteIf(T3_buy,"-=BUY=-",
                    WriteIf(T3_sell,"-=SELL=-","Neutral"));
    T3_Color    =   IIf(T3_buy,Color_buy,
                    IIf(T3_sell,Color_sell,Color_null));
_SECTION_END();
 
 
////////////////////
// Bollinger Band //
////////////////////
_SECTION_BEGIN("Bollinger Bands");
// FORMULA
    BB1         =   C>BBandTop(C,20,2) AND Ref(C,-1)<Ref(BBandTop(C,20,2),-1);
    BB2         =   C<BBandBot(C,20,2) AND Ref(C,-1)>Ref(BBandBot(C,20,2),-1);
// VARIABLES
//      TrendScore Count
    IIf(BB1,i+1,i);
//      Indicators
    BB_Status   =   WriteIf(BB1,"Above Top",
                    WriteIf(BB2,"Below Bottom",
                    WriteIf(IsNull(MA(C,20)),"N/A","Neutral")));
    BB_Color    =   IIf(BB1,Color_bull,
                    IIf(BB2,Color_bear,Color_null));
_SECTION_END();
 
 
//////////
// MACD //
//////////
_SECTION_BEGIN("MACD Signal");
// FORMULA
    MACDBull        =   MACD(12,26)>Signal(12,26,9);
// VARIABLES
//      TrendScore Count
    IIf(MACDBull,i+1,i);
//      Indicators
    MACD_Status     =   WriteIf(MACDBull,"Bullish",
                            WriteIf(IsNull(MACD(12,26)),"N/A","Bearish"));
    MACD_Color          =   IIf(MACDBull,Color_bull,
                            IIf(IsNull(MACD(12,26)),Color_null,Color_bear));
_SECTION_END();
 
 
/////////////////
// RSI of MACD //
/////////////////
_SECTION_BEGIN("RSI of MACD Signal");
// PARAMETERS
    RSItPds=Param("Period",14,7,33,1);
    RSItOb_Parm=Param("OverBought Level",70,-200,200,5);
    RSItOs_Parm=Param("OverSold Level",30,-200,200,5);
// FORMULA
    Var=MACD(); 
    Up=IIf(Var>Ref(Var,-1),abs(Var-Ref(Var,-1)),0); 
    Dn=IIf(Var<Ref(Var,-1),abs(Var-Ref(Var,-1)),0); 
    Ut=Wilders(Up,RSItPds); 
    Dt=Wilders(Dn,RSItPds);
    RSIt=100*(Ut/(Ut+Dt));
    //RSItBuy   =   RSIt < RSItOs_Parm AND RSIt > Ref(RSIt,-1);
    //RSItOs        =   RSIt < RSItOs_Parm AND RSIt < Ref(RSIt,-1);
    //RSItNu        =   RSIt < RSItOs_Parm AND RSIt > RSItOb_Parm AND RSIt > Ref(RSIt,-1);
    //RSItNd        =   RSIt < RSItOs_Parm AND RSIt > RSItOb_Parm AND RSIt < Ref(RSIt,-1);
    //RSItOb        =   RSIt <   RSItOb_Parm AND RSIt > Ref(RSIt,-1);
    //RSItSell      =   RSIt <   RSItOb_Parm AND RSIt < Ref(RSIt,-1);
    RSItOs          =   RSIt < RSItOs_Parm;
    RSItOb          =   RSIt > RSItOb_Parm;
    // VARIABLES
    //      TrendScore Count
    IIf(RSItOs, i+1,i);
    //      Indicators
    RSIt_Status =   WriteIf(RSItOs,"OverSold",
                        WriteIf(RSItOb,"OverBought","In Range"));
    RSIt_Color  =       IIf(RSItOs,Color_bull,
                        IIf(RSItOb,Color_sell,Color_null));
_SECTION_END();
 
 
///////////
// Aroon //
///////////
//_SECTION_BEGIN("AROON Signal");
//// PARAMETERS
//  ArPeriod=Param("Period",14,7,33,1);
//// FORMULA
//  LLVBarsSince=LLVBars(L,ArPeriod)+1;
//  HHVBarsSince=HHVBars(H,ArPeriod)+1;
//  AroonDown=100*(ArPeriod-LLVBarsSince)/(ArPeriod-1);
//  AroonUp=100*(ArPeriod-HHVBarsSince)/(ArPeriod-1);
//  AroonOsc=AroonUp-AroonDown;
//  Aroon=AroonOsc>0;
//// VARIABLES
//  IIf(Aroon,i+1,i);
//  AROON_Status    =   WriteIf(Aroon,"Bullish",
//                      WriteIf(IsNull (RSI(14)),"N/A","Bearish"));
//  AROON_Color =   IIf(Aroon,Color_bull,
//                      IIf(IsNull(RSI(14) ),Color_null,Color_bear));
//_SECTION_END();
 
 
/////////
// WAD //
/////////
//_SECTION_BEGIN("Williams Accumulation-Distribution Signal");
// PARAMETERS
//  WADPds=Param("Period",20,7,33,1);
    // FORMULA
//  TrueRangeHigh=Max( Ref(Close,-1), High );
//  TrueRangeLow=Min( Ref(Close,-1), Low );
//  WAD = Cum(IIf(C > Ref(C,-1),C-TrueRangeLow, IIf(C < Ref(C,-1),C-TrueRangeHigh,0)));
//  wadup = WAD > EMA (WAD,WADPds);
//  waddn = WAD < EMA (WAD,WADPds);
//  wadbl = Cross(WAD, EMA(WAD,WADPds));
//  wadbr = Cross(EMA(WAD,WADPds), WAD);
// VARIABLES
//  WAD_Status  =   WriteIf(wadup, "Bullish Zone",
//                  WriteIf(waddn, "Bearish Zone",
//                  WriteIf(wadbl, "Bullish Cross",
//                  WriteIf(wadbr, "Bearish Cross","Neutral"))));
//  WAD_Color   =   IIf(wadup,Color_bull,
//                  IIf(wadbl,Color_bear,
//                  IIf(wadbr,Color_bull1,
//                  IIf(waddn,Color_bear1,Color_null))));
//_SECTION_END();
 
 
/////////////
// Coppock //
/////////////
_SECTION_BEGIN("Coppock Indicator");
// FORMULA
    CKr1=ROC(C,14);
    CKr2=ROC(C,11);
    CK=EMA((CKr1+CKr2),10);
    CK_upt=IIf(ck>0 AND ROC(ck,1)>0,ck,0);
    CK_ups=IIf(ck>0 AND ROC(ck,1)<0,ck,0);
    CK_dws=IIf(ck<0 AND ROC(ck,1)>0,ck,0);
    CK_dwt=IIf(ck<0 AND ROC(ck,1)<0,ck,0);
// VARIABLES
//      TrendScore Count
    IIf(CK_upt,i+2,i);
    IIf(CK_ups,i+1,i);
//      Indicators
    Coppock_Status  =   WriteIf( CK_upt,"UPTREND",
                            WriteIf( CK_ups,"UpT Sideways",
                            WriteIf( CK_dws,"DnT Sideways",
                            WriteIf( CK_dwt,"DownTrend","Flat"))));
    Coppock_Color       =   IIf( CK_upt,Color_buy,
                            IIf( CK_ups,Color_bull,
                            IIf( CK_dws,Color_bear,
                            IIf( CK_dwt,Color_sell,Color_null))));
_SECTION_END();
 
 
////////////////
// Stochastic //
////////////////
_SECTION_BEGIN("Stochastic %D %K Signal");
// FORMULA
    StochKBull      =   StochK(14,3)>StochD(14,3,3);
// VARIABLES
//      TrendScore Count
    IIf(StochKBull,i+1,i);
//      Indicators
    STOCH_Status    =   WriteIf( StochKBull,"Bullish",
                        WriteIf( IsNull(StochK(14,3)),"N/A","Bearish"));
    STOCH_Color =   IIf(StochKBull,Color_bull,
                        IIf( IsNull(StochK(14,3)),Color_null,Color_bear));
_SECTION_END();
 
 
//////////
// ARSI //
//////////
_SECTION_BEGIN("ARSI Signal");
// PARAMETERS
    ARSI_Pds        =   Param("Period",14,7,33,1);
    ARSIOb_Parm =   Param("OverBought Level",70,-200,200,5);
    ARSIOs_Parm =   Param("OverSold Level",30,-200,200,5);
// FORMULA
    Chg             =   C - Ref( C, -1 );
    UpCount     =   Sum( Chg >= 0, ARSI_Pds );
    DnCount     =   ARSI_Pds - UpCount;
    UpMove          =   AMA( Max( Chg, 0 ), Nz(1/UpCount) );
    DnMove          =   AMA( Max( -Chg, 0 ), Nz(1/DnCount) );
    RS              =   UpMove/DnMove;
    ARSI            =   100-(100/(1+RS));
    ARSIOs          =   ARSI < ARSIOs_Parm;
    ARSIOb          =   ARSI > ARSIOb_Parm;
    //ARSIUt        =   ARSI > Ref(ARSI,-1);
    //ARSIDt        =   ARSI < Ref(ARSI,-1);
    //ARSIBuy       =   ARSI < ARSIOs AND ARSIUt;
    //ARSISell      =   ARSI >   ARSIOb AND ARSIDt;
    //ARSIBuy       =   ExRem(ARSIBuy, ARSISell);
    //ARSISell      =   ExRem(ARSISell,ARSIBuy);
// VARIABLES
//      TrendScroe Count
    IIf(ARSIOs,i+1,i);
//      Indicators
    ARSI_Status     =   WriteIf(ARSIOs,"OverSold",
                            WriteIf(ARSIOb,"OverBought","In Range"));
                            //WriteIf(ARSIBuy,"-=BUY=-",
                            //WriteIf(ARSI>ARSIOs,"OverSold",
                            //WriteIf(ARSIUt,"Improving",
                            //WriteIf(ARSIDt,"Declining",
                            //WriteIf(ARSI<ARSIOb,"OverBought",
                            //WriteIf(ARSISell,"-=SELL=-",""))))));
    ARSI_Color      =       IIf(ARSIOs,Color_bull,
                            IIf(ARSIOb,Color_sell,Color_null));
                            //IIf(ARSIBuy,Color_buy,
                            //IIf(ARSI>ARSIOs,Color_bull,
                            //IIf(ARSIUt,Color_bull1,
                            //IIf(ARSIDt,Color_bear1,
                            //IIf(ARSI<ARSIOb,Color_bear,
                            //IIf(ARSISell,Color_sell,Color_null))))));
_SECTION_END();
 
 
/////////
// RSI //
/////////
//_SECTION_BEGIN("RSI Signal");
// PARAMETERS
//  RSIPds=Param("Period",14,7,33,1);
//  RSIOb=Param("OverBought Level",70,-200,200,5);
//  RSIOs=Param("OverSold Level",30,-200,200,5);
// FORMULA
//  R1=RSI(RSIPds)>RSIOs AND Ref(RSI(RSIPds),-1)<RSIOs AND Ref(RSI(RSIPds),-2)<RSIOs;
//  R2=RSI(RSIPds)<RSIOb AND Ref(RSI(RSIPds),-1)>RSIOb AND Ref(RSI(RSIPds),-2)>RSIOb;
// VARIABLES
//  IIf(R1,i+1,i);
//  RSI_Status      =   WriteIf(R1,"Improving",
//                      WriteIf(R2,"Declining",
//                      WriteIf(IsNull(RSI(14)),"N/A","Neutral")));
//  RSI_Color       =   IIf(R1,Color_bull1,
//                      IIf(R2,Color_bear1,Color_null));
//_SECTION_END();
 
 
/////////
// MFI //
/////////
_SECTION_BEGIN("MFI Signal");
// PARAMETERS
    MFIPds=Param("Period",14,7,33,1);
    MFIOb=Param("OverBought Level",80,-200,200,5);
    MFIOs=Param("OverSold Level",20,-200,200,5);
// FORMULA
    M1=MFI(MFIPds)>MFIOb;
    M2=MFI(MFIPds)<MFIOs;
//  VARIABLES
//      TrendScroe Count
    IIf(M2,i+1,i);
//      Indicators
    MFI_Status      =   WriteIf(M1,"OverBought",
                        WriteIf(M2,"OverSold",
                        WriteIf(IsNull(MFI(MFIPds)),"Null","Neutral")));
    MFI_Color       =   IIf(M1,Color_sell,
                        IIf(M2,Color_buy,Color_null));
_SECTION_END();
 
 
/////////////////////////////////
// ADX Trend Strenght with ADX //
/////////////////////////////////
_SECTION_BEGIN("ADX Signal");
// JSB Lib Version
// INITIALIZATION
    SetBarsRequired(100000, 100000);
    JSB_InitLib();
// PARAMETERS
    ADX_Parm    =   Param( "ADX Period", 10, 5, 50,1);
// FORMULA
//  ADX Buy, Sell & Choppy Signal
    ADX_up      =   JSB_JDMX(C,ADX_Parm) > 0;
    ADX_dn      =   JSB_JDMX(C,ADX_Parm) < 0;
    ADX_ch      =   JSB_JDMX(C,ADX_Parm) < JSB_JDMXplus(C,ADX_Parm) AND JSB_JDMX(C,ADX_Parm) < JSB_JDMXminus(C,ADX_Parm);
    ADX_Buy =   Cross(JSB_JDMXplus(C,ADX_Parm), JSB_JDMXminus(C,ADX_Parm));
    ADX_Sell    =   Cross(JSB_JDMXminus(C,ADX_Parm), JSB_JDMXplus(C,ADX_Parm));
    ADX_Buy =   ExRem(ADX_Buy, ADX_Sell);
    ADX_Sell    =   ExRem(ADX_Sell, ADX_Buy);
    ADX_bull    =   JSB_JDMXplus(C,ADX_Parm) > JSB_JDMXminus(C,ADX_Parm);
    ADX_bear    =   JSB_JDMXminus(C,ADX_Parm)> JSB_JDMXplus(C,ADX_Parm);
// ADX Trend Confirmation Signal
    ADXwk       =   ADX(ADX_Parm) < 25;
    ADXst       =   ADX(ADX_Parm) > 25 AND ADX(ADX_Parm) < 50;
    ADXvs       =   ADX(ADX_Parm) > 50 AND ADX(ADX_Parm) < 75;
    ADXex       =   ADX(ADX_Parm) > 75 AND ADX(ADX_Parm) < 100;
    ADXchoppy   =   ADX(ADX_Parm) < PDI(ADX_Parm) AND ADX(ADX_Parm) < MDI(ADX_Parm);
// VARIABLES
//      TrendScore Count
    IIf(ADX_Buy,i+2,i);
    IIf(ADX_bull,i+1,i);
//  IIf(ADXst,i+1,i);
//      Indicators
    ADX_Status      =   WriteIf(ADX_Buy,"-=BUY=-",
                        WriteIf(ADX_bull,"Bullish",
                        WriteIf(ADX_bear,"Bearish",
                        WriteIf(ADX_Sell,"-=SELL=-","Neutral"))));
    ADX_Color       =   IIf(ADX_Buy,Color_buy,
                        IIf(ADX_bull,Color_bull,
                        IIf(ADX_bear,Color_bear,
                        IIf(ADX_Sell,Color_sell,Color_null))));
    //ADXc_Status   =   WriteIf(ADXwk,"Weak",
    //                  WriteIf(ADXst,"Good",
    //                  WriteIf(ADXvs,"Strong",
    //                  WriteIf(ADXex,"EXCELENT",
    //                  WriteIf(ADXchoppy,"Choppy","Neutral")))));
    //ADXc_Color        =   IIf(ADXwk,Color_sell,
    //                  IIf(ADXst,Color_bull1,
    //                  IIf(ADXvs,Color_bull,
    //                  IIf(ADXex,Color_buy,
    //                  IIf(ADXchoppy,Color_prev,Color_null)))));
_SECTION_END();
 
 
///////////////////////
// Trend Score Count //
///////////////////////
_SECTION_BEGIN("Trend Score Count");
    TrendScore      =   IIf(V>Vp2,3,0) +
                        IIf(V>Vp1,2,0) +
                        IIf(V>VRG,1,0) +
                        IIf(rg>(arg*2),2,0) +
                        IIf(rg>arg,1,0) +
                        IIf(rising,1,0) +
                        IIf(bullishsign,3,0) +
                        IIf(upThrustBar,2,0) +
                        IIf(absorption,1,0) +
                        IIf(EMAsBuy,1,0) +
                        IIf(EMAmBuy,1,0) +
                        IIf(EMAlBuy,1,0) +
                        IIf(EMA_rc,3,0) +
                        IIf(EMA_ac,2,0) +
                        IIf(EMA_bl,1,0) +
                        IIf(I_buy,2,0) +
                        IIf(I_bull,1,0) +
                        IIf(T3_buy,1,0) +
                        IIf(BB1,1,0) +
                        IIf(MACDBull,1,0) +
                        //IIf(Aroon,1,0) +
                        IIf(CK_upt,2,0) +
                        IIf(CK_ups,1,0) +
                        IIf(StochKBull,1,0) +
                        IIf(RSItOs,1,0) +
                        IIf(ARSIOs,1,0) +
                        //IIf(R1,1,0) +
                        IIf(M2,1,0) +
                        IIf(ADX_Buy,2,0);
                        IIf(ADX_bull,1,0);
                        //IIf(ADXst,1,0);
    ScoreRank       =   100 * TrendScore / 30;  
_SECTION_END();
 
//////////////////////
// Exploration Code //
//////////////////////
_SECTION_BEGIN("Explorer");
// PARAMETERS
    EXPfil_Parm =   ParamList   ( "Filter","All Symbols|Buy Signals|Sell Signals",0);
    EXPvol_Parm =   Param       ( "20 Day Min. Vol. Cap.", 50000,0,100000000,1000);
    EXPvol_Parm =   Param       ( "Min. Price Close",15,0,5000000,1);
// FILTER
Filter = 1;
// DISPLAY COLUMNS
    //AddColumn (High52,"52 Week High");
    //AddColumn (Low52,"52 Week Low");
    AddColumn       (C,"P.Close",1.2,IIf(C>Ref(C,-1),        colorGreen,colorRed));
    AddColumn       (V,"Volume",1,IIf(V>Ref(V,-1),           colorGreen,colorRed));
    AddTextColumn   (VPAv_Status,"VPA Volume",1,            VPAv_Color,BColor_vpa);
    AddTextColumn   (VPAs_Status,"VPA Spread",1,            VPAs_Color,BColor_vpa);
    AddTextColumn   (VPAc_Status,"VPA Close",1,             VPAc_Color,BColor_vpa);
    AddTextColumn   (VPAz_Status,"VPA Zone",1,              VPAz_Color,BColor_vpa);
    AddTextColumn   (VPAst_Status,"VPA Status",1,           VPAst_Color,BColor_vpa);
    AddTextColumn   (EMAs_Status,"EMA Short",1,             EMAs_Color,BColor_mas);
    AddTextColumn   (EMAm_Status,"EMA Mid",1,               EMAm_Color,BColor_mam);
    AddTextColumn   (EMAl_Status,"EMA Long",1,              EMAl_Color,BColor_mal);
    AddTextColumn   (EMAp_Status,"EMA Trend",1,             colorWhite,EMAp_Color);
    AddTextColumn (I_Status,"I Signal",1,                   colorWhite,I_Color);
    AddTextColumn (T3_Status,"T3 Signal",1,             colorWhite,T3_Color);
    AddTextColumn   (BB_Status,"Bol. Band",1,               colorWhite,BB_Color);
    AddTextColumn   (MACD_Status,"MACD",1,                  colorWhite,MACD_Color);
    AddTextColumn   (RSIt_Status,"MACD(RSI)",1,             colorWhite,RSIt_Color);
    //AddTextColumn (AROON_Status,"Aroon",1,            colorWhite,AROON_Color);
    //AddTextColumn (WAD_Status,"Williams A/D",1,       colorWhite,WAD_Color);
    AddTextColumn (COPPOCK_Status,"Coppock",1,          colorWhite,COPPOCK_Color);
    AddTextColumn   (STOCH_Status,"Stochastic",1,           colorWhite,STOCH_Color);
    AddTextColumn   (ARSI_Status,"ARSI",1,                  colorWhite,ARSI_Color);
    //AddTextColumn (RSI_Status,"RSI",1,                    colorWhite,RSI_Color);
    AddTextColumn   (MFI_Status,"MFI(14)",1,                colorWhite,MFI_Color);
    AddTextColumn   (ADX_Status,"DMX (ADX)",1,              colorWhite,ADX_Color);
    //AddTextColumn (ADXc_Status,"ADX Confirm",1,       colorWhite,ADXc_Color);
    //AddColumn     (RSIt,"TEST L",1,                       colorWhite,colorBlack);
    AddColumn       (TtD_Change,"P/L %",1.2,IIf(TtD_Change>0,    colorGreen,colorRed));
    AddColumn       (Beta,"( ? )",1.2,IIf(Beta>0,colorGreen,colorRed));
    AddColumn       (ScoreRank,"% Rank",1.0,colorWhite,colorBlue);
_SECTION_END();
 

shivangi77

Well-Known Member
PPO


Percentage Price Oscillator – PPO

What Does Percentage Price Oscillator – PPO Mean?
A technical momentum indicator showing the relationship between two moving averages. To calculate the PPO, subtract the 26-day exponential moving average (EMA) from the nine-day EMA, and then divide this difference by the 26-day EMA. The end result is a percentage that tells the trader where the short-term average is relative to the longer-term average.

Calculated as:
Investopedia explains Percentage Price Oscillator – PPO
The PPO and the moving average convergence divergence (MACD) are both momentum indicators that measure the difference between the 26-day and the nine-day exponential moving averages. The main difference between these indicators is that the MACD reports the simple difference between the exponential moving averages, whereas the PPO expresses this difference as a percentage. This allows a trader to use the PPO indicator to compare stocks with different prices more easily. For example, regardless of the stock’s price, a PPO result of 10 means the short-term average is 10% above the long-term average.
Source: http://www.investopedia.com/terms/p/ppo.asp

 

shivangi77

Well-Known Member
Mechanical Trades (Sahsra)


This Code is inspired From the code posted by Natasha in the files section of Amibroker groups
I am not a coder ,but i like to blend them to suite my requirements.
I wish any professional coder to code some of the requirements which i was unable to do.
They are stop loss, and to plot the values at the end of the line.
This code plots the ZIG High/low/Average of the ZIG high and low(50%) of the past swings
RulesStated by GANN
Always remember that the 50% reaction or half way point of the range of fluctuation (or) of the extreme highest point of a stock (or) any particular move is the most important point for support on the down side or for meeting selling &resistance on the way up.This is the Balancing point because it divides the range of the fiuctions into two equal parts..You can make a fortune by following this one rule alone..A careful study of past movements in any stock will prove with out dought that this rule works and that you can make profit following it..The average (or) mid point the wider the range and longer the time period the more important is this half way point..(((Trade setup Buy/sell at 50% area and have 60% retrachment as stop loss)
-SAHASRA






 
Status
Not open for further replies.

Similar threads