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

Reply via email to