This is got to be a very simple task but unfortunately AmiBroker told
me that I would have to write Backtester Interface code for this.  I'm
sure this has been done a million times.  Anyone have sample code? 
I'm using EOD data to trade one stock at a time from a basket of
stocks.   The problem is that a selling of a stock can occur on the
same day as a buy of *another* stock.   Of course the problem is that
the sell trade can occur after the buy trade.


--- In [email protected], "Andy" <se...@...> wrote:
>
> How do I fix the below code so it doesn't buy a different stock on a
> sell day?
> 
> --------------------------------------------------------
> // Backtester Options
> SetOption("MaxOpenPositions", 1 );
> SetOption("AllowSameBarExit", False);
> 
> // Optimization numbers
> BuyPeriod = Optimize("BuyPeriod",16,10,20,2);
> BuyFactor = Optimize("BuyFactor",1.2,0.5,1.5,.1);
> SellPeriod = Optimize("SellPeriod",20,10,20,2);
> SellFactor = Optimize("SellFactor",0.8,0.5,1.5,.1);
> 
> // ATR formulas
> TodaysBuyTarget = High - BuyFactor * ATR(BuyPeriod);
> YesterdaysBuyTarget = Ref(High,-1) - BuyFactor * 
Ref(ATR(BuyPeriod),-1);
> YesterdaysSellTarget = Ref(Low,-1) + SellFactor *
Ref(ATR(SellPeriod),-1);
> 
> // Buy/Sell signals and prices
> Buy = YesterdaysBuyTarget > Low;
> BuyPrice = IIf(YesterdaysBuyTarget > Open, Open, YesterdaysBuyTarget);
> Sell = YesterdaysSellTarget < High;
> SellPrice = IIf(YesterdaysSellTarget < Open, Open,
YesterdaysSellTarget);
> Buy = ExRem(Buy,Sell);                                        
> Sell = ExRem(Sell,Buy);
>


Reply via email to