Next big release (AmiBroker 7.x) wish list

Tomasz, thank you for your work. My wishes number 1.

  1. Sector, Industry.

    • The maximum number of Industry is 256. This is not enough. I download Sector and Industry from www.zacks.com. They have approximately 254 industries. If you add ETF classification (for example, Investment Category), then it is missing. I suggest setting the number of Sector and Industry in Preferences or fixed at 1024.
    • The Industry field is short. Some of the names from Zacks do not fit and are cut off. For ex-ample, ticket AAON. Industry title "Building Products - Air Conditioner and Heating".
    • In AmiBroker, the name Industry can belong to only one Sector. In the Nasdaq classification (https://www.nasdaq.com/market-activity/stocks/screener), different Sectors can have the same name Industry. These are different Industries, although they have the same names. Example: AACG, Real Estate, Other Consumer Services and ABLV, Consumer Discretionary, Other Consumer Services. The name "Other Consumer Services" is the same. Such a classification cannot be uploaded correctly to AmiBroker. I propose to make a Sector-Industry link. First, Sector is selected in Information, then Industry. Functionality Already available
    • I use the Sector, Industry classifications from Zacks and Yahoo. It is different. I propose to add a second option Sector, Industry – Sector2, Industry2. In Preferences add on/off it.
  2. GICS, ICB. I don't use the classifications. They get in the way before my eyes. I suggest making it possible to disable them in Preferences.

  3. Groups. One ticker can only belong to one group. I often need to indicate that one ticker belongs to several groups. I use Watchlist for other purposes. I propose that one ticker could be included in several groups. Or make Group2 for this (you can come up with another name). Groups are meant to be mutually exclusive.

  4. “Colored flag”.
    4.1. Add a “Colored Flag” column to the Symbols window. Make the column first. This is an additional classification to Watchlist.
    4.2. In the Symbols window, make a Flags folder according to the colors of the flags (where All, Markets, Groups, ...).
    4.3. Make 7-10 colors. In Preferences, select the color.
    4.4. Make it possible to work with flags through AFL. Create the functions SymbolFlagSet(), SymbolFlagGet(), SymbolFlagDel().

  5. Symbol information.
    5.1. Add user groups and fields. Configure in Preferences. Make it possible to add new fields to existing groups.
    5.2. Data read and write via AFL functions.
    5.3. Financials. Add a Date field. Date is the date the data was downloaded. Add it via AmiQuote. Otherwise, it’s not clear when the data was downloaded?

  6. Neural Network indicators.
    6.1. Wealth-Lab made “Neural Network indicators in Wealth-Lab using drag and drop”. Please think about a similar solution for AmiBroker.
    6.2. NeuroLab Build 11 - WealthLab

  7. Dynamic symbols
    7.1. Make dynamic symbols – arithmetic operations between tickers (/, *, -, +) and 1/Ticker. For example, QQQ/SPY. The user sets FullName himself. Nowadays I make such symbols through composites. This is easily doable without composites now, see AmiBroker Knowledge Base » How to chart spreads?

  8. Windows Symbols, Layouts, Layers, Charts, ... - are on the left. In Preferences, make a selection so that you can move them to the right. It is more comfortable. When I'm scrolling through a lot of tickers and looking at the price chart for the last day, I look from right to left to see the ticker name. If the windows are on the right, then there is less eye movement. Now I graphically print the ticker name on the right, but this is not always convenient. Interface is FULLY customizable already User-interface customization

  9. Windows Parameters.
    9.1. Add a Refresh (Reload) button – reload the data. For example, I select a value in the first ParamList(). Depending on the choice made in the second ParamList() there are different options for choosing values. Already available: existing "Reset All" button does this.
    9.2. Make the option to dock the Parameters window on the left, where the Symbols, Layouts, Layers, Charts, ... windows are located. This way it will interfere less. I change the parameters and watch how the indicator changes.

  10. Explore. Excel has a function to freeze the first columns on the left. I fix the columns. Then I scroll through other columns, while the fixed columns remain in place. Also done in Explore via AFL. I fix the Symbol, FullName, ... columns and they are in place. Now there is an inconvenience. If there are many columns, then when scrolling through them it is not clear what Ticker is?

  11. Explore. If two different AFL scripts are running in Explore, but they have the same names in Param(), ParamList(), ..., then changes in the Parameters window in one script lead to changes in the other. Make script execution isolation in Explore. Isolate the parameters of the same script running in different tabs so that they can be executed in parallel with different parameters.

  12. Interface settings. Custom interface settings are saved in the registry and in the file Broker.exe-CommandBars51. For convenience, make the following commands in the Menu: “Export settings to a file” and “Import settings from a file”. Export all user settings.

  13. Optional parameters in user-defined functions, as is done in the built-in AFL functions. Example, function MyFun(a, b, c = 3, d = 4). Make it so that the function can be called as MyFun(a, b).

  14. Dark mode. Make the Symbols, Charts, Notepad, Log window, ... Ideally make the entire interface dark: AmiBroker, AmiQuote, AFL Formula Editor, Help. Already available - Dark mode for all listviews can be turned on via Tools->Customize-> "Appearance" tab.

  15. Python plugin.
    15.1. I did testing. Similar code in JavaScript runs faster than in Python. If possible, speed up work with Python. Python has a lot of ready-made functions, so its quick integration is very important.
    15.2. The errors produced by the Python plugin are not always clear.
    Already available - AmiPy plug-in - Python integration

  16. Add buttons for time frames 1, 5, 15, 30 minutes, 4 hours. Already available - you can have YOUR buttons for ANY interval!

  17. Inserting graphic lines, shapes and text onto a chart.
    17.1. By default, everything is inserted into zOrder = 0. In Preferences, make the selection zOrder by default. Too many options. zOrder = 0 as default is good as any other number.
    17.2. Add a “Hide all graphic shapes” button. With one click of a button, you can temporarily hide all lines and shapes.
    17.3. Add buttons “Hide layer zOrder 1”, “Hide layer zOrder 2”, ... With one click we temporarily hide all the shapes on the selected layer zOrder.
    17.4. “Hide all graphic shapes” “Hide layer zOrder 1”, “Hide layer zOrder 2” can also be implemented via AFL.

  18. Add the “Elliott Waves” menu
    18.1. The waves are numbered automatically. Select the wave level to allow nested waves to be drawn. Each wave level has its own numbering style.
    18.2. Through AFL, receive all the information on each wave: level, number, length, duration.

  19. Backtest. The error “Error 704. In Rotational trading you MUST NOT use buy/sell/short/cover signals” gets in the way. Example. I wrote a script in which I select the backtest mode through ParamList(). If I chose symbol rotation, then in the AFL script buy/sell/short/cover are hidden under if() and are not executed. But AFL Editor writes an error. I suggest either checking that buy/sell/short/cover are hidden under if(), or reporting a warning instead of an error.

  20. AmiQuote. User-definable data source. Add creation of a URL request via AFL, and processing of the received response via AFL. For example, the settings indicate the path and name of the AFL file, which contains the name of the function that needs to be called. I know AFL better than JavaScript, I can do more with it, they can work with Python from it. Already available

4 Likes