BUY-SELL SMA (tiger) for Amibroker (AFL)
tigernifty over 14 years ago Amibroker (AFL)
Friends, This is based on SINGLE MOVING AVERAGE AFL, USEFULL FOR INTRADAY, SAME TIME CONSIDER THE MARKET TREND ALSO. THANK U.
-SRI VAARI STOCKS, TAMILNADU. (9095090959)
Indicator / Formula
Copy & Paste Friendly
_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();0 comments
Leave Comment
Please login here to leave a comment.