// Downloaded From https://www.WiseStockTrader.com // developed by amibrokerfans _SECTION_BEGIN("Chart Settings"); SetChartOptions(0,chartShowArrows|chartShowDates); SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue)); SetChartBkGradientFill(ParamColor("Upper Chart",1),ParamColor("Lower Chart",23)); GraphXSpace=Param("GraphXSpace",10,0,100,1); dec = (Param("Decimals",2,0,7,1)/10)+1; bi = BarIndex(); Lbi = LastValue(BarIndex()); sbi = SelectedValue(bi); x1= BarCount-1; _SECTION_END(); _SECTION_BEGIN("theswing"); SetBarsRequired(200,0); GraphXSpace = 5; SetChartOptions(0,chartShowArrows|chartShowDates); a = 2; b= 20; HACLOSE=(O+H+L+C)/4; HaOpen = AMA( Ref( HaClose, -1 ), 0.5 ); HaHigh = Max( H, Max( HaClose, HaOpen ) ); HaLow = Min( L, Min( HaClose, HaOpen ) ); d=Haclose; e=ATR(14); g = WMA(H-L,b); k = a * g; m = 1; n[0] = 0; for(i = 1; i < BarCount; i++) { if(m[i-1] == 1) { if(d[i] < n[i-1]) { m[i] = -1; n[i] = d[i] + k[i]; } else { m[i] = 1; if((d[i] - k[i]) > n[i-1]) { n[i] = d[i] - k[i]; } else { n[i] = n[i-1]; } } } if(m[i-1] == -1) { if(d[i] > n[i-1]) { m[i] = 1; n[i] = d[i] - k[i]; } else { m[i] = -1; if((d[i] + k[i]) < n[i-1]) { n[i] = d[i] + k[i]; } else { n[i] = n[i-1]; } } } } Buy=Cover=Cross(d,n); Sell=Short=Cross(n,d); SellPrice=ValueWhen(Sell,C,1); BuyPrice=ValueWhen(Buy,C,1); Long=Flip(Buy,Sell); Shrt=Flip(Sell,Buy ); _SECTION_END(); _SECTION_BEGIN("Title"); z = (GetPerformanceCounter()/200)%255; anim=ColorHSB( ( i + z ) % 256, 155, 250 ); RequestTimedRefresh(1); if( Status("action") == actionIndicator ) ( Title = EncodeColor(colorWhite) + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - "+"\n" +EncodeColor(colorWhite) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorRed)+ WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+ WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorWhite)+ 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, "Trade : Long - Entry price Rs."+(BuyPrice),"")+ WriteIf(shrt AND NOT Sell, "Trade : Short - Entry price Rs."+(SellPrice),"")+"\n"+ WriteIf(Long AND NOT Buy, "Current Profit/Loss Rs."+(C-BuyPrice)+"","")+ WriteIf(shrt AND NOT Sell, "Current Profit/Loss Rs."+(SellPrice-C)+"","")); PlotShapes(IIf(Buy, shapeStar, shapeNone),colorCustom11,layer = 0, HaLow,offset = -80); PlotShapes(IIf(Buy, shapeSmallCircle, shapeNone),colorBlue,layer = 0,HaLow,offset = -80); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),anim,layer = 0,HaLow,offset = -63); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorCustom11,layer = 0,HaLow,offset = -71); PlotShapes(IIf(Sell, shapeStar, shapeNone),colorYellow,layer = 0, HaHigh,offset = 80); PlotShapes(IIf(Sell, shapeSmallCircle, shapeNone),colorRed,layer = 0,HaHigh,offset = 80); PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),anim,layer = 0,HaHigh,offset = -63); PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorYellow,layer = 0,HaHigh,offset = 71); AlertIf( Buy, "SOUND C:\\Windows\\Media\\tada.wav", "Audio alert", 2 ); AlertIf( Sell, "SOUND C:\\Windows\\Media\\tada.wav", "Audio alert", 2 ); _SECTION_BEGIN("Price1"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); _SECTION_BEGIN("Auto Plot HH HL LL"); Q = Param( "% Change", 2, 0.1, 10, 0.1 ); Z = Zig( C , q ) ; HH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( z, q, 1 ) > Peak( Z, q, 2 ) ) ); LH = ( ( Z < Ref( Z, -1 ) AND Ref( Z, -1 ) > Ref( Z, -2 ) ) AND (Peak( Z, q, 1 ) < Peak( Z, q, 2 ) ) ); HL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) > Trough( Z, q, 2 ) ) ); LL = ( ( Z > Ref( Z, -1 ) AND Ref( Z, -1 ) < Ref( Z, -2 ) ) AND (Trough( Z, q, 1 ) < Trough( Z, q, 2 ) ) ); GraphXSpace = 5; dist = 0.5 * ATR( 20 ); for ( i = 0; i < BarCount; i++ ) { if ( HH[i] ) PlotText( "HH", i, H[ i ] + dist[i], colorYellow ); if ( LH[i] ) PlotText( "LH", i, H[ i ] + dist[i], colorYellow ); if ( HL[i] ) PlotText( "HL", i, L[ i ] - dist[i], colorPink ); if ( LL[i] ) PlotText( "LL", i, L[ i ] - dist[i], colorPink ); } _SECTION_END(); _SECTION_BEGIN("CO8 Trading System"); //Looks for closing prices to be higher then opening prices over last 8 days and buys. Sells on a 3 stage exit. //Based on my interpretation of a lecture by Jake Bernstein to ATAA in Melbourne 2009. Code developed by Zoltan Novak on paid contract. myShapesDigits = Null; myShapesDigitsY = Null; myShapesDigitsColor = colorBlack; /*************************** * * M A I N * ****************************/ PlotOHLC(O,H,L,C, StrFormat(" " + Date() + "Open %g, Hi %g, Lo %g, Close %g (%.1f%%)\n", O, H, L, C, SelectedValue( ROC( C, 1 ) )) , colorBlack, styleBar); range = HHV(H-L,10); Buy = Null; BuyPrice = Null; Sell = Null; SellPrice = Null; myPositionSize = Null; myPositionMethod = Null; //a) create an 8 day moving average of the close price and plot in GREEN maClose8 = MA(C,Param("ma_period_close" , 8 , 2 , 100, 1)); Plot(maClose8, "maClose8" , colorGreen, styleLine); //b) create an 8 Day MA of the Open price AND Plot in RED maOpen8 = MA(O,Param("ma_period_open" , 8 , 2 , 100, 1)); Plot(maOpen8, "maOpen8" , colorRed, styleLine); trailingStop = Null; myEntryPrice[1] = Null; HH[1] = Null; profit5[1] = Null; isClosedF[1] = False; stopLossPrice[1] = Null; inBuy[1] = False; myBuyI = Null; for(i=2;i maClose8[i-2] AND maOpen8[i-1] < maClose8[i-1]) { myBuyI = i; //D) buy $2100 at open on first bar after cross Buy[myBuyI] = True; BuyPrice[myBuyI] = O[myBuyI]; myPositionSize[myBuyI] = 2100 / round(C[myBuyI-1]); myPositionMethod[myBuyI] = spsShares; myShapesDigits[i] = shapeDigit0; myShapesDigitsColor[i] = colorGreen; myShapesDigitsY[i] = BuyPrice[myBuyI]; myEntryPrice[myBuyI] = BuyPrice[myBuyI]; HH[i] = L[myBuyI]; profit5[myBuyI] = Null; isClosedF[myBuyI] = False; //H) initial stop loss is Buy price less the range of the largest bar in past 10 trading days // e.g. if Buy is $10 AND the largest range in past 10 days is 50cents then initial stop loss is $9.50 stopLossPrice[i] = BuyPrice[myBuyI] - range[i-1]; inBuy[i] = True; //I) stop loss is moved to Buy price after 5 days therefore taking the example // above if the price is $9.80 at Day Close of Day 5 then all stock is sold at the Open on Day 6. } if(inBuy[i]) { //I) stop loss is moved to Buy price after 5 days therefore taking the example above if //the price is $9.80 at Day Close of Day 5 then all stock is sold at the Open on Day 6. if( i - myBuyI == Param("1.) Stop Loss To Buy Price on this day" , 6 , 1 , 20 , 1) ) { stopLossPrice[i] = myEntryPrice[myBuyI]; } //stopLoss if(L[i] < stopLossPrice[i]) { Sell[i] = True; SellPrice[i] = Min(O[i] , stopLossPrice[i]); stopLossPrice[i] = Null; inBuy[i] = False; myShapesDigits[i] = shapeDigit4; myShapesDigitsColor[i] = colorBlue; myShapesDigitsY[i] = SellPrice[i]; } //e) sell 1/3 of stock at open on day 6 (trading days not calandar days) if( i - myBuyI == 6 ) { Buy[i] = sigScaleOut; BuyPrice[i] = O[i]; myPositionSize[i] = 100*1/3; myPositionMethod[i] = spsPercentOfPosition; myShapesDigits[i] = shapeDigit1; myShapesDigitsColor[i] = colorPink; myShapesDigitsY[i] = BuyPrice[i]; } //f) Sell the next 1/3 of stock at Open if Open profit at Close on any Day decreases // by 25% from the Open profit on Day 5 if( Param("2.) Trailing Stop Profit decreasing DAY" , 6 , 1 , 20 , 1) < i - myBuyI AND isClosedF[i] == False) { //Profit from Day 5. profit5[i] = HH[i] - myEntryPrice[myBuyI]; trailingStop[i] = myEntryPrice[myBuyI] + (1 - Param("2.) Trailing Stop Profit decreasing PRICE PERCENT" , 0.25 , 0.01 , 1.00 , 0.01)) * profit5[i]; if( L[i] <= trailingStop[i] ) { Buy[i] = sigScaleOut; BuyPrice[i] = Min( O[i] , trailingStop[i] ); //From 2/3 to 1/3 is 50% myPositionSize[i] = 100 * Param("2.) Trailing Stop Profit decreasing QUANTITY PERCENT" , 0.5 , 0.01 , 1.00 , 0.01); myPositionMethod[i] = spsPercentOfPosition; myShapesDigits[i] = shapeDigit2; myShapesDigitsColor[i] = colorPink; myShapesDigitsY[i] = BuyPrice[i]; profit5[i] = Null; HH[i] = Null; myEntryPrice[i] = Null; isClosedF[i] = True; } } //g) sell the last 1/3 of stock at open if the B > A if(maOpen8[i-2] < maClose8[i-2] AND maOpen8[i-1] > maClose8[i-1]) { Sell[i] = True; SellPrice[i] = Open[i]; myShapesDigits[i] = shapeDigit3; myShapesDigitsColor[i] = colorRed; myShapesDigitsY[i] = SellPrice[i]; stopLossPrice[i] = Null; isClosedF[i] = True; } //new Highest since last buy... if( inBuy[i] AND HH[i] <= H[i] ) { HH[i] = H[i]; profit5[i] = HH[i] - myEntryPrice[myBuyI]; } } } SetPositionSize( myPositionSize , myPositionMethod ); _SECTION_END(); _SECTION_BEGIN( "fcVS" ); period = Param( "Period", 13, 1, 240, 1 ); mult = Param( "Multiplier", 1.7, 1, 240, 0.1 ); f = ATR( period ); VS[0] = Close[0]; trend[0] = 0; HighC[0] = 0; Lowc[0] = 0; for ( i = period + 1; i < BarCount; i++ ) { vs[i] = vs[i-1]; trend[i] = trend[i-1]; highC[i] = HighC[i-1]; lowc[i] = lowc[i-1]; if ( ( trend[i] >= 0 ) && ( C[i] < VS[i] ) ) { trend[i] = -1; HighC[i] = C[i]; lowc[i] = C[i]; } if ( ( trend[i] <= 0 ) && ( C[i] > VS[i] ) ) { trend[i] = 1; HighC[i] = C[i]; lowc[i] = C[i]; } if ( trend[i] == -1 ) { if ( C[i] < lowc[i] ) lowc[i] = C[i]; VS[i] = lowc[i] + ( mult * f[i] ); } if ( trend[i] == 1 ) { if ( C[i] > HighC[i] ) HighC[i] = C[i]; VS[i] = HighC[i] - ( mult * f[i] ); } } Buy = Cross( Trend, 0 ); Sell = Cross( 0, Trend ); Plot( Close, "Close", colorBlack, styleCandle ); Plot( VS, "Vol Stop", IIf( trend == 1, 10, 11 ), styleThick ); mkol = IIf( Trend == 1, 10, 11 ); Plot( 5, "ribbon", mkol, styleOwnScale | styleArea | styleNoLabel, 0, -5 ); // Weekly trend shape = Buy * shapeUpArrow + Sell * shapeDownArrow; PlotShapes( shape, IIf( Buy, colorGreen, colorRed ), 0, IIf( Buy, Low - f, High + f ) ); _SECTION_END(); _SECTION_BEGIN("Stochastic %D"); periods = Param( "Periods", 15, 1, 200, 1 ); Ksmooth = Param( "%K avg", 3, 1, 200, 1 ); Dsmooth = Param( "%D avg", 3, 1, 200, 1 ); Plot( StochD( periods , Ksmooth, DSmooth ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_END(); _SECTION_BEGIN("Stochastic %K"); periods = Param( "Periods", 15, 1, 200, 1 ); Ksmooth = Param( "%K avg", 3, 1, 200, 1 ); Plot( StochK( periods , Ksmooth), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_END(); _SECTION_BEGIN("Average Side Way Mkt"); price = ParamField("field"); n = Param("periods",35); SA=MA(Price,n); v1=(StDev(Price,n))^2; Ca=Null; Ca[n]=sa[n]; for(i=n+1; iCa)>BarsSince(Ref(Ca,-1) WaveTrend2, colorLavender, IIf (WaveTrend2 > WaveTrend1, colorRed ,colorLightYellow)); Plot(WaveTrend1,"WaveTrend ",myColor,styleDots | styleThick); //Plot(WaveTrend2,"WaveTrend2",colorLightYellow,styl eDashed); Plot(WaveTrend2,"WaveTrend2",ParamColor("Signal Line color", colorPaleBlue),styleDots); Plot(OverBought,"OB Line",ColOB,8+16);//|styleNoLabel);//8+16 Plot(OverSold,"OS Line",ColOS,8+16);//|styleNoLabel); Plot(n1,"Channel Periods",colorBlue,styleNoLabel |styleNoRescale |styleNoDraw); Plot(n2,"Avg Periods",colorBlue,styleNoLabel |styleNoRescale | styleNoDraw); Plot(0,"0",colorRed,styleNoLabel); //Plot(100,"",9 ,styleOwnScale | styleArea | styleNoLabel,-5,100); //Background pane coloring GraphXSpace = XSpace; _SECTION_END(); _SECTION_BEGIN("Buy Sell Signal"); x = WaveTrend1; y = WaveTrend2; Buy=Cross(x,y); Sell=Cross(y,x); Buy = ExRem(Buy, Sell); Sell = ExRem(Sell, Buy); PlotShapes(shapeUpArrow*Buy,colorGreen); PlotShapes(shapeDownArrow*Sell,colorRed); _SECTION_END ();