Next big release (AmiBroker 7) wish list

I know Amibroker is not a data-vendor. However, Norgate doesn't support European stocks, and who knows if the company exists in 1 year?

So I manage data at home, and since all indicators, systems etc in Amibroker are "made for" adjusted data, that's how my databases are stored. This leads to many problems, for example that its risky to blend data from different periods or vendors.

Amibroker already has the fields necessary to manage data in a RAW form; you could store trade data in OHLCV, and store dividends, splits and unknown adjustments in Opentint, Aux1, Aux2.

But then Amibroker doesn't have a inbuilt user friendly way of toggling between RAW and adjusted data for charts, systems etc. So I suppose one have to program a script oneself that generates new symbols with adjusted data or exports to new csv-files for example. Or reprogram all indicators, scripts etc. This is not a task that normal people would be able to handle.

I guess most people use Amibroker with for example Yahoo. When you import stock prices from a AQH-file using default settings you cannot reliably make backtests (the data is not adjusted), and if you import using AdjClose you loose a lot of information, namely the ability to calculate splits/dividends and also what price the stock originally was trading for.

The change is NOT needed, as everything you say is achievable easily now.
You can use AUX1 to store raw close, then you can simply calculate RAW OHLC like this:

RawClose = Aux1; // assuming that Aux1 holds raw (unadjusted) close
RawRatio = Aux1/Close;
RawOpen = RawRatio * Open;
RawHigh = RawRatio * High;
RawLow = RawRatio * Low;
RawVolume = Volume / RawRatio;
3 Likes

1]Would it be possible for users to customize the Accounts Commission columns?

One account can have multiple brokers deal in multiple exchanges and instruments each having differing commissions.
While inputting trade details, it may be convenient to just pre-select the appropriate Commission Profile with appropriate User Defined Charges.

If yes, can the User Defined Charge be a percentage of another Charge?
Say User Defined Charge 1 = x % of Traded Value (or x amount per trade) and User Defined Charge 2 = y % of User Defined Charge 1.

2] I understand that as of now, trade details must be inputted in chronological order. I am sure there must be a reason for that. But, would it be possible to do away with this constraint in future versions? i.e. Allow for simple editing if user did not enter a trade or entered it inaccurately or the commission values are reflected inaccurately etc.

3] Would it be possible to download / upload trade details to / from excel sheet? Such a feature might be useful when multiple trades exist and the user wishes to analyze the trades in detail.

4] Can Statistics (in the Summary section) have more information (more sub sections) like CAGR any other performance metric or any user defined value?

Thank You.

8 posts were merged into an existing topic: Better way to get to information

Hi!

I would like that all the settings could be defined by AFL code and not in the settings window, for example one that brings headaches is in the rotational systems that does not accept the settings in AFL and they have to be set from the window.

For the trading price, such as the buy price, sell price, short price, and cover price. It also ignores the settrade delays.

Correct me if I'm wrong.

PD: I don't remember if there is any other setting of the rotational systems that cannot be specified in the code itself.

Thank you very much!

Hi,

Speaking of rotational systems I've remember another thing, but I think it also happens in any backtest that uses monthly timeframe (including regular backtest but with TF monthly) and uses the Open as the opening price is that the dates that come out for each operation is always the last day of the month, although the open price is taking the price of the 1st of the month.

Surely you have seen it sometime.

In backtest it comes out 30/09/2024 but if you have set one day of delay and buyprice open it is really 01/09/2024 (day 1 or the first working day).

It would be much clearer if the date of the day of trade could be displayed and not the last day of the month, when it is taking the price of the open at the beginning of the month.

Thank you very much!

For Analysis, you should use .APX (Analysis PROJECT FILE) instead of AFL. APX stores BOTH formula and the SETTINGS in one file.

Currently many system settings can be reconfigured or overwritten in afl code, but there are still some that cannot such as the "Apply To" symbol list, Range dates, Periodicity. Having everything under program control would make it easier to automate a top down approach using multiple strategies without manual intervention especially the list of symbols to be processed. Something like InculedCategory(Category, Name) and ExcludeCategory(Category, Name)

Would like to have the ability to link at least one chart's parameters with the analysis window parameters without having to resort to extra programming using static variables. It is very easy to overlook a parameter setting on one or the other when switching between them.

You can have multiple databases in Amibroker. Perhaps using one for adjusted data and another one for raw data would solve some of you problems.

Again, you should use / save Analysis project file (.APX file, use File->Save As... and File->Open) from Analysis window. APX file stores ALL SETTINGS AND FORMULA.
Formula by itself can't control everything because when formula starts running it is already TOO LATE (some settings must be known BEFORE formula starts execution). APX file is the ONLY solution.

Ok, can't control everything from code. But saving as a project file or .APX file does not allow automating the process of a top down approach - moving from say general market or asset class indexes to sectors to industries and finally to individual stocks. You have to manually take the results from an index project and then manually choose the next step and so on.

On my wish list is a way to automate the process. In particular this means changing the list of symbols from one project run to the next. Is the symbol selection something that must be set outside of code? Maybe there is a way to enhance batch files to accomplish this.

You can do this from the code. Use Apply To "ALL SYMBOLS", then from the code you can limit the symbols you use for example using

if( InWatchListName("MyWatchList") )
{
  // your code
}

Also APX file is just plain text file in XML format, and you can actually write it programmatically.

1 Like

It would be great to automatically switch the Grid/Format property of a chart pane according to the selected ticker. Currently, it's painfully necessary to manually switch it. This feature could require a new 'Format' field though (or whatever name, 'Quotation'...), in the Information/'Contract Specification' tab, and a new 'Auto' option in the Grid Format (as the existing 'Decimal' should stay the default option).

2 Likes