AFL code: EMA crossover not working on shorts

Below is an AFL code to detect EMA crossover and generate buy and sell signals.

Can someone help me to know why the shorts does not work? (Applied it on 5mins chart of Gail 12th April, 9:44, but it does not detect the good short.

Kindly help.

//GraphXSpace = 15;
SetChartOptions(0,chartShowArrows|chartShowDates);

SetTradeDelays(1,1,1,1);
//SetPositionSize(100,spsShares);

FirstTradeTime = 091500; // Earliest time to take a trade
LastTradeTime = 151500; // Latest time to take new trades
ExitAllPositionsTime = 151500; // Exit all trades

//parameters

//10min - 3,50
//15min - 2,36

P = ParamField(“Price field”,-1);
per1 = Param(“EMA1”,3,1,20,1);
per2 = Param(“EMA2”,8,1,50,1);

//Buy = Cross(EMA(C,per1),EMA(C,per2)) AND (TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime ) AND Volume >= MA(Volume,5);
//Sell= Cross(EMA(C,per2),EMA(C,per1)) OR TimeNum() >= ExitAllPositionsTime AND Volume >= MA(Volume,5);

Buy = Cross(EMA(C,per1),EMA(C,per2)) AND (TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime );
Sell= Cross(EMA(C,per2),EMA(C,per1)) OR TimeNum() >= ExitAllPositionsTime;

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

Short=Sell AND (TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime );
Cover=Buy OR TimeNum() >= ExitAllPositionsTime;

Cover=ExRem(Cover,Short);
Short=ExRem(Short,Cover);

Plot( EMA( P, per1 ), “EMA1”, ParamColor( “Color1”, colorCycle ), ParamStyle(“Style”) );
Plot( EMA( P, per2 ), “EMA2”, ParamColor( “Color2”, colorCycle ), ParamStyle(“Style”) );

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, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

PlotShapes(IIf(TimeNum() >= ExitAllPositionsTime,5,-1e10),colorGreen,0 ,H,5);
PlotShapes(IIf(TimeNum() >= ExitAllPositionsTime,6,-1e10),colorRed,0,L,5);

//dist = 1.5*ATR(10);

/*
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( “Buyn@” + C[ i ], i, L[ i ]-dist[i], colorGreen );
if( Sell[i] ) PlotText( “Selln@” + C[ i ], i, H[ i ]+dist[i], colorRed, colorYellow );

//if( Short[i] ) PlotText( “Short@” + C[ i ], i, L[ i ]-dist[i], colorGreen );
//if( Cover[i] ) PlotText( “Cover@” + C[ i ], i, H[ i ]+dist[i], colorRed, colorYellow );
}
*/