Stock Portfolio Organizer
The ultimate porfolio management solution.
Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
General Market Exploration by XeL for Amibroker (AFL)
Copy & Paste Friendly
Back
///////////////////////////////////////////////////////// // // // 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();