// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN ( "SingleMA" ); SetChartOptions ( 0, chartShowArrows | chartShowDates | chartWrapTitle ); SetChartBkColor ( ParamColor( "Outer Panel", colorBlack ) ); SetChartBkGradientFill ( ParamColor( "Upper Chart", colorBrown ), ParamColor( "Lower Chart", colorDarkGrey ) ); Type = ParamList( "Average Type", "Wilders,SMA,EMA" ); P = Param( "Averaging Period", 20, 3, 100, 1 ); Q = Param( "%Change", 1, 0.1, 10, 0.1 ); BP = Param( "BB Period", 20, 3, 100 ); BW = Param( "BB Width", 2, 0.5, 10, 0.5 ); BBOption = ParamToggle( "Plot BB", "No I Yes" ); Report = ParamList( "Trigs or Update or Tgt-SL?", "Triggers|Update|Tgt-SL" ); if ( Type == "Wilders" ) A = Wilders( C, P ); if ( Type == "SMA" ) A = MA( C, P ); if ( Type == "EMA" ) A = EMA( C, P ); SL = Max( LLV( L, 5 ), Trough( L, Q, 1 ) ); Tgt = 2 * H - SL; MeanPrice = Prec( ( O + C ) / 2, 2 ); Part = 100 * ( H - A ) / ( H - L ); BBTop = BBandTop( C, BP, BW ); BBBot = BBandBot( C, BP, BW ); Buy = ( Prec( C, 2 ) > Prec( A, 2 ) ) AND Part > 70; Sell = H < A; Buy = ExRem( Buy, Sell ); Sell = ExRem( Sell, Buy ); Bought = Flip( Buy, Sell ); Sold = Flip( Sell, Buy ); NextTgt = ValueWhen( Buy, Tgt, 1 ); for ( i = 1; i < BarCount; i++ ) { if ( Bought[i] AND NOT Buy[i] ) { SL[i] = Max( SL[i], SL[i - 1] ); if ( C[i - 1] >= 0.9999 * NextTgt[i - 1] ) NextTgt[i] = Tgt[i - 1]; NextTgt[i] = Max( NextTgt[i], NextTgt[i - 1] ); } } BuyDate = ValueWhen( Buy, Ref( DateTime(), 1 ), 1 ); BuyPrice = ValueWhen( Buy, Ref( MeanPrice, 1 ), 1 ); SellPrice = ValueWhen( Sell, Ref( MeanPrice, 1 ), 1 ); TgtReached = IIf( Bought AND NOT Buy AND C >= 0.9999 * NextTgt, True, False ); SLHit = IIf( Bought AND NOT Buy AND C < SL, True, False ); SLHit = ExRem( SLHit, Buy ); // if ( TgtReached[BarCount - 1] ) NextTgt[BarCount - 1] = 2 * H[BarCount -1] - SL[BarCount - 1]; // if ( Status( "action" ) == actionIndicator ) { Ttl = EncodeColor( colorTurquoise ) + "Single MA system, INDICATOR FROM SRI VAARI STOCKS" + "\n" + WriteIf( Buy, EncodeColor( colorGreen ) + "Buy Triggered Today, Buy this stock Tomorrow.", "" ) + WriteIf( Sell, EncodeColor( colorRed ) + "Sell Triggered Today, Sell This stock Tomorrow.", "" ) + EncodeColor( colorTan ) + WriteIf( Bought AND NOT Buy, "Bought @ " + BuyPrice + ". " + "Target Price = " + NextTgt + ", Stop Loss = " + SL + ".\n" + WriteIf( TgtReached, "Target Reached. Next Target = " + Ref( NextTgt, 1 ) + ".\n", "" ) + EncodeColor( colorGold ) + "Profit / Loss so far = " + Prec( 100 * ( C - BuyPrice ) / BuyPrice, 2 ) + "%", "" ) + WriteIf( Sold AND NOT Sell, "Sold @ " + SellPrice + "\nProfit / Loss in Previous Trade = " + Prec( 100 * ( SellPrice - BuyPrice ) / BuyPrice, 2 ) + "%", "" ); _N( Title = StrFormat( "{{NAME}} ({{INTERVAL}}), {{DATE}} ; {{OHLCX}}, V=%1.0f\n {{VALUES}}\n\n", V ) + Ttl ); ChartStyle = ParamStyle( "Chart Type", styleBar, maskAll ); PlotOHLC( O, H, L, C, "", colorWhite, ChartStyle ); Plot( A, Type + "(" + P + ")", colorYellow, styleLine | styleThick ); Plot( IIf( Bought, NextTgt, Null ), "Target", colorDarkTeal, styleLine | styleThick ); Plot( SL, "Trail SL", colorWhite, styleLine ); PlotShapes( IIf( Buy, shapeSquare, shapeNone ), colorGreen, 0, L, Offset = -20 ); PlotShapes( IIf( Buy, shapeSquare, shapeNone ), colorLime, 0, L, Offset = -30 ); PlotShapes( IIf( Buy, shapeUpArrow, shapeNone ), colorWhite, 0, L, Offset = -25 ); PlotShapes( IIf( Sell, shapeSquare, shapeNone ), colorRed, 0, H, Offset = 20 ); PlotShapes( IIf( Sell, shapeSquare, shapeNone ), colorOrange, 0, H, Offset = 30 ); PlotShapes( IIf( Sell, shapeDownArrow, shapeNone ), colorWhite, 0, H, Offset = -25 ); if ( BBOption ) Plot( BBtop, "BB-Top", colorPink, styleLine ); if ( BBOption ) Plot( BBBot, "BB-Bot", colorPink, styleLine ); { AlertIf( Buy , "SOUND C:\\Windows\\Media\\Raga\\Windows Notify.wav", "Audio alert", 2 ); AlertIf( Sell , "SOUND C:\\Windows\\Media\\Raga\\Windows Notify.wav", "Audio alert", 2 ); } } if ( ( Status( "action" ) == actionExplore ) AND Report == "Triggers" ) { Filter = Buy OR Sell; SetOption( "NoDefaultColumns", True ); AddTextColumn( Name(), "Symbol", 77, colorDefault, colorDefault, 120 ); AddColumn( DateTime(), "Trigger Date", formatDateTime ); AddColumn( IIf( Buy, 66, 83 ), "Signal", formatChar, colorYellow, IIf( Buy, colorGreen, colorRed ) ); AddColumn( C, "C. M. P.", 6.2 ); AddColumn( IIf( Buy OR Bought, NextTgt, Null ), "Target", 6.2 ); AddColumn( IIf( Buy OR Bought, SL, Null ), "StopLoss", 6.2 ); } if( ( Status( "action" ) == actionExplore ) AND Report == "Update" ) { Filter = True; SetOption( "NoDefaultColumns", True ); AddColumn( DateTime(), "Updated On", formatDateTime, colorDefault, colorDefault, 96 ); AddTextColumn( Name(), "Symbol", 77, colorDefault, colorDefault, 120 ); AddColumn( BuyDate, "Buy Date", formatDateTime, colorDefault, colorDefault, 96 ); AddColumn( BuyPrice, "Buy Price", 6.2 ); AddColumn( NextTgt, "Target", 6.2 ); AddColumn( SL, "StopLoss", 6.2 ); AddColumn( C, "CMP", 6.2, colorDefault, colorDefault, 96 ); } if( ( Status( "action" ) == actionExplore ) AND Report == "Tgt-SL" ) { Filter = TgtReached OR SLHit; SetOption( "NoDefaultColumns", True ); AddColumn( DateTime(), "Updated On", formatDateTime, colorDefault, colorDefault, 96 ); AddTextColumn( Name(), "Symbol", 77, colorDefault, colorDefault, 120 ); AddColumn( BuyDate, "Buy Date", formatDateTime, colorDefault, colorDefault, 96 ); AddColumn( BuyPrice, "Buy Price", 6.2 ); AddColumn( NextTgt, "Target", 6.2 ); AddColumn( SL, "StopLoss", 6.2 ); AddColumn( C, "CMP", 6.2, colorDefault, colorDefault, 96 ); AddColumn( IIf( TgtReached, 89, 32 ), "Tgt Hit?", formatChar, colorYellow, IIf( TgtReached, colorGreen, colorDefault ) ); AddColumn( IIf( TgtReached, 2 * H - SL, Null ), "Next Tgt", 1.2 ); AddColumn( IIf( SLHit, 89, 32 ), "SL-Hit", formatChar, colorYellow, IIf( SLHit, colorRed, colorDefault ) ); } _SECTION_END();