Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
SUPERcam for Amibroker (AFL)
this is a simple contribution hope u would liked it….
Screenshots
Similar Indicators / Formulas
Indicator / Formula
_SECTION_BEGIN("GANN Levels"); /* For Stocks/Index/Commodities "order" need to be 0.1 to 0.5 For Forex "order" should be 0.001 ( except JPY pairs ), for JPY pairs it need to be 0.01 */ Op=TimeFrameGetPrice("O",inDaily,0); order=Param("Order",0.5,0.001,0.1,0.001,sincr = 0); level1 = 1.25; level2 = 2.50; level3 = 3.33; level4 = 5; level5 = 6.66; level6 = 7.5; level7 = 10; level1 = level1 * order; level2 = level2 * order; level3 = level3 * order; level4 = level4 * order; level5 = level5 * order; level6 = level6 * order; level7 = level7 * order; bAboveI=(sqrt(Op)+level1)*(sqrt(Op)+level1); // BUY Zone bAbove = round(bAboveI); sBelowI=(sqrt(Op)-level1)*(sqrt(Op)-level1); // SELL Zone sBelow = round(sBelowI); Sstop= bAbove ; Bstop= sBelow ; // Resistance Levels (or Targets for Buy trade) BTgt1 = round((sqrt(Op)+level2)*(sqrt(Op)+level2)); BTgt2 = round((sqrt(Op)+level3)*(sqrt(Op)+level3)); BTgt3 = round((sqrt(Op)+level4)*(sqrt(Op)+level4)); BTgt4 = round((sqrt(Op)+level5)*(sqrt(Op)+level5)); BTgt5 = round((sqrt(Op)+level6)*(sqrt(Op)+level6)); BTgt6 = round((sqrt(Op)+level7)*(sqrt(Op)+level7)); // Support Levels (or Targets for Short trade) STgt1 = round((sqrt(Op)-level2)*(sqrt(Op)-level2)); STgt2 = round((sqrt(Op)-level3)*(sqrt(Op)-level3)); STgt3 = round((sqrt(Op)-level4)*(sqrt(Op)-level4)); STgt4 = round((sqrt(Op)-level5)*(sqrt(Op)-level5)); STgt5 = round((sqrt(Op)-level6)*(sqrt(Op)-level6)); STgt6 = round((sqrt(Op)-level7)*(sqrt(Op)-level7)); GfxSetBkMode( 1 ); GfxSelectFont("Arial", 12, 900 ); GfxSetTextColor( colorLime ); GfxSelectPen( colorBlack, 1, 0) ; GfxSelectSolidBrush( colorBlue ); BTgtext = "Buy Targets : " + NumToStr(btgt1,1.2,False) + " - " + NumToStr(btgt2,1.2,False) + " - " + NumToStr(btgt3,1.2,False)+ " - " + NumToStr(btgt4,1.2,False) + " - " + NumToStr(btgt5,1.2,False) + " - " + NumToStr(btgt6,1.2,False); STgtext = "Short Targets : " + NumToStr(stgt1,1.2,False) + " - " + NumToStr(stgt2,1.2,False) + " - " + NumToStr(stgt3,1.2,False)+ " - " + NumToStr(stgt4,1.2,False) + " - " + NumToStr(stgt5,1.2,False) + " - " + NumToStr(stgt6,1.2,False); // GANN levels based on MKT opening price ( please change this time according to exchnage opening time ) GfxTextOut("Buy Above : " + WriteIf(TimeNum()>092900, NumToStr(bAbove,1.2,False) + " SL : " + NumToStr(sBelow,1.2,False),"Waiting for Signal"), 10, 65); GfxTextOut(WriteIf(TimeNum()>092900,BTgtext,""), 10, 85); GfxSetBkMode( 1 ); GfxSelectFont("Arial", 12, 900 ); GfxSetTextColor( colorOrange ); GfxSelectPen( colorBlack, 1, 0) ; GfxSelectSolidBrush( colorBlue ); GfxTextOut("Short Below : " + WriteIf(TimeNum()>092900, NumToStr(sBelow,1.2,False) + " SL : " + NumToStr(bAbove,1.2,False),"Waiting for Signal"), 10, 105); GfxTextOut(WriteIf(TimeNum()>092900,STgtext,""), 10, 125); BuySignal = (Cross(H,babove)OR Cross(C,babove) OR (H>babove AND L<=babove)) AND Op<babove ; ShortSignal = (Cross(Sbelow,L) OR Cross(Sbelow,C) OR (H>=sbelow AND L<sbelow))AND Op>sbelow ; BuySignal = ExRem(BuySignal,ShortSignal); ShortSignal = ExRem(ShortSignal,BuySignal); ShortProfitStop= (STgt1 AND L<=Stgt1 AND C>Stgt1) OR (STgt2 AND L<=Stgt2 AND C>Stgt2) OR (STgt3 AND L<=Stgt3 AND C>Stgt3) OR (STgt4 AND L<=Stgt4 AND C>Stgt4) OR (STgt5 AND L<=Stgt5 AND C>Stgt5) OR (STgt6 AND L<=Stgt6 AND C>Stgt6); BuyProfitStop= (Btgt1 AND H>=btgt1 AND C<Btgt1) OR (Btgt2 AND H>=Btgt2 AND C<btgt2) OR (Btgt3 AND H>=Btgt3 AND C<btgt3) OR (Btgt4 AND H>=Btgt4 AND C<btgt4) OR (Btgt5 AND H>=Btgt5 AND C<btgt5) OR (Btgt6 AND H>=Btgt6 AND C<btgt6); SetOption("MaxOpenPositions", 1 ); SetPositionSize(100,spsShares); Buy = BuySignal; Sell = C<Bstop OR BuyProfitStop; Buy = ExRem(Buy,Sell); Sell = ExRem(Sell,Buy); Short = ShortSignal; Cover = C>SStop OR ShortProfitStop; PlotShapes(IIf(Buysignal, shapeSquare, shapeNone),colorBlue, 0, L, Offset=-20); PlotShapes(IIf(Buysignal, shapeSquare, shapeNone),colorBlue, 0,L, Offset=-30); PlotShapes(IIf(Buysignal, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-25); PlotShapes(IIf(Shortsignal, shapeSquare, shapeNone),colorRed, 0, H, Offset=20); PlotShapes(IIf(Shortsignal, shapeSquare, shapeNone),colorOrange, 0,H, Offset=30); PlotShapes(IIf(Shortsignal, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-25); Short = ExRem(Short,Cover); Cover = ExRem(Cover,Short); AlertIf( Buy, "", "BUY @ " + C, 1 ); AlertIf( Sell, "", "SELL @ " + C, 2 ); PlotShapes(IIf(Cover, shapeUpArrow,shapeNone),colorGreen, 0, Low, Offset=-20); PlotShapes(IIf(Sell, shapeDownArrow,shapeNone),colorRed, 0, High, Offset=-20); numbars = LastValue(Cum(Status("barvisible"))); hts = -33.5; gl = ParamToggle("GANN Levels","Show|Hide",0); if(gl==1) { Plot(sstop,"BUY Zone",colorDarkGreen,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(bstop,"SELL Zone",colorDarkRed,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt1,"BUY TGT1",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt2,"BUY TGT2",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt3,"BUY TGT3",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt4,"BUY TGT4",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt5,"BUY TGT5",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(BTgt6,"BUY TGT6",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle ); Plot(STgt1,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); Plot(STgt2,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); Plot(STgt3,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); Plot(STgt4,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); Plot(STgt5,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); Plot(STgt6,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle); PlotText(" BUY Zone" , LastValue(BarIndex())-(numbars/Hts), LastValue(sstop,1), colorDarkGreen); PlotText(" SELL Zone" , LastValue(BarIndex())-(numbars/Hts), LastValue(bstop,1), colorDarkRed); PlotText(" BUY TGT1" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt1,1), colorOrange); PlotText(" BUY TGT2" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt2,1), colorOrange); PlotText(" BUY TGT3" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt3,1), colorOrange); PlotText(" BUY TGT4" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt4,1), colorOrange); PlotText(" BUY TGT5" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt5,1), colorOrange); PlotText(" BUY TGT6" , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt6,1), colorOrange); PlotText(" SELL TGT1" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt1,1), colorLime); PlotText(" SELL TGT2" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt2,1), colorLime); PlotText(" SELL TGT3" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt3,1), colorLime); PlotText(" SELL TGT4" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt4,1), colorLime); PlotText(" SELL TGT5" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt5,1), colorLime); PlotText(" SELL TGT6" , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt6,1), colorLime); } _SECTION_END(); _SECTION_BEGIN("ZIG-ZAG"); P = ParamField( "ZIG Price field" ); change = Param("% change",1.4,0.1,25,0.1); Plot( zz=EMA(Zig(P, change),1), _DEFAULT_NAME(), ParamColor( "Color", colorWhite ), ParamStyle("style",styleOwnScale) ); //Plot( zz=EMA(Zig(P, change),4), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("style",styleOwnScale) ); x=Param("Average ",50,1,21); y=Param("ATR ",10,1,21); typ=(H+L+C)/3; //s=MA(typ,x);//code line changed by ford to suit current need s =MA(C,x); //Up=(s +(ATR(y)*1.33));//changed //Lo=(s-(ATR(y)*1.33));//changed Up=(s +(ATR(y)*7)); Lo=(s-(ATR(y)*7)); Up1=(s +(ATR(y)*5));//added Lo1=(s-(ATR(y)*5));//added Plot (EMA(C,3),"like STARC BANDS - Close",1,styleLine); Plot (T=EMA(EMA(C,8),8),"like STARC BANDS - Close",1,styleLine); Plot (k=EMA(EMA(C,4),2),"like STARC BANDS - Closea",1,styleLine); Plot (Up,"UB",27,4); Plot (s,"Mid",colorYellow,1); Plot (Lo,"LB",27,4); Plot (Up1,"UB1",27,4); Plot (Lo1,"LB1",27,4); Buy=Cover= Cross(zz,Ref(zz,-1));//Cross(T,s ) OR Cross(k,t) OR Sell=Short= Cross(Ref(zz,-1),zz);//Cross(s ,t ) OR Cross(t,k) OR //GraphXSpace=3; _SECTION_END(); a=20; GraphXSpace=5; p=30; p = Param("p",30,2,100,1); Om=DEMA(O,p); hm=DEMA(H,p); lm=DEMA(L,p); Cm=DEMA(C,p); HACLOSE=(Om+Hm+Lm+Cm)/4; HaOpen = AMA( Ref( HaClose, -1), 1); HaHigh = Max( Hm, Max( HaClose, HaOpen ) ); HaLow = Min( Lm, Min( HaClose, HaOpen ) ); slope = Param("slope",2,2,100,1); Color20= IIf(LinRegSlope(MA(HaClose,a),slope)<0,colorRed,colorGreen); Plot(MA(HaClose,a),"", color20,styleThick); Color=IIf(Haclose>MA(HaClose,a),colorGreen, colorRed); PlotOHLC( HaOpen, HaOpen, HaClose, HaClose, "" + Name(), Color, styleCandle); _SECTION_END(); for( i = 0; i < BarCount; i++ ) { if( Buy[i] ) { OUTcolor = ParamColor("Outer Panel Color",colorTeal); INUPcolor = ParamColor("Inner Panel Upper",colorDarkGreen); INDNcolor = ParamColor("Inner Panel Lower",colorDarkOliveGreen); TitleColor = ParamColor("Title Color ",colorBlack); SetChartBkColor(OUTcolor); // color of outer border SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel } if( Sell[i] ) { OUTcolor = ParamColor("Outer Panel Color",colorTeal); INUPcolor = ParamColor("Inner Panel Upper2",colorDarkRed); INDNcolor = ParamColor("Inner Panel Lower2",colorPlum); TitleColor = ParamColor("Title Color ",colorBlack); SetChartBkColor(OUTcolor); // color of outer border SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel } } //Magfied Market Price GfxSetTextAlign( 6 );// center alignment fse=Param("Font Sizee",35,11,100,1); GfxSelectFont("Times New Roman", fse, 700, True ); GfxSetBkMode( colorGold ); GfxSetTextColor( ParamColor("Color",colorGold) ); Hora=Param("Horizontal Positiona",525,1,1200,1); Vera=Param("Vertical Positiona",17,1,830,1); GfxTextOut(""+C, Hora , Vera ); YCa=TimeFrameGetPrice("C",inDaily,-1); DDa=Prec(C-YCa,2); GfxSetTextAlign( 6 );// center alignment xxa=Prec((DDa/YCa)*100,2); FSb=Param("Font Sizeb",16,11,100,1); GfxSelectFont("Times New Roman",fsb, 700, True ); GfxSetBkMode( colorBlack ); GfxSetTextColor(ParamColor("Color",colorYellow) ); GfxTextOut(""+DDa+" ("+xxa+"%)", Hora , Vera+45 ); _SECTION_END(); PlotShapes(shapeStar*Buy,colorWhite,0,L,60); PlotShapes(shapeStar*Sell,colorBlack,0,L,120); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45); PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40); PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50); PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45); //PlotShapes( Buy1 * shapeStar + Sell2 * shapeStar, IIf( Buy1, colorWhite, colorYellow )); PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorBrightGreen, colorRed ) ); PlotShapes( Buy * shapeUpTriangle + Sell * shapeDownTriangle, IIf( Buy, colorBrightGreen, colorRed ) ); //PlotShapes( Buy * shapeHollowSmallCircle + Sell * shapeHollowSmallCircle, IIf( Buy, colorWhite, colorYellow ) ); PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen); PlotShapes(IIf(Buy,shapeHollowUpArrow,shapeNone),colorWhite); //PlotShapes(IIf(Buy,shapeHollowSmallCircle,shapeNone),colorWhite); PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed); PlotShapes(IIf(Sell,shapeHollowDownArrow,shapeNone),colorWhite); //PlotShapes(IIf(Sell,shapeHollowSmallCircle,shapeNone),colorWhite); PlotShapes(IIf(Short,shapeDownTriangle,shapeNone),colorYellow); PlotShapes(IIf(Short,shapeHollowDownTriangle,shapeNone),colorWhite); //PlotShapes(IIf(Short,shapeHollowCircle,shapeNone),colorWhite); PlotShapes(IIf(Cover,shapeUpTriangle,shapeNone),colorLightBlue); PlotShapes(IIf(Cover,shapeHollowUpTriangle,shapeNone),colorWhite); H1 = SelectedValue( TimeFrameGetPrice( "H", inDaily, -1 ) ); L1 = SelectedValue( TimeFrameGetPrice( "L", inDaily, -1 ) ); C1 = SelectedValue( TimeFrameGetPrice( "C", inDaily, -1 ) ); H2 = SelectedValue( TimeFrameGetPrice( "H", inDaily, 0 ) ); L2 = SelectedValue( TimeFrameGetPrice( "L", inDaily, 0 ) ); O1 = SelectedValue( TimeFrameGetPrice( "open", inDaily, 0 ) ); F4 = 0; D1 = ( H1 - L1 ); D2 = ( H2 - L2 ); F1 = D1 * 0.433; F2 = D1 * 0.766; F3 = D1 * 1.35; if ( D2 <= F1 ) F4 = F1; else if ( D2 <= F2 ) F4 = F2; else F4 = F3; S_P = ( O1 - F4 ); B_P = ( O1 + F4 ); BP = ( L2 + F4 ); BPTGT = ( BP + ( BP * .0065 ) );//.0015 brokerage BPSTPLS = ( BP - ( BP * .0085 ) ); SP = ( H2 - F4 ); SPTGT = ( SP - ( SP * .0065 ) ); SPSTPLS = ( SP + ( SP * .0085 ) ); p = ( H1 + L1 + C1 ) / 3; s1 = ( H1 ); r1 = ( L1 ); r2 = SelectedValue( L2 ); s2 = SelectedValue( H2 ); //CONDITION if (ParamToggle("Tooltip shows", "All Values|Only Prices")) { //ToolTip = StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%) \nVolume: " + NumToStr(V, 1), O, H, L, C, SelectedValue(ROC(C, 1))); } //space = Param("Space on Chart", 20, - 15, 50, 1); //GraphXSpace = space; //SetChartBkColor(ParamColor("Background Color", colorBlack)); // ================= Rasheed's original code (with Lookback and Shift default set to his specs) ================= H0 = H; L0 = L; C0 = C; O0 = O; Lookback = Param("LookBack", 10, 10, 50, 1); // Default for interday commodity currency trading shift = Param("Shift", 5, 1, 50, 1); // ? x0 = LastValue(Cum(1)); x1 = x0 - shift; H = Ref(H, - shift + 1); L = Ref(L, - shift + 1); H1 = LastValue(Ref(HHV(H, Lookback), - 1)); L1 = LastValue(Ref(LLV(L, Lookback), - 1)); //Plot(H1, "H1", colorYellow); //Plot(L1, "L1", colorYellow); H = H0; L = L0; C = C0; O = O0; up = Cross(H, H1)AND Cum(1) > x1; dn = Cross(L1, L)AND Cum(1) > x1; //Plot(C, "Close", IIf(Cum(1) > x1 - Lookback AND Cum(1) <= x1, colorBlue, IIf(Up, colorBrightGreen, IIf(Dn, colorRed, IIf(C > O, colorGreen, colorRed)))), 64); //PlotShapes(shapeDownArrow *(Cum(1) == x1 + 1), colorBlue); // ======================= Exploration and Signal Code ================= TRIGGER = ParamToggle("Trigger ", "CLOSE|HIGH OR LOW"); XH1 = Cross(C, H1); XL1 = Cross(L1, C); XH2 = Cross(H, H1); XL2 = Cross(L1, L); if (TRIGGER == 0) { //Buy = XH1; //Sell = XL1; } else { //Buy = XH2; //Sell = XL2; } //TradeDisplay = ParamToggle("Remove Extra Trades?", "No|Yes"); //if(TradeDisplay != 0){ //Buy = ExRem(Buy, Sell); //Sell = ExRem(Sell, Buy); // THIS WILL REMOVE EXESS SIGNALS ON A CHART OR IN AN EXPLORATION //} //Filter = Buy >2 <3 == BarCount+1 OR Sell >-3<-3 == BarCount+1; Action = WriteIf(Buy, "BUY", WriteIf(Sell, "SELL", " ")); //AddTextColumn(IndustryID(1), "Industry Sector ", 30.0, colorBlue, colorYellow); AddColumn(C, "Entry ", 2.2, colorWhite, colorBlue); AddTextColumn(Action, "Action", 8.0, IIf(xh1, colorDarkGreen, colorDarkRed), colorYellow); AddColumn(IIf(XH1, H1, L1), "BREAKOUT LEVEL", 3.2, colorYellow, IIf(XH1, colorDarkGreen, colorDarkRed)); // ----------------------------------------------------------------------------------- Arrow signals --- FOR TRADES ---------------------------------------------------------- //PlotShapes(Buy *shapeUpArrow, colorBrightGreen, 0, L /* ENTRY_TRAILARRAY */, - 30); //PlotShapes(Sell *shapeDownArrow, colorLightYellow, 0, H, - 30); _SECTION_END(); _SECTION_BEGIN("Volume At Price"); PlotVAPOverlay(Param("Lines", 1000, 100, 1000, 10), Param("Width", 15, 1, 100, 1), ParamColor("Color", colorBlue), ParamToggle("Side", "Left|Right", 1) | 4 *ParamToggle("Z-order", "On top|Behind", 1)); _SECTION_END(); //Filter = Buy OR Sell; //AddColumn( IIf( Buy, 66, 1 ), "Buy", formatChar, 1, bkcolor = IIf( Buy, 43, 33 ) ); //AddColumn( IIf( Sell, 83, 1 ), "Sell", formatChar, 1, bkcolor = IIf( Sell, 25, 32 ) ); //AddColumn( C, "CMP", 1.2, colorDefault, colorLightBlue ); //AddColumn( BP, "SELL PRICE", 1.2, colorDefault, colorGreen ); //AddColumn( BPTGT, "TGT PRICE", 1.2, colorDefault, colorBrown ); //AddColumn( BPSTPLS, "STPLS BUY", 1.2, colorDefault, colorRed ); AddColumn( p, "PIVOT", 1.2, colorDefault, colorYellow ); //AddColumn( SPSTPLS, "STPLS SELL", 1.2, colorDefault, colorRed ); //AddColumn( SP, "SELL PRICE", 1.2, colorDefault, colorGreen ); //AddColumn( SPTGT, "TGT PRICE", 1.2, colorDefault, colorBrown ); //Settings for exploration Filter=Buy OR Sell AND Cover OR Short; AddColumn( IIf( Buy, 66 , 83 ), "Signal", formatChar, colorDefault, IIf( Buy , colorGreen, colorRed ) ); //AddColumn(Close,"Entry Price",1.4, colorDefault, IIf( Buy , colorGreen, colorRed )); //AddColumn(dtsl,"Stop Loss",1.4, colorDefault, IIf( Buy , colorGreen, colorRed )); //AddColumn(tar1,"Target 1",1.4, colorDefault, IIf( Buy , colorGreen, colorRed )); //AddColumn(tar2,"Target 2",1.4, colorDefault, IIf( Buy , colorGreen, colorRed )); //AddColumn(tar3,"Target 3",1.4, colorDefault, IIf( Buy , colorGreen, colorRed )); AddColumn(Volume,"Volume",1.0, colorDefault, IIf ((Volume > 1.25 * EMA( Volume, 34 )),colorBlue,colorYellow)); AlertIf( Buy , "SOUND C:\\Windows\\Media\\chimes.wav", "Audio alert", 2 ); AlertIf( Sell , "SOUND C:\\Windows\\Media\\alert.wav", "Audio alert", 2 ); Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); AlertIf( Buy, "", "BUY @ " + C, 1 ); AlertIf( Sell, "", "SELL @ " + C, 2 ); no=Param( "Swing", 8, 1, 55 ); tsl_col=ParamColor( "Color", colorLightGrey ); res=HHV(H,no); sup=LLV(L,no); avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0)); avn=ValueWhen(avd!=0,avd,1); tsl=IIf(avn==1,sup,res); no = Optimize("TSL",Param("A (Change To Optimise)",10, 1, 55 ,1),1, 55 ,1); tsl_col=ParamColor( "Color", colorLightGrey ); res=HHV(H,no); sup=LLV(L,no); avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0)); avn=ValueWhen(avd!=0,avd,1); dtsl=IIf(avn==1,sup,res); SellPrice=ValueWhen(Short,C,1); BuyPrice=ValueWhen(Buy,C,1); Long=Flip(Buy,Sell); Shrt=Flip(Short,Cover); Relax = NOT Long AND NOT Buy AND NOT shrt AND NOT Sell AND NOT Sell AND NOT Cover; SellSL=ValueWhen(Short,DTSL,1); BuySL=ValueWhen(Buy,DTSL,1); BuyDifference= BuyPrice - BuySL; SellDifference = SellSL - SellPrice; tar1 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + BuyDifference), (SellPrice - SellDifference)); tar2 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (2*BuyDifference)), (SellPrice - (2*SellDifference))); tar3 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (4*BuyDifference)), (SellPrice - (4*SellDifference))); CloseAtEnd = ParamToggle("Close Positions EOD", "No|Yes"); stopreverse =ParamToggle("Switch To Stop And Reverse","No|Yes",0); Trend = ATR(21) < StDev (C,21); Range = ATR(21) > StDev (C,21); no=10; C13=20; C14=2.1; C15=12; tsl_col=ParamColor( "Color", colorLightGrey ); res=HHV(H,no); sup=LLV(L,no); avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0)); avn=ValueWhen(avd!=0,avd,1); dtsl=IIf(avd==1,sup,res); SellPrice=ValueWhen(Short,C,1); BuyPrice=ValueWhen(Buy,C,1); Long=Flip(Buy,Sell); Shrt=Flip(Short,Cover); Relax = NOT Long AND NOT Buy AND NOT shrt AND NOT Sell AND NOT Sell AND NOT Cover; SellSL=ValueWhen(Short,DTSL,1); BuySL=ValueWhen(Buy,DTSL,1); BuyDifference= BuyPrice - BuySL; SellDifference = SellSL - SellPrice; //tar1 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + BuyDifference), (SellPrice - SellDifference)); //tar2 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (2*BuyDifference)), (SellPrice - (2*SellDifference))); //tar3 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (4*BuyDifference)), (SellPrice - (4*SellDifference))); buyach1 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar1, 0); buyach2 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar2 , 0); buyach3 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar3, 0); sellach1 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar1 , 0); sellach2 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar2, 0); sellach3 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar3, 0); _SECTION_BEGIN("Pivot calc"); pd = Param("Periods",13,5,144,1); pds = 2*pd-1;// (Adjustment for Wilders MA) aa = Close-Ref(Close,-1); uu = EMA(Max(0,aa),pds); dd= EMA((Max(0,0-aa)),pds); rf = IIf(C>2,1000,10000); c1 = Param("Upper Level",70,50,90,1); qq1 =100/(100-c1)-1; ff1 = qq1*dd-uu; ff2 = ff1/qq1; f1 = Max(ff1,ff2); UL = Close + f1*(pds-1)/2; UL = IIf(UL>C,floor(UL*rf),ceil(UL*rf))/rf; c2 = Param("Equilibrium",50,50,50,0); qq2 =100/(100-c2)-1;// [=1] ff = dd-uu; MM = Close + ff*(pds-1)/2; MM = IIf(MM>C,floor(MM*rf),ceil(MM*rf))/rf; c3 = Param("Lower Level",30,10,50,1); qq3 =100/(100-c3)-1; ff1 = qq3*dd-uu; ff2 = ff1/qq3; f3 = Min(ff1,ff2); LL = Close + f3*(pds-1)/2; LL = IIf(LL>C,floor(LL*rf),ceil(LL*rf))/rf; Title = EncodeColor(colorWhite)+ "jkp singh" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - " +"\n" +EncodeColor(colorYellow) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V) //+ WriteIf ((e3>e45) ,EncodeColor(colorLime)+ " Direction : LONG",EncodeColor(colorRed)+" Direction : SHORT") +"\n" + WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+"\n","") + WriteIf (Buy , " EXIT SHORT / Reverse Signal at "+C+"\n","") +WriteIf(Sell , "Total Profit / Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+ WriteIf(Buy , "Total Profit / Loss for the Last trade Rs."+(SellPrice-C)+"","")+ WriteIf(Long AND NOT Buy,EncodeColor(colorLime)+ "Trade : Long - Entry price Rs."+(BuyPrice)+" Tgt : "+UL,"")+ WriteIf(shrt AND NOT Sell,EncodeColor(colorRed)+ "Trade : Short - Entry price Rs."+(SellPrice)+" Tgt : "+LL,"")+"\n"+ WriteIf(Long AND NOT Buy, "Current Profit / Loss Rs."+(C-BuyPrice)+"","")+ WriteIf(shrt AND NOT Sell, "Current Profit / Loss Rs."+(SellPrice-C)+"",""); /*+ EncodeColor(colorBrightGreen)+ "\n R3 : "+ EncodeColor(colorWhite)+RD3 + EncodeColor(colorBrightGreen)+ "\n R2 : "+ EncodeColor(colorWhite)+RD2 + EncodeColor(colorBrightGreen)+ "\n R1 : "+ EncodeColor(colorWhite)+RD1 + EncodeColor(colorBrightGreen)+ " UP TGT : "+ EncodeColor(colorWhite)+UL + EncodeColor(colorBlue)+ "\n Pivot : "+ EncodeColor(colorWhite)+pd+ EncodeColor(colorBlue)+ " MIDPOINT : "+ EncodeColor(colorWhite)+MM + EncodeColor(colorRed)+ "\n S1 : "+ EncodeColor(colorWhite)+SD1 + EncodeColor(colorRed)+ " BOT TGT : "+ EncodeColor(colorWhite)+LL + EncodeColor(colorRed)+ "\n S2 : "+ EncodeColor(colorWhite)+SD2 + EncodeColor(colorRed)+ "\n S3 : "+ EncodeColor(colorWhite)+SD3;*/ // 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", 8, 5, 50,1); ADX_Parma = Param( "ADX Perioda", 15, 5, 50,1); ADX_Parmb = Param( "ADX Periodb", 25, 5, 50,1); ADX_Parmc = Param( "ADX Periodc", 35, 5, 50,1); ADX_Parmd = Param( "ADX Periodd", 50, 5, 50,1); // FORMULA // ADX Buy, Sell & Choppy Signal ADX_up = MA(C,ADX_Parm) > 0; ADX_dn = MA(C,ADX_Parm) < 0; ADX_ch = MA(C,ADX_Parma) < MA(C,ADX_Parmb) AND MA(C,ADX_Parmc) < MA(C,ADX_Parmd); ADX_Buy = Cross(MA(C,ADX_Parm), MA(C,ADX_Parmb)); ADX_Sell = Cross(MA(C,ADX_Parmb), MA(C,ADX_Parm)); ADX_Buy = ExRem(ADX_Buy, ADX_Sell); ADX_Sell = ExRem(ADX_Sell, ADX_Buy); ADX_bull = MA(C,ADX_Parm) > MA(C,ADX_Parmb); ADX_bear = MA(C,ADX_Parm)> MA(C,ADX_Parma); // 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();
2 comments
Leave Comment
Please login here to leave a comment.
Back
better use of 30m in nifty….wait for approval by admin….
This code looks into the future fake!