Sorry, I don't think I explained myself very well. The issue I am having is 
that the BuyStop & SellStop are not being executed in the correct location. It 
seems that as soon as a new bar is generated the BuyPrice & SellPrice get 
recalculated meaning the orders are executed at an incorrect price level. Is 
there some way of keeping the BuyPrice/SellPrice fixed?

Pete.

--- In [email protected], cas soni <soni...@...> wrote:
>
> Hello pcmoxon,you didn't use PLOT..add this lines  SetChartOptions(0, 
> chartShowDates); Plot(C,"Close",colorWhite,64);
> 
> 
> 
> PlotShapes(IIf(Buy , shapeSmallUpTriangle, shapeNone) ,colorGreen, 0,L,-20); 
> 
> PlotShapes(IIf(Sell  , shapeSmallDownTriangle, shapeNone) ,colorRed, 
> 0,H,-20);
> 
> 
> 
> Plot(MA1,"\nDynPiv25",ParamColor("Color 1",ColorRGB(238,174,238)),stylethick);
> 
> Plot(MA2,"\nDynPiv50",ParamColor("Color1 2",ColorRGB(255,20,147)),styleline);
> and make sure your market start time / end time is correctly set
> 
> Thank you
> --- On Fri, 30/7/10, pcmoxon <teklin...@...> wrote:
> 
> From: pcmoxon <teklin...@...>
> Subject: [amibroker] Using BuyStop and SellStop orders - How does it work?
> To: [email protected]
> Date: Friday, 30 July, 2010, 12:01 AM
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  
>  
> 
> 
> 
>   
> 
> 
>     
>       
>       
>       Hi,
> 
> 
> 
> I am trying to test a simple MA Cross over system that uses Buy-Stop and 
> Sell-Stop orders. I can't for the life Of me workout how this should work.
> 
> 
> 
> What I want the system to do is only trade between the 'tstart' & 'tend' 
> parameter. When there is a MA-Cross set a BuyStop or Sell stop order at the 
> High/Low of the bar where the MA-Cross ocurred, so the trade is only entered 
> when the stop order is taken out.
> 
> 
> 
> I would be very gratefull if someone can take a look at my code below and 
> point me in the right direction to get this to work.
> 
> 
> 
> Thanks,
> 
> Pete
> 
> 
> 
> //
> 
>    //+----------------------------------------------------------+
> 
>    //| Variable/Parameters Start                                        |
> 
>    //+----------------------------------------------------------+
> 
> //    Set up the lengths for the moving averages
> 
> Length1    = Param("Fast MA",3,1,20,1);
> 
> Length2    = Param("Slow MA",30,21,80,1);
> 
> // Trade Times
> 
> tstart     = 070000; 
> 
> tend       = 150000; 
> 
> time_valid = TimeNum() >= tstart AND TimeNum() <= tend; 
> 
> 
> 
> //+----------------------------------------------------------+
> 
>    //| Buy Sell Logic                                                   |
> 
>    //+----------------------------------------------------------+
> 
> MA1 = MA(C,Length1);
> 
> MA2 = MA(C,Length2);
> 
> 
> 
> Buy   = Ref(Cross(MA1,MA2),-1) AND time_valid;
> 
> Short = Ref(Cross(MA2,MA1),-1) AND time_valid;
> 
> Sell = Short;
> 
> Cover = Buy;
> 
> 
> 
> BuyStop  = Ref(H,-1);
> 
> SellStop = Ref(L,-1);
> 
> 
> 
> BuyPrice  = Max( BuyStop, Low ); // make sure buy price not less than Low 
> 
> SellPrice = Min( SellStop, High ); // make sure sell price not greater than 
> High 
> 
> 
> 
> Buy  = ExRem(Buy,Sell);
> 
> Sell = ExRem(Sell,Buy);
>


Reply via email to