var Bar, X : integer; HideVolume; PlotStops; X := 30; // slippage settings: if (GetSymbol = 'EURUSD') OR (GetSymbol = 'USDJPY') then SetSlippage(true, 4, false) else SetSlippage(true, 5, false); for Bar := X to BarCount - 1 do begin if not LastPositionActive then begin if (GetDate(Bar) >= 19990718) AND (GetDate(Bar) < = 20030718) then begin if CrossOver(Bar, #Close, OffsetSeries(HighestSeries(#High, X), -1)) then BuyAtLimit(Bar+1, PriceClose(Bar), '') else if CrossUnder(Bar, #Close, OffsetSeries(LowestSeries(#Low, X), -1)) then ShortAtLimit(Bar+1, PriceClose(Bar), ''); end; end else begin if PositionLong(LastPosition) then begin if CrossUnder(Bar, #Close, OffsetSeries(LowestSeries(#Low, X), -1)) then begin SellAtMarket(Bar+1, LastPosition, ''); if (GetDate(Bar) >= 19990718) AND (GetDate(Bar) < = 20030718) then ShortAtLimit(Bar+1, PriceClose(Bar), ''); end; if GetDate(Bar) > 20030718 then SellAtMarket(Bar+1, LastPosition, ‘’); end else begin if CrossOver(Bar, #Close, OffsetSeries(HighestSeries(#High, X), -1)) then begin CoverAtMarket(Bar+1, LastPosition, ‘’); if (GetDate(Bar) >= 19990718) AND (GetDate(Bar) < = 20030718) then BuyAtLimit(Bar+1, PriceClose(Bar), ''); end; if GetDate(Bar) > 20030718 then CoverAtMarket(Bar+1, LastPosition, ‘’); end; end; end;