Your code seems to work for me here.

Here it is again, just slightly tweaked:

//SETTINGS--->
PosQty=Param("Posiciones",10,1,20,1);
SetOption("InitialEquity", 1000000 );
SetOption("AllowPositionShrinking", True );
SetOption("MaxOpenPositions", PosQty );
SetOption ("accountmargin",100);
PositionSize = -100/(posqty);


Buy = Sell = Short = Cover = 0 ;
//-----------

ExitPct = Param( "ExitPct", 1, .1, 10, .1 ) ;

SetTradeDelays(1,1,1,1);//buy after signal
ApplyStop(stopTypeProfit, stopModePercent, ExitPct, 1); //exit intraday on same 
bar at 2%
ApplyStop(stopTypeLoss, stopModePercent, ExitPct, 1);           //exit intraday 
on same bar at 2%

//CONDITIONS---------------------------------------
Cond1=Cross(MACD(12,26),0);

//long entry-----------------------------
PositionScore= 100-StochK(15,3);
Buy= Cond1;
//      BuyPrice=Open*1.001;    //in open next bar!
BuyPrice=Open ; //in open next bar!

Sell=Cross(Signal(12,26,9),MACD(12,26));//sell in open next bar
//      SellPrice=Open*0.999;
SellPrice=Open ;


Buy=ExRem(Buy,Sell); Sell=ExRem(Sell,Buy);

//------------END OF CODE------------------


Notes:   

1.  My AB 5.3 install requires Buy, Sell, Stop, and Cover to all be defined.

2.  I use the Open for BuyPrice and SellPrice.  If you multiply the Open you 
could wind up with a price that does not exist during that bar.

3.  I parameterized the ExitPct, and added the stopTypeLoss.

4.  When I run a backtest, results look good, with rows and rows of profit and 
loss exits at the ExitPct, differing only in the 2nd decimal place.

So, I don't know why it isn't working for you ...

- Progster


--- In amibroker@yahoogroups.com, "Gonzaga" <gonzag...@...> wrote:
>
> Thanks for the answer.
> But I don't understand, yet. I'm sorry, but, suppose the next purchase:
> Using end-of-day bars:
> The system triggers a buy signal.
> Then I buy on next day bar, just in the open.
> Then, the stoploss should 'look the price', selling in the same bar if loss 
> is reached.
> 
> How could the system knows if the stops triggers before or after the buyprice?
>  Well, If I buy the open price, if the low is less than the stoplevel, the 
> system sells.
> Is that simple, I think I could programm. 
> But I thought that was easier with the stops commands..
> Where is the mistake?
> Thanx
> 
> 
> 
> 
> --- In amibroker@yahoogroups.com, Progster <progster@> wrote:
> >
> > Gonzaga,
> > 
> > If a chart bar is the smallest data unit under test, your test cannot be 
> > accurate if price-based entries and exits take place in the same bar. 
> > This is because the path of price inside the bar is not known.
> > 
> > Some platforms have an "inside the bar" smallest data unit under test 
> > (e.g. testing actually done to the tick level, assuming tick data 
> > exists, even though you are observing a Daily chart). This can be 
> > somewhat helpful for visualizing and testing some kinds of strategies, 
> > but tests done this way run at tick-bar speed, not at Daily bar speed. 
> > In any case, AB does not work this way.
> > 
> > I recommend testing your system on a low enough timeframe such that 
> > entries and exits never occur on the same bar.
> > 
> > I also recommend, if you need Daily TA numbers, then run on, say, a 5m 
> > chart (or even a 30m chart, depending), and write your code to use AB's 
> > time-compression/expansion to do the Daily-level TA.
> > 
> > - Progster
> > 
> > 
> > On 6/16/2010 3:50 PM, Gonzaga wrote:
> > >
> > > Well, I have to admit that I don't understand at all the stop system 
> > > performed by Amibroker.
> > >
> > > I have super-simplified my code, letting only a buy condition, and a 
> > > stop, established in the settings dialog, to avoid any code mistake.
> > > So, I want to have a stoploss or stop profit, for example 5%.
> > > I use settradedelays (1,1,1,1);
> > > the stops execute in the same bar as stop-loss signal, using the 
> > > parameter in settings "exit intraday at stop(1)",which, as help files 
> > > says, "check High-Low prices and exit intraday on price equal to stop 
> > > level on the same bar when stop was triggered".
> > > I also set "activate stops immediately", which is supposed that if 
> > > it's activated, "stop is activated after current bar signals"
> > > And I also set to true, (I dont know if it's needed) "allow same bar exit"
> > >
> > > Well, my system buys the day after buy signal, at open. And the stop 
> > > should sell in the stoploss limit exactly, at least if the stop 
> > > triggers in the same buying bar. If it is in another bar, there could 
> > > be a gap that make bigger the loss, of course.
> > >
> > > Well, there's no way. I obtain any loss, in the same bar, in different 
> > > bars, and never limit to the stop loss number.
> > > I understand nothing.
> > > Does anybody know how to enter at next-bar open, and let the stoploss 
> > > triggers in the same bar of the stop signal?
> > > Or at least, where is a clear paper explaining the exact usage of the 
> > > amibroker's stops??
> > >
> > > Thanks a looot
> > >
> > >
>


Reply via email to