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

[amibroker] Re: Add column to back-tester results grid



PureBytes Links

Trading Reference Links



Hi,
Welcome to the group.
AddColumn is used for explorations, not backtests. To get what you are asking for, in a backtest, you would need write custom backtester code to add your own custom metric. Custom metrics in general are described here: http://www.amibroker.com/guide/a_custommetrics.html However, that does not cover your special case in that you will need to use SetForeign/RestorePriceArrays to make your calculation: http://www.amibroker.com/guide/afl/afl_view.php?id=54 Have a look at the following and see if it is what you are after. The custom backtester stuff is explained here:

http://www.amibroker.org/userkb/2008/03/16/amibroker-custom-backtester-interface-2/

I've additionally added support for printing out the ATR during an exploration. Run your backtest to get some data. Then run an exploration for the same date range and cross check the ATR values. There will be some rounding errors. But, otherwise should match up.

I have not tested the code extensively, so do your own due diligence.

Mike


SetTradeDelays(0, 0, 0, 0); SetPositionSize(2, spsPercentOfEquity);
weekDays =
DayOfWeek();
Buy = weekDays == 1; BuyPrice = Open;
Sell = weekDays == 5; SellPrice = Close;
SetCustomBacktestProc("");
if (Status("action") == actionPortfolio) {    bo = GetBacktesterObject();    bo.Backtest(true);
   dates =
DateTime();    indices = BarIndex();
   
for (trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade()) {       SetForeign(trade.Symbol);       entryBar = LastValue(ValueWhen(trade.EntryDateTime == dates, indices));       foreignATR = ATR(14);       trade.AddCustomMetric("Entry ATR", foreignATR[entryBar]);       RestorePriceArrays();    }
   bo.ListTrades(); }
Filter = Buy; AddColumn(ATR(14), "Entry ATR");
--- In amibroker@xxxxxxxxxxxxxxx, "Jez" <jez@xxx> wrote:
>
> Hi guys,
> Jut downloaded Amibroker at the weeekend - I started reading all the user guide, AFL library, etc. (much better than my other software - tradersStudio..).
>
> I am stuck with one thing though: I want to be able to backtest a system and record the value of the ATR at the start of the trade for each of the trades. I tried to imitate on the AFL Example - Enhanced from the library and did something like:
>
> } else if (AASettings == 5) {
> // [Backtest] //
> SetTradeDelays(1, 1, 1, 1);
> AddColumn(ATR, "ATR", 1.3);
> }
>
>
> but that did not work. Any pointers on how I could get that done please.
>
> The reason for this is that I want to calculate the e-ratio for a trade entry signal.
>
> Thanks
> -Jez
>


__._,_.___


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





Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___