// Downloaded From https://www.WiseStockTrader.com /* Done by Rajandran R */ /* edited by trader123 */ _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); //Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); upbar = C > Ref( C, -1 ); downbar = C < Ref( C, -1 ); /* Colourized price bars drawn here */ Graph0 = Close; Graph0Style = 128; barcolor = IIf( downbar, 4, IIf( upbar, 5, 1 ) ); Graph0BarColor = ValueWhen( barcolor != 0, barcolor ); SetBarFillColor( IIf( Close > Open, colorGreen, colorDarkRed ) ); SetChartOptions(0,chartShowArrows|chartShowDates); GfxSelectFont( "Tahoma", 13, 100 ); GfxSetBkMode( 1 ); GfxSetTextColor( colorWhite ); Plot( C, "Close", ParamColor("Color", colorYellow ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); Plot( O, "Open", ParamColor("Color", colorBlack ), styleNoDraw); Plot( H, "High", ParamColor("Color", colorBlack ), styleNoDraw); Plot( L, "Low", ParamColor("Color", colorBlack ),styleNoDraw); Plot( C, "Close", ParamColor("Color", colorBlack ),styleNoDraw, ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); function GetSecondNum() { Time = Now( 4 ); Seconds = int( Time % 100 ); Minutes = int( Time / 100 % 100 ); Hours = int( Time / 10000 % 100 ); SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds ); return SecondNum; } function PopupWindowEx( popupID, bodytext, captiontext, timeout, left, top ) { displayText = bodytext + captiontext; if ( ( StaticVarGetText( "prevPopup" + popupID ) != displayText) OR ( StaticVarGet( "prevPopupTime" + popupID ) < GetSecondNum() ) ) { StaticVarSetText( "prevPopup" + popupID, displayText); StaticVarSet( "prevPopupTime" + popupID, GetSecondNum() + timeout ); PopupWindow( bodytext, Captiontext + popupID, timeout, Left, top ); PlaySound("c:\\windows\\media\\ding.wav"); } } _SECTION_BEGIN("SuperTrend Ver 4"); SetBarsRequired(100000,0); GraphXSpace = 15; SetChartOptions(0,chartShowArrows|chartShowDates); SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0))); GfxSetBkMode(0); GfxSetOverlayMode(1); SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey))); Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0); SetTradeDelays(1,1,1,1); SetPositionSize(100,spsShares); sig = 0; bars =0; tar1 =0; tar2 = 0; tar3=0; _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Factor=Optimize("Factor",4,1,3,1); Pd=Optimize("ATR Periods",8,1,100,1); Up=(H+L)/2+(Factor*ATR(Pd)); Dn=(H+L)/2-(Factor*ATR(Pd)); iATR=ATR(Pd); TrendUp=TrendDown=Null; trend[0]=1; changeOfTrend=0; flag=flagh=0; for (i = 1; i <BarCount-1; i++) { TrendUp[i] = Null; TrendDown[i] = Null; trend[i]=1; if (Close[i]>Up[i-1]) { trend[i]=1; if (trend[i-1] == -1) changeOfTrend = 1; } else if (Close[i]<Dn[i-1]) { trend[i]=-1; if (trend[i-1] == 1) changeOfTrend = 1; } else if (trend[i-1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i-1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i]<0 && trend[i-1]>0) { flag=1; } else { flag=0; } if (trend[i]>0 && trend[i-1]<0) { flagh=1; } else { flagh=0; } if (trend[i]>0 && Dn[i]<Dn[i-1]){ Dn[i]=Dn[i-1]; } if (trend[i]<0 && Up[i]>Up[i-1]) { Up[i]=Up[i-1]; } if (flag==1) { Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);; } if (flagh==1) { Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);; } if (trend[i]==1) { TrendUp[i]=Dn[i]; if (changeOfTrend == 1) { TrendUp[i-1] = TrendDown[i-1]; changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=Up[i]; if (changeOfTrend == 1) { TrendDown[i-1] = TrendUp[i-1]; changeOfTrend = 0; } } } Plot(TrendUp,"Trend",colorGreen); Plot(TrendDown,"Down",colorRed); Length =200;//Optimize("HMA",100,10,300,1); Buy = trend==1 AND C>EMA(C,Length); Sell=trend==-1 ; Short=trend==-1 AND C<EMA(C,Length); Cover=trend==1; Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); Short=ExRem(Short,Cover); Cover=ExRem(Cover,Short); 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; BarsSincebuy = BarsSince( Buy ); BarsSinceshort = BarsSince( Short ); LastSignal = IIf( BarsSincebuy < BarsSinceshort, 1, -1 ); BuyPrice=ValueWhen(Buy,C); SellPrice=ValueWhen(Sell,C); ShortPrice=ValueWhen(Short,C); CoverPrice=ValueWhen(Cover,C); Title = EncodeColor(colorWhite)+ "Super Trend AFL " + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorLime)+ WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+ WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorYellow)+ WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+ WriteIf(Buy , "Total Profit/Loss for the Last trade Rs."+(SellPrice-C)+"",""); 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(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40); PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50); PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45); PlotShapes(IIf(Sell, shapeStar, shapeNone),colorGold, 0, L, Offset=-15); PlotShapes(IIf(Cover, shapeStar, shapeNone),colorGold, 0,L, Offset=-15); duration = 10000000; LastClose= Ref(C,-1); // if you like to add this popup will show you if (Buy[BarCount-2]==True) { PopupWindowEx( "ID:1", "Get Ready to BUY \n"+Name() + " "+ Interval(2)+" : "+ " Last ="+LastClose , "Buy Alert -", 1000, 100, 1 ) ; } if (Short[BarCount-2]==True) { PopupWindowEx( "ID:2", "Get Ready to SHORT \n"+Name() + " "+ Interval(2) + " : "+ " Last ="+LastClose , "Short Alert ", 1000, 1, 150 ) ; } TrendSL=IIf(trend==1,TrendUp,TrendDown); for(i=BarCount-1;i>1;i--) { if(Buy[i] == 1) { entry = C[i]; sig = "BUY"; sl = TrendSL[i]; tar1 = entry + (entry * .0050); tar2 = entry + (entry * .0092); tar3 = entry + (entry * .0179); bars = i; i = 0; } if(Sell[i] == 1) { sig = "SELL"; entry = C[i]; sl = TrendSL[i]; tar1 = entry - (entry * .0050); tar2 = entry - (entry * .0112); tar3 = entry - (entry * .0212); bars = i; i = 0; } } Offset = 20; SellSL=ValueWhen(Short,Ref(TrendSL,-1),1); BuySL=ValueWhen(Buy,Ref(TrendSL,-1),1); Clr = IIf(sig == "BUY", colorLime, colorRed); ssl = IIf(bars == BarCount-1, TrendSL[BarCount-1], Ref(TrendSL, -1)); sl = ssl[BarCount-1]; Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset); Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset); Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset); 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); // Message Board ----------------- GfxSelectFont( "Tahoma", 13, 100 ); GfxSetBkMode( 1 ); GfxSetTextColor ( colorWhite ); if ( SelectedValue( LastSignal ) == 1 ) { GfxSelectSolidBrush( colorDarkGreen ); } else { GfxSelectSolidBrush( colorRed ); } pxHeight = Status( "pxchartheight" ) ; xx = Status( "pxchartwidth"); Left = 1100; width = 310; x = 5; x2 = 290; y = pxHeight; GfxSelectPen ( colorLightBlue, 1); // border color GfxRoundRect ( x, y - 155, x2, y , 7, 7 ) ; GfxTextOut( ( "Supertrend V4.1"),13,y-130); GfxTextOut ( ("" + WriteIf(Buy, "Go Long At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105); GfxTextOut ( ("" + WriteIf (Short, "Go Short At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105); GfxTextOut ( ("" + WriteIf (Sell AND NOT Short, "Exit Long At "+C,"")), 13, y-115); GfxTextOut ( ("" + WriteIf (Cover AND NOT Buy, "Exit Short At "+C,"")), 13, y-115); GfxTextOut ( ("" + WriteIf (Long AND NOT Buy, "Long At "+(BuyPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105); GfxTextOut ( ("" + WriteIf (shrt AND NOT Short, "Short At "+(SellPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105); GfxTextOut ( ("" + WriteIf (Relax, "No Trade Zone - Wait","")), 13, y-105); GfxTextOut ( ("" + WriteIf (Long AND NOT Buy, "Current P/L: "+(C-BuyPrice)+" Points","")), 13, y-85); GfxTextOut ( ("" + WriteIf (shrt AND NOT Short, "Current P/L: "+(ShortPrice-C)+" Points","")), 13, y-85); GfxTextOut ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 1: "+tar1,"")), 13, y-65); GfxTextOut ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 2: "+tar2,"")), 13, y-45); GfxTextOut ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 3: "+tar3,"")), 13, y-25); GfxTextOut ( ("" + WriteIf (buyach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65); GfxTextOut ( ("" + WriteIf (sellach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65); GfxTextOut ( ("" + WriteIf (buyach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45); GfxTextOut ( ("" + WriteIf (sellach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45); GfxTextOut ( ("" + WriteIf (buyach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25); GfxTextOut ( ("" + WriteIf (sellach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25); Filter=Buy 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(Ref(TrendSL,-1),"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)); // Calculate Equity Curve eq = Equity( 1, 0 ); ////////////////////////////////////////////////// // Calculate the Last Five Trades Profit/Losses // ////////////////////////////////////////////////// tradesback = 5; Signum = Cum( Buy ) + Cum( Short ); Signumstart1 = LastValue( SigNum ) - ( tradesback - 1 ); Signumstart2 = LastValue( SigNum ) - ( tradesback - 2 ); Signumstart3 = LastValue( SigNum ) - ( tradesback - 3 ); Signumstart4 = LastValue( SigNum ) - ( tradesback - 4 ); Signumstart5 = LastValue( SigNum ) - ( tradesback - 5 ); bi = BarIndex(); bistart = ValueWhen( signum == signumstart1, bi ); bicond = bi >= bistart AND bi <= LastValue( bi ); SellPL = IIf( Sell AND bicond, C-BuyPrice, 0 ); CovPL = IIf( Cover AND bicond, ShortPrice - C,0 ); cumPL = SellPL + CovPL; //Plot (SellPL,"Sell",colorGreen,styleHistogram,maskhistogram); ///Plot (CovPL,"Cover", colorRed,styleHistogram,maskhistogram); lsince = LowestSince(Sell OR Cover, cumPL, 0); hsince = HighestSince(Sell OR Cover, CumPL, 0); vs= IIf(lsince==0,hsince,lsince); PL1 = ValueWhen( signum == signumstart1 , vs,1 ); PL2 = ValueWhen( signum == signumstart2 , vs,1 ); PL3 = ValueWhen( signum == signumstart3 , vs,1 ); PL4 = ValueWhen( signum == signumstart4 , vs,1 ); PL5 = ValueWhen( signum == signumstart5, vs ,1 ); ////////////////////////////////////////////////// // Plot the Last Five Trades Profit/Losses // ////////////////////////////////////////////////// Title = EncodeColor(colorWhite)+ "Backtest Results from www.marketcalls.in" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorYellow)+ "\n\n\nLast 5 Trade Results\n" + "\nTrade1= " + PL1 +"\n"+ "Trade2= " + PL2 +"\n"+ "Trade3= " + PL3 +"\n"+ "Trade4= " + PL4 +"\n"+ "Trade5= " + PL5; //Magfied Market Price FS=Param("Font Size",30,11,100,1); GfxSelectFont("Times New Roman", FS, 700, True ); GfxSetBkMode( colorWhite ); GfxSetTextColor( ParamColor("Color",colorGreen) ); Hor=Param("Horizontal Position",940,1,1200,1); Ver=Param("Vertical Position",12,1,830,1); GfxTextOut(""+C, Hor , Ver ); YC=TimeFrameGetPrice("C",inDaily,-1); DD=Prec(C-YC,2); xx=Prec((DD/YC)*100,2); GfxSelectFont("Times New Roman", 11, 700, True ); GfxSetBkMode( colorBlack ); GfxSetTextColor(ParamColor("Color",colorYellow) ); GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 ); _SECTION_END(); _SECTION_BEGIN("EMA1"); P = ParamField("Price field",-1); Periods = Param("Periods", 200, 2, 300, 1, 10 ); Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_END(); _SECTION_BEGIN("Time Left"); RequestTimedRefresh( 1 ); TimeFrame = Interval(); SecNumber = GetSecondNum(); Newperiod = SecNumber % TimeFrame == 0; SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame; SecsToGo = TimeFrame - SecsLeft; x=Param("xposn",50,0,1000,1); y=Param("yposn",380,0,1000,1); GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) ); GfxSelectPen( ColorRGB( 230, 230, 230 ), 2 ); if ( NewPeriod ) { GfxSelectSolidBrush( colorYellow ); GfxSelectPen( colorYellow, 2 ); } //GfxRoundRect( x+45, y+40, x-3, y-2, 0, 0 ); //GfxSetBkMode(1); GfxSelectFont( "Arial", 14, 700, False ); GfxSetTextColor( colorRed ); GfxTextOut( "Time Left :"+SecsToGo+"", x, y ); _SECTION_END(); _SECTION_BEGIN("Name and Price"); FS=Param("Font Size",12,11,100,1); GfxSelectFont("Times New Roman", FS, 700, True ); GfxSetBkMode( colorBlack ); GfxSetTextColor( ParamColor("Color",colorYellow) ); Hor=Param("Horizontal Position",547,1,1200,1); Ver=Param("Vertical Position",1,1,830,1); GfxTextOut(""+Name(), Hor+30 , 20 ); GfxTextOut(""+C, Hor+50 , 40); _SECTION_END(); _SECTION_BEGIN("Long MA"); P = ParamField("Price field",-1); Periods = Param("Periods", 100, 2, 400, 1 ); Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorBrightGreen ), ParamStyle("Style", styleThick | styleNoLabel ) | styleNoRescale ); _SECTION_END(); /////////////////////////////////////////////////////////////////////////////////////////////// // Supertrend - Translated from Kolier MQ4 // see: http://kolier.li/indicator/kolier-supertrend-indi // translation in Amibroker AFL code by E.M.Pottasch, 2011 procedure calcTrend_proc(ATR_Period,tr,ATR_Multiplier,TrendMode,CalcPrice) { global buffer_line_down; global buffer_line_up; buffer_line_down = Null; buffer_line_up = Null; PHASE_NONE = 0; PHASE_BUY = 1; PHASE_SELL = -1; phase=PHASE_NONE; band_upper = 0;band_lower = 0; for(i = ATR_Period + 1; i < BarCount; i++) { band_upper = CalcPrice[i] + ATR_Multiplier * tr[i]; band_lower = CalcPrice[i] - ATR_Multiplier * tr[i]; if(phase==PHASE_NONE) { buffer_line_up[i] = CalcPrice[i]; buffer_line_down[i] = CalcPrice[i]; } if(phase!=PHASE_BUY && Close[i]>buffer_line_down[i-1] && !IsEmpty(buffer_line_down[i-1])) { phase = PHASE_BUY; buffer_line_up[i] = band_lower; buffer_line_up[i-1] = buffer_line_down[i-1]; } if(phase!=PHASE_SELL && Close[i]<buffer_line_up[i-1] && !IsEmpty(buffer_line_up[i-1])) { phase = PHASE_SELL; buffer_line_down[i] = band_upper; buffer_line_down[i-1] = buffer_line_up[i-1]; } if(phase==PHASE_BUY && ((TrendMode==0 && !IsEmpty(buffer_line_up[i-2])) || TrendMode==1) ) { if(band_lower>buffer_line_up[i-1]) { buffer_line_up[i] = band_lower; } else { buffer_line_up[i] = buffer_line_up[i-1]; } } if(phase==PHASE_SELL && ((TrendMode==0 && !IsEmpty(buffer_line_down[i-2])) || TrendMode==1) ) { if(band_upper<buffer_line_down[i-1]) { buffer_line_down[i] = band_upper; } else { buffer_line_down[i] = buffer_line_down[i-1]; } } } } SetBarsRequired(sbrAll,sbrAll); TrendMode = ParamToggle("TrendMode","Off|On",0); ATR_Multiplier = Param("ATR_Multiplier",3.4,0.1,10,0.1); ATR_Period = Param( "ATR_Period",5,1,20,1); tr = ATR(ATR_Period); CalcPrice = (H+L)/2; calcTrend_proc(ATR_Period,tr,ATR_Multiplier,TrendMode,CalcPrice); Plot(buffer_line_up,"\ntu",ColorRGB(28,134,238),styleThick); Plot(buffer_line_down,"\ntd",ColorRGB(255,255,5),styleThick); Plot( 2,"",IIf(buffer_line_up,colorGreen,colorBlack),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 ); Plot( 4,"",IIf(buffer_line_down,colorRed,colorBlack),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 ); _SECTION_BEGIN("Advanced Elliot Wave "); Option = ParamToggle("Insert To", "Price Chart|Indicator"); pr=Param("Elliot Wave minimum % move",0.5, 0.25,5,0.25); //{ Beginner Elliot Wave stuff } EWpk=PeakBars(H,pr)==0; EWtr=TroughBars(L,pr)==0; //{ Intermediate Elliot Wave stuff } zz=Zig(C,pr); zzHi=Zig(H,pr); zzLo=Zig(L,pr); Avg=(zzHi+zzLo)/2; //{ Advanced Elliot Wave stuff } RetroSuccessSecret=IIf(EWpk,zzHi, IIf(EWtr,zzLo,IIf(Avg>Ref(Avg,-1),H,L))); EW=Zig(RetroSuccessSecret,pr); //{ Plot on price chart } //{ Buy/Sell Elliot Wave stuff } EWbuy=TroughBars(EW,pr)==1; EWsell=PeakBars(EW,pr)==1; //-- Script End ------- _SECTION_END(); _SECTION_BEGIN("Kpl System"); no=Param( "Swing", 8, 1, 55 ); tsl_col=ParamColor( "Color", colorBlue ); 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); Buy=Cover=Cross(C,tsl) ; Sell=Short=Cross(tsl,C) ; //Plot(tsl, _DEFAULT_NAME(), tsl_col, styleStaircase); Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); Short=ExRem(Short,Cover); Cover=ExRem(Cover,Short); PlotShapes(IIf(Cover, shapeHollowCircle, shapeNone),colorWhite, 0,Close,0); PlotShapes(IIf(Short, shapeHollowCircle, shapeNone),colorYellow, 0,Close,0); SetPositionSize(300,spsShares); ApplyStop(0,1,10,1); //-----------end-------------- Long=Flip(Buy,Sell); Shrt=Flip(Sell,Buy); BuyPrice=ValueWhen(Buy,C); SellPrice=ValueWhen(Sell,C); Edc=( WriteIf (Buy AND Ref(shrt,-1), " BUY@ "+C+" ","")+ WriteIf (Sell AND Ref(Long,-1), " SEll@ "+C+" ","")+ WriteIf(Sell , "Last Trade Profit Rs."+(C-BuyPrice)+"","")+ WriteIf(Buy , "Last Trade Profit Rs."+(SellPrice-C)+"","")); _SECTION_END(); // Pivot Levels // DayH = TimeFrameGetPrice("H", inDaily, -1); DayHI = LastValue (DayH,1);// yesterdays high DayL = TimeFrameGetPrice("L", inDaily, -1); DayLI = LastValue (DayL,1); // yesterdays low DayC = TimeFrameGetPrice("C", inDaily, -1); // yesterdays close DayO = TimeFrameGetPrice("O", inDaily); // current day open WeekH= TimeFrameGetPrice("H", inWeekly, 1); WeekHI = LastValue (WeekH,1); // One Week before high WeekL= TimeFrameGetPrice("L", inWeekly, 1); WeekLI = LastValue (WeekL,1); // One Week before low MonthH= TimeFrameGetPrice("H", inMonthly, 1); MonthHI = LastValue (MonthH,1); // One Month before high MonthL= TimeFrameGetPrice("L", inMonthly, 1); MonthLI = LastValue (MonthL,1); // One Month before low numbars = LastValue(Cum(Status("barvisible"))); hts = -33.5; PP = (DayL + DayH + DayC)/3; PPI = LastValue (PP,1); // Pivot R1 = (PP * 2) - DayL; R1I = LastValue (R1,1); // Resistance 1 S1 = (PP * 2) - DayH; S1I = LastValue (S1,1); // Support 1 R2 = PP + R1 - S1; R2I = LastValue (R2,1); // Resistance 2 S2 = PP - R1 + S1; S2I = LastValue (S2,1); // Support 2 R3 = PP + R2 - S1; R3I = LastValue (R3,1); // Resistance 3 S3 = PP - R2 + S1; S3I = LastValue (S3,1); // Support 3 ppl = ParamToggle("Pivot Levels","Hide|Show",1); // Plot(PP, "PP",colorAqua,styleLine|styleNoRescale|styleNoTitle); // Plot(R1, "R1",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); // Plot(S1, "S1",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); // Plot(R2, "R2",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); // Plot(S2, "S2",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); // Plot(R3, "R3",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); // Plot(S3, "S3",colorViolet,styleDots|styleNoLine|styleNoRescale|styleNoTitle); PlotText(" Pivot ", LastValue(BarIndex())-(numbars/Hts), PPI, colorYellow); PlotText(" R1 " , LastValue(BarIndex())-(numbars/Hts), R1I, colorViolet); PlotText(" S1 " , LastValue(BarIndex())-(numbars/Hts), S1I, colorViolet); PlotText(" R2 " , LastValue(BarIndex())-(numbars/Hts), R2I, colorViolet); PlotText(" S2 " , LastValue(BarIndex())-(numbars/Hts), S2I, colorViolet); PlotText(" R3 " , LastValue(BarIndex())-(numbars/Hts), R3I, colorViolet); PlotText(" S3 " , LastValue(BarIndex())-(numbars/Hts), S3I, colorViolet); _SECTION_BEGIN("TREND"); SetBarsRequired(100000,0); GraphXSpace = 15; ea = EMA (C,10); eb = EMA (C,20); SetBarFillColor( IIf( ea > eb, colorGreen, colorRed ) ); Buy = ea > eb AND TimeNum() > 092000 AND TimeNum() < 150000; Sell = eb > ea OR TimeNum() > 150000; Short = 0; Cover = 0; Buy = ExRem(Buy,Sell); Sell = ExRem(Sell,Buy); Short = ExRem(Short,Cover); Cover = ExRem(Cover,Short); SetTradeDelays(1,1,1,1); Factor=Param("Factor",6,1,10,1); Pd=Param("ATR Periods",6,1,100,1); Up=(H+L)/2+(Factor*ATR(Pd)); Dn=(H+L)/2-(Factor*ATR(Pd)); iATR=ATR(Pd); TrendUp=TrendDown=Null; trend[0]=1; changeOfTrend=0; flag=flagh=0; for (i = 1; i <BarCount; i++) { TrendUp[i] = Null; TrendDown[i] = Null; trend[i]=1; if (Close[i]>Up[i-1]) { trend[i]=1; if (trend[i-1] == -1) changeOfTrend = 1; } else if (Close[i]<Dn[i-1]) { trend[i]=-1; if (trend[i-1] == 1) changeOfTrend = 1; } else if (trend[i-1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i-1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i]<0 && trend[i-1]>0) { flag=1; } else { flag=0; } if (trend[i]>0 && trend[i-1]<0) { flagh=1; } else { flagh=0; } if (trend[i]>0 && Dn[i]<Dn[i-1]){ Dn[i]=Dn[i-1]; } if (trend[i]<0 && Up[i]>Up[i-1]) { Up[i]=Up[i-1]; } if (flag==1) { Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);; } if (flagh==1) { Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);; } if (trend[i]==1) { TrendUp[i]=Dn[i]; if (changeOfTrend == 1) { TrendUp[i-1] = TrendDown[i-1]; changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=Up[i]; if (changeOfTrend == 1) { TrendDown[i-1] = TrendUp[i-1]; changeOfTrend = 0; } } } Plot(TrendUp,"Trend",colorLavender ,styleNoRescale ); Plot(TrendDown,"Down",colorOrange,styleNoRescale); Buy = trend==1; Sell=trend==-1; Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy); Short=Sell; Cover=Buy; BuyPrice=ValueWhen(Buy,C); SellPrice=ValueWhen(Sell,C); ShortPrice=ValueWhen(Short,C); CoverPrice=ValueWhen(Cover,C); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-60); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-70); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-63); 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(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40); PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50); PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45); PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=60); PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=70); PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-60); TrendSL=IIf(trend==1,TrendUp,TrendDown); for(i=BarCount-1;i>1;i--) { if(Buy[i] == 1) { entry = C[i]; sig = "BUY"; sl = TrendSL[i]; tar1 = entry + (entry * .0050); tar2 = entry + (entry * .0092); tar3 = entry + (entry * .0179); bars = i; i = 0; } if(Sell[i] == 1) { sig = "SELL"; entry = C[i]; sl = TrendSL[i]; tar1 = entry - (entry * .0050); tar2 = entry - (entry * .0112); tar3 = entry - (entry * .0212); bars = i; i = 0; } } Offset = 20; Clr = IIf(sig == "BUY", colorLime, colorRed); ssl = IIf(bars == BarCount-1, TrendSL[BarCount-1], Ref(TrendSL, -1)); sl = ssl[BarCount-1]; Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset); //Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset); //Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset); //Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset); //Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset); for (i=bars; i <BarCount;i++) { PlotText(""+sig+"@"+entry, BarCount+1,entry,Null,colorBlue); PlotText("T1@"+tar1,BarCount+3,tar1,Null,Clr);//PlotText("T2@"+tar2,BarCount+3,tar2,Null,Clr);//Plot Text ("T3@"+tar3,BarCount+3,tar3,Null,Clr); }