| 
 ok good. This is also what I used but I found in 
some cases there are 2 buys in a row without a sell in between, even when 
running exrem. I thought that this was your problem. 
  
Anyways, I guess it is solved now. 
  
The code I have sent earlier was not complete. The 
stoploss needed to be trailing. I add the adjusted code + a chart, 
  
rgds, Ed 
  
  
procedure sell_proc(Buy,BuyPrice,stopLoss,profitTarget) { 
  global Sell;  global SellPrice; 
  global BuyAdjusted;  global BuyPriceAdjusted; 
  Sell = 0;  SellPrice = 0; 
  BuyAdjusted = 
0;  BuyPriceAdjusted = 0; 
  global stopLossLine;  global profitTargetLine; 
  stopLossLine = 
Null;  profitTargetLine = 
Null; 
  for( i = 0; i < BarCount; i++ )  {      
    if ( Buy[ i ] ) 
    {      
       BuyAdjusted[ i ] = 1;        BuyPriceAdjusted[ i ] = 
BuyPrice[ i ]; 
        
       stopLossLine[ i ] = stopLoss[ i ]; 
       profitTargetLine[ i ] = BuyPrice[ i ] + profitTarget[ i ]; 
        
       for (j = i + 1; j < BarCount; j++) 
       {       
          stopLossLine[ j ] = 
stopLoss[ j ]; 
          profitTargetLine[ j ] 
= profitTargetLine[ i ]; 
           
          if( L[ j ] <= stopLossLine[ j ] ) 
          { 
        
             Sell[ j ] = 1; 
             SellPrice[ j ] = Min(O[ j ],stopLossLine[ j ]); 
        
             i = 
j; 
             break;                                        
           } 
          else if( H[ j ] > profitTargetLine[ j ] ) 
          { 
              Sell[ j ] = 1; 
             SellPrice[ j ] = Max(O[ j ],profitTargetLine[ j ]); 
        
             i = 
j; 
             break;                                     
           
          } 
          else if (j == BarCount - 1)           { 
                    
             i = 
BarCount; 
                    
          } 
       }     }  } 
  } 
  SetOption("MaxOpenPositions", 100 );  SetOption("PriceBoundChecking", True);  PositionSize = -100;  SetTradeDelays(0,0,0,0); 
  SetBarsRequired(10000,10000); 
  Entrypt=HHV(H,3); 
  Buy= Cross(H,Ref(Entrypt,-1));  BuyPrice=Max(O,Ref(Entrypt,-1)); 
  sell_proc(Buy,BuyPrice,Ref(LLV(L,5),-1),Ref(2*ATR(10),-1) ); 
  Buy = BuyAdjusted;  BuyPrice = BuyPriceAdjusted; 
  Plot(stopLossLine,"stopLossLine",colorBlue,styleThick);  Plot(profitTargetLine,"profitTargetLine",colorLightBlue,styleThick);  Plot(Ref(Entrypt,-1),"EntryLevel",colorYellow,styleDashed); 
  SetChartOptions(0, chartShowDates);  Plot(C,"Last=",colorBlack,64); 
  PlotShapes(IIf(Buy,shapeUpTriangle,shapeNone),colorGreen,0,L,-15);  PlotShapes(IIf(Buy,shapeHollowUpTriangle,shapeNone),colorWhite,0,L,-15);  PlotShapes(IIf(Buy,shapeHollowCircle,shapeNone),colorWhite,0,BuyPrice,0);  PlotShapes(IIf(Sell,shapeDownTriangle,shapeNone),colorRed,0,H,-15);  PlotShapes(IIf(Sell,shapeHollowDownTriangle,shapeNone),colorWhite,0,H,-15);  PlotShapes(IIf(Sell,shapeHollowCircle,shapeNone),colorWhite,0,SellPrice,0);  
  
  
  
  
  
  
  
  
  
  
  
  ----- Original Message -----  
  
  
  Sent: Friday, July 11, 2008 5:10 PM 
  Subject: [amibroker] Re: Buyprice changes 
  while long 
  
  
  
  
   Hi Ed, 
  Thanks for answering. Yes, I have to rethink the exit since I am simulating 
  a trail stop but I need it more complicated than the one I can implement with 
  Applystop(). 
  Regarding the problem with Buystop I have found a way to fix it. I need to 
  place the Buyprice sentence: 
  BuyPrice=ValueWhen(Buy,Max(O,Ref(Entrypt,-1)));  
  below the Exrem() sentence, thus I remove the other ocurrences of Buy that 
  move the Buyprice. Try it and you will see that the Buyprice is now a constant 
  while long (the blue line). I guess this is a typical error when coding since 
  we always want Buyprice below Buy signal. Buyprice needs to be static. 
  regards, 
  Oscar 
    
    
   --- In amibroker@xxxxxxxxxps.com, "Edward Pottasch" 
  <empottasch@x..> wrote: > > hi, >  > below 
  I adjusted your code for the simplified sell algorithm. Like the buyPrice you 
  can now also display the sellprice. Best to go from there. Expand your sell 
  algorithm and look if you can display it, that will help you to see what your 
  code is doing, rgds, Ed >  > 
  SetBarsRequired(10000,10000);  >  > 
  Entrypt=HHV(H,3);  >  > Buy= 
  Cross(H,Ref(Entrypt,-1));  > 
  BuyPrice=ValueWhen(Buy,Max(O,Ref(Entrypt,-1)));  > 
   > //MaxTRADECLOSE=Ref(HighestSince(Buy,C),-1);  > 
   > Sell= L < Ref(LLV(L,5),-1);// OR 
  (Maxtradeclose-BuyPrice) > 2*ATR(10);  > 
  SellPrice=ValueWhen(Sell,Min(O, Ref(LLV(L,5),-1)));  > 
   > Buy = ExRem(Buy,Sell);  > Sell = ExRem(Sell,Buy); 
   >  > 
  Plot(BuyPrice,"buyprice",colorBlue,styleLine);  > 
  Plot(SellPrice,"maxtradeclose",colorLightBlue,styleLine); 
   >  > SetChartOptions(0, chartShowDates);  > 
  Plot(C,"Last=",colorBlack,64);  >  > 
  PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L,-15); 
   > 
  PlotShapes(IIf(Buy,shapeHollowCircle,shapeNone),colorGreen,0,BuyPrice,0); 
   > 
  PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,H,-15); 
   > 
  PlotShapes(IIf(Sell,shapeHollowCircle,shapeNone),colorRed,0,SellPrice,0); 
   >  >  >  >  > ----- Original Message ----- 
   > From: cagigas00  > To: amibroker@xxxxxxxxxps.com  > 
  Sent: Friday, July 11, 2008 11:08 AM > Subject: [amibroker] Buyprice 
  changes while long >  >  >  > The following code 
  replicates the problem I am having with a system. The buyprice is suppossed to 
  be constant while the system is long, however it keeps changing. How can I 
  make the Buyprice a constant? >  > Thanks >  > 
  Oscar >  > //COND// >  > 
  Entrypt=HHV(H,3); >  > //ENTRY SIGNAL// >  > Buy= 
  H > Ref(Entrypt,-1); >  > 
  BuyPrice=ValueWhen(Buy,Ref(Entrypt,-1)); >  > //EXIT 
  SIGNAL// >  > 
  MaxTRADECLOSE=Ref(HighestSince(Buy,C),-1); >  > 
  Sell= L < Ref(LLV(L,5),-1) OR (Maxtradeclose-BuyPrice) > 
  2*ATR(10); >  > //REMOVE EXCESIVE SIGNALS// >  > 
  Buy=ExRem(Buy,Sell); >  > Sell=ExRem(Sell,Buy); > 
   > //PLOT BUY AND SELL POINTS// >  > 
  Plot(C,"Last=",colorBlack,styleBar|styleThick); > 
   > 
  PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L,-15); > 
   > 
  PlotShapes(IIf(Buy,shapeHollowCircle,shapeNone),colorGreen,0,BuyPrice,0); > 
   > 
  PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,H,-15); > 
   > 
  PlotShapes(IIf(Sell,shapeHollowCircle,shapeNone),colorRed,0,SellPrice,0); > 
   > //AUX// >  > 
  Plot(Buy,"buy",colorRed,styleLine|styleOwnScale); > 
   > 
  Plot(BuyPrice,"buyprice",colorBlue,styleLine); > 
   > 
  Plot(Maxtradeclose,"maxtradeclose",colorGreen,styleLine); >
  
    
__._,_.___
  
Please note that this group is for discussion between users only. 
 
To get support from AmiBroker please send an e-mail directly to  
SUPPORT {at} amibroker.com 
 
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: 
http://www.amibroker.com/devlog/ 
 
For other support material please check also: 
http://www.amibroker.com/support.html 
  
     
    
 
      
   
__,_._,___
 |