Hello, Assign Sell = 0; Cover = 0;
and use ExitTrade() method in CBT. That is simplest and most straightforward way to implement what you are after. see http://www.amibroker.com/kb/2006/03/06/re-balancing-open-positions/ for example how to do that (you would need to use ExitTrade instead of ScaleTrade) Best regards, Tomasz Janeczko amibroker.com On 2010-02-15 21:57, Pmxgs wrote: > Hello, > > in that case, do I have to use the low level of CBT? Or is there any > variable that I can assign to the signalobject so that the backtester skips > those exit signals received from the 1st phase? > As I described in the previous post, almost my trading system can be coded > using "regular" phase. Only the stop loss exit needs to use custom > backtester. > > thanks > > > > --- In [email protected], Tomasz Janeczko<gro...@...> wrote: > >> Hello, >> >> The suggestion was wrong. >> PosSize property of signal object is only effective for ENTRY and >> SCALING (in/out) signals. >> EXIT signals just EXIT (close entire) position. >> >> Best regards, >> Tomasz Janeczko >> amibroker.com >> >> On 2010-02-15 17:41, Pmxgs wrote: >> >>> Hi, >>> >>> I followed this suggestion which was to write sell=1 in the first phase >>> of the backtest and then assign 0 to the possize property of the signal >>> object to avoid exiting trades (the condition to exit trades is only if >>> profit from current open positions is greater than -8000 but less than >>> 5000). (profit>5000 is when profit target is hit) >>> >>> If I assign zero to possize in case of a sell, does the backtester skip >>> this exit signal? >>> I don't get any response from the trace statement, so I'm doing several >>> things wrong. >>> >>> >>> Here is my code to ilustrate what I'm trying to do. Any help ? >>> >>> SetCustomBacktestProc(""); >>> if (Status("action") == actionPortfolio) { >>> bo = GetBacktesterObject(); // Get backtester object >>> >>> bo.PreProcess(); // Do pre-processing (always required) >>> for (i = 0; i< BarCount; i++) // Loop through all bars >>> profit=0; >>> { >>> for (trade = bo.GetFirstOpenPos(); trade; trade = >>> bo.GetNextOpenPos()) >>> { // Loop through all open positions >>> profit=profit+ trade.GetProfit() ; >>> _TRACE("profit at bar "+profit+"-"+i); >>> } >>> >>> for (sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal(i)) >>> { // Loop through all signals at this bar >>> >>> if (sig.Isexit()&& profit>-8000&& profit<5000) //skip >>> exits { >>> _TRACE("exit signal at bar "+i); >>> sig.possize=0; >>> } >>> } // End of for loop over signals at this bar >>> bo.ProcessTradeSignals(i); // Process trades at bar >>> (always required) >>> } // End of for loop over bars >>> bo.PostProcess(); // Do post-processing (always required) >>> }; >>> >>> >>> >>> thanks >>> >>> --- In [email protected], "Pmxgs"<pmxgs@> wrote: >>> >>> >>>> Good idea. I hadn't hink of it that way. >>>> Let's see if I can code it correctly. >>>> >>>> thanks >>>> >>>> --- In [email protected], "Mike"<sfclimbers@> wrote: >>>> >>>> >>>>> Medium level CBT allows to cancel buy signals by setting position size to >>>>> 0. Assuming the same applies for sell signals (i.e. cancel the signal), >>>>> you could try using "Sell = 1;" as your sell logic and then cancel the >>>>> signals using medium CBT when not applicable. >>>>> >>>>> I'm not necessarily recommending the above. Just pointing out that it >>>>> could potentially be done without low level CBT, if so desired. >>>>> >>>>> Mike >>>>> >>>>> --- In [email protected], "Pmxgs"<pmxgs@> wrote: >>>>> >>>>> >>>>>> Hi, >>>>>> >>>>>> I'm trying to create a system where all my entry rules can be >>>>>> defined without cbt, but the exit rule (which is to close all positions >>>>>> if the loss of all open positions is greater than 5% of equity). >>>>>> >>>>>> Since I have to use exit trade method of cbt, do I need do use the >>>>>> lowest level described in the help section of cbt? >>>>>> >>>>>> >>>>>> >>>>>> thanks >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >>> ------------------------------------ >>> >>> **** IMPORTANT PLEASE READ **** >>> This group is for the discussion between users only. >>> This is *NOT* technical support channel. >>> >>> TO GET TECHNICAL SUPPORT send an e-mail directly to >>> SUPPORT {at} amibroker.com >>> >>> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at >>> http://www.amibroker.com/feedback/ >>> (submissions sent via other channels won't be considered) >>> >>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: >>> http://www.amibroker.com/devlog/ >>> >>> Yahoo! Groups Links >>> >>> >>> >>> >>> >>> >> > > > > ------------------------------------ > > **** IMPORTANT PLEASE READ **** > This group is for the discussion between users only. > This is *NOT* technical support channel. > > TO GET TECHNICAL SUPPORT send an e-mail directly to > SUPPORT {at} amibroker.com > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > http://www.amibroker.com/feedback/ > (submissions sent via other channels won't be considered) > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > http://www.amibroker.com/devlog/ > > Yahoo! Groups Links > > > > >
