Hi Happy_Singh Ji,
my AFL is not showing the BUY or SHORT signal after the close of the first candle of the day i.e if i am using 5mn chart & from previous day the ATR trailing stop-loss indicator is LONG & then after the opening bell & after close of first candle (5m or 7m) if ATR trailing stop-loss is still in green a BUY signal should have been show.... amibroker is not picking up the signal.... can you help with his AFL...
in the attached 5m charts of BankNIfty at the close of first 5m candle the indicator is SHORT & the amibroker/AFL should have triggered a new fresh SHORT for the day.... but it is not picking up the signal.... what could be wrong...
_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 )) ));
barcolor = IIf(C >= O,colorGreen,colorRed);
SetBarFillColor(IIf(C > O,ParamColor("Candle UP Color", colorGreen),IIf(C <= O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));
PlotOHLC( O, H, L, C, "", barcolor, styleCandle );
_SECTION_END();
_SECTION_BEGIN("SuperTrend");
SetTradeDelays(1,1,1,1);
function ParamOptimize( pname, defaultval, minv, maxv, step )
{
return Optimize( pname,
Param( pname, defaultval, minv, maxv, step ),
minv, maxv, step );
}
StopATRPeriod = ParamOptimize("ATR period", 21, 13, 34,1 );
StopATRFactor = ParamOptimize("ATR multiple", 3.4, 2.1, 5, 0.1 );
HL = H - L;
MAHL = 1.5 * MA( HL, StopATRPeriod );
HiLo = IIf( HL < MAHL, HL, MAHL );
H1 = Ref( H, -1 );
L1 = Ref( L, -1 );
C1 = Ref( C, -1 );
Href = IIf( L <= H1, H - C1, ( H - C1 ) - ( L - H1 ) / 2 );
Lref = IIf( H >= L1, C1 - L, ( C1 - L ) - ( L1 - H ) / 2 );
diff1 = Max( HiLo, HRef );
diff2 = Max( diff1, LRef );
ATRmod = Wilders( diff2, StopATRPeriod );
sup = C - StopATRFactor * ATRmod ;
res = C + StopATRFactor * ATRmod ;
//}
// calculate trailing stop line
trailARRAY = Null;
trailstop = 0;
for( i = 1; i < BarCount; i++ )
{
//if( Started[ i ] == 0 ) continue;
if( C[ i ] > trailstop AND C[ i - 1 ] > trailstop )
trailstop = Max( trailstop, sup[ i ] );
else
if( C[ i ] < trailstop AND C[ i - 1 ] < trailstop )
trailstop = Min( trailstop, res[ i ] );
else
trailstop = IIf( C[ i ] > trailstop, sup[ i ], res[ i ] );
trailARRAY[ i ] = trailstop;
}
Buy_ATR_TSL = Cross( C, trailArray );
Sell_ATR_TSL = Cross( trailArray, C );
Short_ATR_TSL = Sell_ATR_TSL;
Cover_ATR_TSL = Buy_ATR_TSL;
tn = TimeNum();
startTime = 91500; // start in HHMMSS format
endTime = 150559; // end in HHMMSS format
endTime2 = 151400; // end2 in HHMMSS format for session exit
timeOK = tn >= startTime AND tn <= endTime;
Buy = BUY_ATR_TSL AND timeOK;
regular_sell = Sell_ATR_TSL AND timeOK;
session_exit = Cross(tn, endTime2);
Sell = regular_sell OR session_exit;
Short = Short_ATR_TSL AND timeOK;
regular_buy = Buy_ATR_TSL AND timeOK;
session_exit = Cross(tn, endTime2);
Cover = regular_buy OR session_exit;
Sell=ExRem(Sell,Buy);
Buy=ExRem(Buy,Sell) ;
cover=ExRem(cover,short);
short=ExRem(short,cover);
Filter=Buy OR Sell;
BuyPrice=ValueWhen(BUY,C);
SellPrice=ValueWhen(SELL,C);
ShortPrice=ValueWhen(SHORT,C);
CoverPrice=ValueWhen(Cover,C);
TRAILCOLOR =IIf(C>trailARRAY,colorDarkGreen ,colorRed);
Plot( trailARRAY,"trailing stop level", TRAILCOLOR, styleStaircase | styleThick );
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, shapeDownArrow, shapeNone ), colorRed, 0, H, Offset = -65 );
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( Cover, shapeUpArrow, shapeNone ), colorBlue, 0, L, Offset = -65 );
AddColumn(C,"Close");
AddColumn(trailArray,"trailArray");
AddColumn(trailstop,"trailstop");
_SECTION_END();
my AFL is not showing the BUY or SHORT signal after the close of the first candle of the day i.e if i am using 5mn chart & from previous day the ATR trailing stop-loss indicator is LONG & then after the opening bell & after close of first candle (5m or 7m) if ATR trailing stop-loss is still in green a BUY signal should have been show.... amibroker is not picking up the signal.... can you help with his AFL...
in the attached 5m charts of BankNIfty at the close of first 5m candle the indicator is SHORT & the amibroker/AFL should have triggered a new fresh SHORT for the day.... but it is not picking up the signal.... what could be wrong...
_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 )) ));
barcolor = IIf(C >= O,colorGreen,colorRed);
SetBarFillColor(IIf(C > O,ParamColor("Candle UP Color", colorGreen),IIf(C <= O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));
PlotOHLC( O, H, L, C, "", barcolor, styleCandle );
_SECTION_END();
_SECTION_BEGIN("SuperTrend");
SetTradeDelays(1,1,1,1);
function ParamOptimize( pname, defaultval, minv, maxv, step )
{
return Optimize( pname,
Param( pname, defaultval, minv, maxv, step ),
minv, maxv, step );
}
StopATRPeriod = ParamOptimize("ATR period", 21, 13, 34,1 );
StopATRFactor = ParamOptimize("ATR multiple", 3.4, 2.1, 5, 0.1 );
HL = H - L;
MAHL = 1.5 * MA( HL, StopATRPeriod );
HiLo = IIf( HL < MAHL, HL, MAHL );
H1 = Ref( H, -1 );
L1 = Ref( L, -1 );
C1 = Ref( C, -1 );
Href = IIf( L <= H1, H - C1, ( H - C1 ) - ( L - H1 ) / 2 );
Lref = IIf( H >= L1, C1 - L, ( C1 - L ) - ( L1 - H ) / 2 );
diff1 = Max( HiLo, HRef );
diff2 = Max( diff1, LRef );
ATRmod = Wilders( diff2, StopATRPeriod );
sup = C - StopATRFactor * ATRmod ;
res = C + StopATRFactor * ATRmod ;
//}
// calculate trailing stop line
trailARRAY = Null;
trailstop = 0;
for( i = 1; i < BarCount; i++ )
{
//if( Started[ i ] == 0 ) continue;
if( C[ i ] > trailstop AND C[ i - 1 ] > trailstop )
trailstop = Max( trailstop, sup[ i ] );
else
if( C[ i ] < trailstop AND C[ i - 1 ] < trailstop )
trailstop = Min( trailstop, res[ i ] );
else
trailstop = IIf( C[ i ] > trailstop, sup[ i ], res[ i ] );
trailARRAY[ i ] = trailstop;
}
Buy_ATR_TSL = Cross( C, trailArray );
Sell_ATR_TSL = Cross( trailArray, C );
Short_ATR_TSL = Sell_ATR_TSL;
Cover_ATR_TSL = Buy_ATR_TSL;
tn = TimeNum();
startTime = 91500; // start in HHMMSS format
endTime = 150559; // end in HHMMSS format
endTime2 = 151400; // end2 in HHMMSS format for session exit
timeOK = tn >= startTime AND tn <= endTime;
Buy = BUY_ATR_TSL AND timeOK;
regular_sell = Sell_ATR_TSL AND timeOK;
session_exit = Cross(tn, endTime2);
Sell = regular_sell OR session_exit;
Short = Short_ATR_TSL AND timeOK;
regular_buy = Buy_ATR_TSL AND timeOK;
session_exit = Cross(tn, endTime2);
Cover = regular_buy OR session_exit;
Sell=ExRem(Sell,Buy);
Buy=ExRem(Buy,Sell) ;
cover=ExRem(cover,short);
short=ExRem(short,cover);
Filter=Buy OR Sell;
BuyPrice=ValueWhen(BUY,C);
SellPrice=ValueWhen(SELL,C);
ShortPrice=ValueWhen(SHORT,C);
CoverPrice=ValueWhen(Cover,C);
TRAILCOLOR =IIf(C>trailARRAY,colorDarkGreen ,colorRed);
Plot( trailARRAY,"trailing stop level", TRAILCOLOR, styleStaircase | styleThick );
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, shapeDownArrow, shapeNone ), colorRed, 0, H, Offset = -65 );
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( Cover, shapeUpArrow, shapeNone ), colorBlue, 0, L, Offset = -65 );
AddColumn(C,"Close");
AddColumn(trailArray,"trailArray");
AddColumn(trailstop,"trailstop");
_SECTION_END();