background image

      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)