NumericSeries DayOpen;
NumericSeries preDayRange;
NumericSeries HigherAfterEntry;
NumericSeries LowerAfterEntry;
Numeric preDayHigh;
Numeric preDayLow;
Numeric UpperBand;
Numeric LowerBand;
Numeric MyPrice;
Numeric StopLine;
Begin
DayOpen=OpenD(0);
preDayHigh=HighD(1);
preDayLow=LowD(1);
preDayRange=HighD(1)-LowD(1);
UpperBand=DayOpen+preDayRange*PercentOfRange;
LowerBand=Dayopen-preDayRange*PercentOfRange;
If(BarsSinceEntry==1)
{
HigherAfterEntry=AvgEntryPrice;
LowerAfterEntry=HigherAfterEntry;
}Else If(BarsSinceEntry>1)
{
HigherAfterEntry=max (HigherAfterEntry[1],High[1]);
LowerAfterEntry=min(LowerAfterEntry[1],Low[1]);
}
If(Date!=Date[1])
{DayOpen=Open;
preDayRange=preDayHigh-preDayLow;
If(preDayRange<Open*MinRange*0.01)
PreDayRange=Open*MinRange*0.01;
}Else
{
DayOpen=DayOpen[1];
preDayRange=preDayRange[1];
}
If(MarketPosition!=1&&High>=UpperBand&&Time<LastTradeMins/100)
{
Myprice=UpperBand;
If(Open>Myprice)Myprice=Open;
Buy(1,Myprice);
Return;
}
If(MarketPosition!=1&&Low<=LowerBand&&Time<LastTradeMins/100)