[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: How to limit daily transactions



PureBytes Links

Trading Reference Links

Hi,

Read "AmiBroker Custom Backtester Interface.pdf" found in the Files section of this group.

Normal AFL code does not know whether a trade was ever taken or not. The best that you can do is generate *signals*. Only the backtester knows whether those signals were ever acted on (based on such factors as account funds, max positions, etc.).

Any time your strategy depends on knowing if a specific position has been taken, then you must use custom backtesting code.

Your normal AFL code should just generically issue signals and assign a PositionScore to those signals. The backtester will then process the signals ordered by PositionScore (highest first).

Buy = CondBuy;
Short = CondShort;
...
PositionScore = ...;

So, in custom backtesting code, you simply cancel all signals after the first one (i.e. set PosSize property to 0 or Price to -1). If you need to take orders in a specific sequence (e.g. toggle between buy/short), then you can examine the trades list and/or open position list.

Mike

--- In amibroker@xxxxxxxxxxxxxxx, "raskoks" <raskoks@xxx> wrote:
>
> I 've got code like below. But i don't know how to limit sum of short, buy transaction to 1. At whis moment i can do it seperatly to short and seperetly to buy. But i need to do it for sum of them - both them together and morover i need them interchangebly ( next possible transaction after buy have to be sell/short). 
> Thanks for any help :)
> 
> tradesperday=1;
> dn = DateNum();
> newDay=Ref(dn,-1)!= dn;
> bsnd=BarsSince(newDay);
> CondBuy=..;
> CondShort=..;
> 
> LongSignalSum=IIf(newDay,CondBuy,Sum(CondBuy,bsnd));
> ShortSignalSum=IIf(newDay,CondShort,Sum(CondShort,bsnd));
> 
> Buy= LongSignalSum<=tradesperday AND CondBuy  ;
> Sell=ShortSignalSum<=tradesperday AND CondShort ;
> 
> Buy = ExRem(Buy, Sell);
> Sell = ExRem(Sell, Buy);
> Short=Sell;
> Cover=Buy;
> 
> --
> Best regards
> raskoks
>




------------------------------------

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

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/