/_SECTION_BEGIN("efficient stocks"); // Mark Keitel 12-05 // Van K Tharp Efficient Stocks ATRD180 = ATR(180); ATRD90 = ATR(90); ATRD45 = ATR(45); ATRD20 = ATR(20); ATRD5 = ATR(5); DifferenceD180 = Close - Ref(Close,-180); DifferenceD90 = Close - Ref(Close,-90); DifferenceD45 = Close - Ref(Close,-45); DifferenceD20 = Close - Ref(Close,-20); DifferenceD5 = Close - Ref(Close,-5); EfficiencyD180 = IIf(ATRD180!=0,DifferenceD180/ATRD180,1); EfficiencyD90 = IIf(ATRD90!=0,DifferenceD90/ATRD90,1); EfficiencyD45 = IIf(ATRD45!=0,DifferenceD45/ATRD45,1); EfficiencyD20 = IIf(ATRD20!=0,DifferenceD20/ATRD20,1); EfficiencyD5 = IIf(ATRD5!=0,DifferenceD5/ATRD5,1); Averageeff = (EfficiencyD180 + EfficiencyD90 + EfficiencyD45 + EfficiencyD20 ) / 4; Plot( averageeff, "AvgEff", colorLightBlue, styleLine ); x = Param ( "Add Results to a Watchlist? Yes = 1, No = 2" , 2 , 1 , 2 , 1 ) ; // select whether to add results to watchlist or not y = Param("Set Watchlist Number", 25, 2, 60,1); // sets the watchlist number, but reserves the first 2 and last 4 watchlists // -------- Parameter Variables for Exploration -------------------------------- TCH = Param("High close value ", 20, 5, 300, 0.5); TCL = Param("Low close value " , 5, 1, 10, 0.25); AVP = Param("Period for Avg Vol " , 21, 10, 240, 1); SV = Param("Stock minimum Avg Vol " , 125000, 50000, 1000000, 500000); My_Conditions = Close >= tcl AND Close <= tch AND MA( Volume, avp ) > sv /*AND Cross( EMA(Close, 5), MA( Close, 8 ) )*/ ; ER = Param("Efficiency Rating", 8, -10, 20, 0.5); Filter = My_Conditions + Averageeff > ER; Buy = Filter; Add = IIf( x==1, Filter , 0 ) ; if( LastValue( Add ) ) { CategoryAddSymbol( "", categoryWatchlist, y ); } // -------------- Organize the exploration results ------------------------------------ P = Param("Period for Price Delta Comparisons", 1, 1, 120, 1); P1 = Param("Period for Other Delta Comparisons", 3, 1, 120, 1); PATR = Param("Period for ATR", 5,1,21,1); PADX = Param("Period for ADX", 14, 3, 34,1); PRSI = Param("Period for RSI", 13, 3, 34,1); AddTextColumn(IndustryID(1) ," Industry Sector ", 25.0, colorWhite, colorLightBlue); AddColumn(Averageeff, " Efficiency", 3.2, colorGold, colorPlum); AddColumn(C, "Close", 2.2, colorDarkGreen, colorLightGrey); // Volume Info AddColumn(V, "VOLUME",8.0, colorGold, colorDarkGreen); AddColumn(Ref(MA(V,21),-1), "21d Avg VOL", 8.0, colorWhite, colorLightBlue); AddColumn( (V/Ref(MA(V,21),-1))*100,"V % of 21 dMA" ,3.0, colorGold, colorDarkGrey); // Price Deltas AddColumn(C-Ref(C,-P),"Net Delta from "+WriteVal(-P,1) , 3.2, colorRed, colorLightGrey ); AddColumn( ( (C-Ref(C,-P))/Ref(C,-P))*100,"% Delta from "+WriteVal(-P,1) , 3.2, colorGold,colorGreen); AddColumn(C-O, "Delta from Open ", 3.2, colorBlack,colorGold); AddColumn( ((C-Ref(C,-1))/Ref(C,-1))*100, "% Delta" ,3.1, colorWhite,colorDarkGreen); // ATR Info AddColumn(ATR(PATR),"ATR (" +WriteVal(patr,2)+")",1.2, colorLightBlue,colorRed ); AddColumn( (ATR(5)/((O+C)/2))*100,"ATR % of C", 3.1, colorDarkOliveGreen, colorLightBlue); // ADX Info AddColumn(ADX(PADX) ,"ADX (" +WriteVal(PADX, 2.0)+")", 3.0, colorLightBlue, colorGold); AddTextColumn(WriteIf(PDI(PADX)>MDI(PADX),"UP","Down"),"DI TREND", 6.0,colorGold,colorDarkGrey); AddColumn( IIf( PDI()>MDI() , BarsSince(Cross( PDI(),MDI() ) ) , -BarsSince(Cross( MDI(),PDI() ) ) ), " Days PDI vs MDI", 3.0, colorWhite, IIf(PDI()>MDI(),colorDarkGreen,colorRed) ) ; AddColumn( PDI(PADX)-MDI(PADX), "DI Delta ", 2.1, colorLightBlue, colorWhite); // AddColumn( ( (ADX(PADX) -Ref(ADX(PADX),-P1))/Ref(ADX(PADX) ,-P1))*100,"% ADX Delta from "+WriteVal(-P1,1) , 3.2, colorGold,colorGreen); // RSI Info AddColumn(RSI(PRSI) , "RSI ("+ WriteVal(PRSI,2)+")", 3.0, colorLightBlue, colorGold); AddTextColumn(WriteIf(RSI(PRSI) > Ref(HHV(RSI(PRSI),P1),-1), "UP", WriteIf( RSI(PRSI)< Ref(HHV(RSI(PRSI),P1),-1),"DOWN","~~") ), "RSI TREND", 6.0, colorDarkOliveGreen, colorLightBlue); AddColumn( ( (RSI(PRSI) -Ref(RSI(PRSI) ,-P1))/Ref(RSI(PRSI),-P1))*100,"% RSI Delta from "+WriteVal(-P1,1) , 3.2, colorGold,colorGreen); AddColumn( 100*((C-LLV(RSI(PRSI),21 ))/(HHV(RSI(PRSI),21)-LLV(RSI(PRSI),21))) ,"% of 21d RSI range", 3.0, colorLightBlue,colorRed ); // Other Info AddColumn(H-L,"range",2.2, colorWhite,colorDarkGreen ); AddColumn( HHV(H,21)-LLV(L,21), "21d Range", 2.2, colorDarkGreen,colorGold); AddColumn( 100*((RSI(prsi)-LLV(RSI(PRSI),21 ))/(HHV(RSI(PRSI),21)-LLV(RSI(PRSI),21))) ,"% of 21d RSI range", 3.0, colorLightBlue,colorRed ); // AddColumn(V*C, "Vol X Close", 12.0, colorlightBlue,colorGold); AddColumn( MA(V,5)/Ref(MA(V,21),-5) *( ( (1- ( C-Ref(C,-5) ) / Ref(C,-5) ) ) *100), "Relative Vol X % Close" ,3.2 ,colorGold,colorBlack); ADR = ( (H-L) + Ref(H-L,-1) + Ref(H-L,-2) + Ref(H-L,-3) + Ref(H-L,-4) )/5; AddColumn((adr/C)*100, "ADR % of C", 2.2, colorDarkGreen, colorGold); AddColumn( ADR, "Avg Daily Range (5)", 2.2, colorWhite,colorLightBlue); AddColumn( C, "Close", 3.2, colorLightBlue, colorGold); AddTextColumn(Name(), "SYMBOL", 6.0); _SECTION_END();