Hello,

I agree and I have added this to internal to-do.

Best regards,
Tomasz Janeczko
amibroker.com

On 2010-07-27 16:42, rise_t575 wrote:
>
> Hello,
>
> Of course I have to use PositionScore in the end - but it has been my 
> experience so far that it often is necessary (or at least extremely helpful) 
> to understand what AB is doing internally in order to make things work as 
> intended. Hence my question.
>
> Sorry if this has been posted in the past already - but I can only go so far 
> when searching the Yahoo group as there are no dedicated categories as with 
> conventional forum software. If one isn't lucky enough to search for the 
> exactly correct keywords, it sometimes resembles looking for the proverbial 
> needle in a haystack.
>
> I certainly understand that it must be frustrating to answer the same 
> questions again and again - and of course I do thank you for explaining this 
> another time - but with all due respect, such things should be put somewhere 
> where they are not too difficult to find, i. e. in AB's user manual, in which 
> I haven't found how exactly AB is processing this (i. e. what happens when 
> PositionScore is missing).
>
> So thanks again for your patience&  explanation.
>
> --- In amibroker@yahoogroups.com, Tomasz Janeczko<gro...@...>  wrote:
>>    Hello,
>>
>> It was explained a couple of times already in the past.
>>
>> As written in the manual, you should use
>> PositionScore to define desired ordering/ranking.
>>
>> When PositionScore is missing / not defined, AmiBroker will prefer
>> LARGER POSITION SIZE first
>>
>> When position score is missing and pos sizes are equal (or missing)
>> then it will use alphabetical order
>>
>> When position score is missing and pos sizes are equal and symbol is also
>> equal (i.e. there are both long and short signals on same symbol at same 
>> time)
>> it will prefer long entry.
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>>
>> On 2010-07-27 15:19, rise_t575 wrote:
>>> Bump.
>>>
>>> --- In amibroker@yahoogroups.com, "rise_t575"<rise_t@>   wrote:
>>>>
>>>> Tomasz,
>>>>
>>>> Let me say this another way:
>>>>
>>>> I haven't ranked the stocks at all in both codes (yet).
>>>>
>>>> But still, using SetPositionSize results in entry signals in Z to A order, 
>>>> while the CBT code results in signals in A to Z order (as expected when 
>>>> using GetFirstSignal, GetNextSignal).
>>>>
>>>> Why do I get the signals in Z to A order with SetPositionSize?
>>>>
>>>> Thanks.
>>>>
>>>> --- In amibroker@yahoogroups.com, Tomasz Janeczko<groups@>   wrote:
>>>>>     Hello,
>>>>>
>>>>> You have mistake in your code/thinking. Ranking/sorting occurs in FIRST 
>>>>> phase of backtest.
>>>>>
>>>>> Assigning different scores after ranking/sorting is done (in second phase 
>>>>> / cbt) does not change the ordering,
>>>>> that's why in case b) you have alphabetical ordering.
>>>>>
>>>>> If you want to change the order of trades in CBT you need to do it 
>>>>> yourself (EnterTrade/ExitTrade/ScaleTrade)
>>>>>
>>>>> Best regards,
>>>>> Tomasz Janeczko
>>>>> amibroker.com
>>>>>
>>>>> On 2010-07-20 23:10, rise_t575 wrote:
>>>>>> Another question regarding taking signals / the signal score:
>>>>>>
>>>>>> As an exercise, I've coded two 100% identical position sizing 
>>>>>> algorithms, a) in normal AFL (SetPositionSize) and b) with mid-level CBT.
>>>>>> After fixing all the obvious bugs in my CBT code, I've noticed that the 
>>>>>> results still differ.
>>>>>>
>>>>>> A couple of frustrating hours of later, going through the trades 
>>>>>> manually, I've noticed that (a = SetPositionSize) and (b = CBT code) are 
>>>>>> sometimes trading different signals.
>>>>>>
>>>>>> In the AA's Results list for the same bar, I'm getting the following 
>>>>>> Entry Signals for (a) and (b):
>>>>>>
>>>>>> (a) Entry signals(score):SANM=Buy(1), CIEN=Buy(1), AMCC=Buy(1)
>>>>>> (b) Entry signals(score):AMCC=Buy(1), CIEN=Buy(1), SANM=Buy(1)
>>>>>>
>>>>>> While the signals are the same, the order is reversed. Which comes into 
>>>>>> play when the signal score is the same while there are insufficient 
>>>>>> funds.
>>>>>>
>>>>>> If there's only cash available for one more trade,
>>>>>>
>>>>>> (a) will enter a position in SANM,
>>>>>> (b) will enter a position in AMCC,
>>>>>>
>>>>>> and this is where the difference in the end results for the backtests 
>>>>>> comes from.
>>>>>>
>>>>>> Is working SetPositionSize backwards through the signals?
>>>>>>
>>>>>> Thanks in advance for clarification.
>>>>>>
>>>>>>
>>>>>> --- In amibroker@yahoogroups.com, Tomasz Janeczko<groups@>    wrote:
>>>>>>>      Hello,
>>>>>>>
>>>>>>> You can either
>>>>>>> a) turn ON "Allow position shrinking" - that will allow to open highest 
>>>>>>> ranked position albeit with adjusted size to fit available funds
>>>>>>> b) use custom backtest to detect such circumstance and assign -1 to 
>>>>>>> price.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Tomasz Janeczko
>>>>>>> amibroker.com
>>>>>>>
>>>>>>> On 2010-07-20 18:24, Tavan Taban wrote:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> Thank you Tomasz, for your clear and wise comments.
>>>>>>>>
>>>>>>>> By the way, I remember more about the problem I experienced earlier. A 
>>>>>>>> fictive description of the problem is as follows.
>>>>>>>>
>>>>>>>> Initial equity: 10000 (default)
>>>>>>>> Position Size: 5%
>>>>>>>> Highest ranked stock's price: 600
>>>>>>>> Assume 40 more signals.
>>>>>>>>
>>>>>>>> Result:
>>>>>>>> Backtester rejects the highest ranked signal indicating insufficient 
>>>>>>>> funds and takes no trades.
>>>>>>>> The problem continues as this signal continues in raw mode backtest.
>>>>>>>>
>>>>>>>> At that time, I passed off the subject by simply increasing the 
>>>>>>>> initial equity.
>>>>>>>> Walking towards perfection, perhaps you may consider handling 
>>>>>>>> different "insufficient funds" differently.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> IK
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2010/7/20 Tomasz Janeczko<groups@<mailto:groups@>>
>>>>>>>>
>>>>>>>>        Hello,
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>        "While I have no idea what exactly does happen when I set 
>>>>>>>> sig.Price to -1 and why this works "
>>>>>>>>
>>>>>>>>        It works because I coded it so. The internal code uses -1 as 
>>>>>>>> special marker to skip a signal.
>>>>>>>>
>>>>>>>>
>>>>>>>>        Best regards,
>>>>>>>>        Tomasz Janeczko
>>>>>>>>        amibroker.com<http://amibroker.com>
>>>>>>>>
>>>>>>>>        On 2010-07-20 17:36, rise_t575 wrote:
>>>>>>>>        >
>>>>>>>>        >
>>>>>>>>        >
>>>>>>>>        >
>>>>>>>>        >    Tomasz,
>>>>>>>>        >
>>>>>>>>        >    While I have no idea what exactly does happen when I set 
>>>>>>>> sig.Price to -1 and why this works, I can happily report that it 
>>>>>>>> *does* work - so thanks for
>>>>>>>>        the help!
>>>>>>>>        >
>>>>>>>>        >    --- In 
>>>>>>>> amibroker@yahoogroups.com<mailto:amibroker%40yahoogroups.com>, Tomasz 
>>>>>>>> Janeczko<groups@>    wrote:
>>>>>>>>        >>    Hello,
>>>>>>>>        >>
>>>>>>>>        >>    It is simple. By default AmiBroker opens positions in 
>>>>>>>> RANKED order (more preferred trades first).
>>>>>>>>        >>    If at some point of going through the ranking it finds 
>>>>>>>> the trade that it can not open (for example
>>>>>>>>        >>    due to insufficient funds) it will NOT open LOWER ranked 
>>>>>>>> trades because it is undesirable to have
>>>>>>>>        >>    better candidates replaced by worse candidates when you 
>>>>>>>> run out of funds.
>>>>>>>>        >>    When requested position size is non-zero and position 
>>>>>>>> size shrinking is ON AmiBroker will attempt
>>>>>>>>        >>    to adjust pos size to lower value within user-defined 
>>>>>>>> constraints ("MinShares", Round lot size).
>>>>>>>>        >>    It will go down as far as constraints allow, but if it 
>>>>>>>> reaches the barrier or zero it will reject the trade
>>>>>>>>        >>    and all lower-ranked signals.
>>>>>>>>        >>    Setting signal's pos size to zero in the beginning 
>>>>>>>> effectively means the same condition.
>>>>>>>>        >>
>>>>>>>>        >>    You should NOT set position size to zero if you want to 
>>>>>>>> reject single trade BUT continue to handle lower-ranked signals.
>>>>>>>>        >>
>>>>>>>>        >>    If you want to SKIP one signal, without affecting others, 
>>>>>>>> you should set Price property of that signal to -1 (minus one).
>>>>>>>>        >>
>>>>>>>>        >>    Best regards,
>>>>>>>>        >>    Tomasz Janeczko
>>>>>>>>        >>    amibroker.com<http://amibroker.com>
>>>>>>>>        >>
>>>>>>>>        >>    On 2010-07-20 12:42, rise_t575 wrote:
>>>>>>>>        >>>    Thanks a lot - I will try your solution.
>>>>>>>>        >>>    Do you have an idea *why* this is happening?
>>>>>>>>        >>>
>>>>>>>>        >>>    --- In 
>>>>>>>> amibroker@yahoogroups.com<mailto:amibroker%40yahoogroups.com>, Tavan 
>>>>>>>> Taban<tavantaban@>    wrote:
>>>>>>>>        >>>>    I remember experiencing the same problem earlier. As 
>>>>>>>> far as I remember, it
>>>>>>>>        >>>>    is something like, if it cancels one, cancels also the 
>>>>>>>> rest which are not
>>>>>>>>        >>>>    coded to be rejected. I can dig more if it helps.
>>>>>>>>        >>>>
>>>>>>>>        >>>>    Anyway, one solution alternative may be the following.
>>>>>>>>        >>>>
>>>>>>>>        >>>>    for( sig = bo.GetFirstSignal( bar ); sig; sig = 
>>>>>>>> bo.GetNextSignal( bar ) )
>>>>>>>>        >>>>    {
>>>>>>>>        >>>>    if (IDontLikeThisSignal) sig.Type = 7;
>>>>>>>>        >>>>    } // end if exit
>>>>>>>>        >>>>
>>>>>>>>        >>>>
>>>>>>>>        >>>>    2010/7/17 rise_t575<rise_t@>
>>>>>>>>        >>>>
>>>>>>>>        >>>>>    Hello,
>>>>>>>>        >>>>>
>>>>>>>>        >>>>>    I've noticed using mid-level CBT that when I set the 
>>>>>>>> position size to zero
>>>>>>>>        >>>>>    for the signal in question (the reason for setting it 
>>>>>>>> to zero is slightly
>>>>>>>>        >>>>>    complicated&    not that important here - some data 
>>>>>>>> needed for a subsequent
>>>>>>>>        >>>>>    calculation is {empty}), the trade is marked as 
>>>>>>>> "rejected" in AA's results
>>>>>>>>        >>>>>    list (which is perfectly ok).
>>>>>>>>        >>>>>    What is not "perfectly ok" is the fact that the 
>>>>>>>> backtester rejects the
>>>>>>>>        >>>>>    following signals at the same bar as well (there's 
>>>>>>>> enough cash available and
>>>>>>>>        >>>>>    position size is>    0).
>>>>>>>>        >>>>>
>>>>>>>>        >>>>>    How can I prevent this?
>>>>>>>>        >>>>>
>>>>>>>>        >>>>>
>>>>>>>>        >>>>>
>>>>>>>>        >>>
>>>>>>>>        >>>
>>>>>>>>        >>>    ------------------------------------
>>>>>>>>        >>>
>>>>>>>>        >>>    **** 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<http://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<http://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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> **** 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