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 > > > > > > >