Coming up in AmiBroker 7.20: New mode in the Analysis window: Radar

Dear @Tomasz,

I hope you are doing well.

I would like to kindly request a possible enhancement to the Explore feature in AmiBroker.

At present, when Explore is executed repeatedly, the results window briefly clears and shows a blank screen before displaying the updated output. While this is understandable from a refresh perspective, it can sometimes make continuous monitoring slightly difficult due to the flickering effect.

If possible, I would respectfully suggest an improvement where:

  • The existing Explore results remain visible, and
  • Only the updated values or new rows are refreshed dynamically,
  • Instead of clearing and redrawing the entire results window.

This would allow Explore to function more like a real-time scanner and would greatly enhance usability during live market tracking.

I truly appreciate the continuous development and improvements being made to the platform. Thank you very much for your time and consideration.

Warm regards,
akaggarwal

Yes, I was thinking along these lines already. The devil is in the details. One solution would be kind of "double buffering", so the output is swapped immediately once explore is complete (this will eliminate most of the flicker).
The other solution would be somehow running only selected symbols (that changed in the meantime) but this is very tricky because of many details such as user sorting, and the fact that you don't really know if output changes or not (because formula may depend not only on current symbol, but also on other symbol data (Foreign) and static variables, that might change), so detecting "change" is very very tricky.

1 Like

Dear @Tomasz,

Thank you very much for taking the time to explain the technical considerations — it is always appreciated.

The double-buffering approach sounds like a very balanced and practical solution. Even simply swapping the completed result set instead of clearing the window first would likely eliminate most of the flicker and make Explore feel much smoother during repeated runs.

I completely understand how complex selective symbol refreshing would be, especially with Foreign(), static variables, and sorting dependencies involved. That indeed seems very challenging to implement safely.

That’s why the buffered swap approach feels like a meaningful usability enhancement without altering the core evaluation logic. Many users who rely on Explore for rapid, repeated scans during live markets would likely benefit from this improvement.

If it is technically feasible, I believe this enhancement would be a very welcome refinement for the community.

Thank you again for continuously improving AmiBroker and for being open to suggestions.

Warm regards,
akaggarwal

AmiBroker 7.20 will bring new operation mode into Analysis window:

RADAR is a continuously running Exploration mode designed for real-time market monitoring. Unlike traditional Exploration, it uses double buffering , which means:

  • Result list is refreshed in-place
  • Results don't reset on every refresh
  • Current scroll position and row selection are preserved

This makes it possible to monitor changing market conditions continuously without losing your place.

At the same time, you retain the full flexibility of Exploration. Display completely customizable columns , create your own formulas, and use dynamic sorting that automatically respects the column currently selected by the user (and it can be changed on the fly). As data updates, the list is re-ranked while maintaining your chosen sort order, making it easy to keep an eye on the strongest movers, highest volume stocks, top-ranked signals, or any custom metric.

Think of it as the convenience of a real-time watchlist combined with the full power and flexibility of AmiBroker Exploration.

Stay tuned—more details and demonstrations of RADAR mode will be coming soon!

15 Likes

Radar is available in:

Using it is very simple:

Just use ANY EXPLORATION code (Filter + AddColumn() calls) and press "RADAR".

It will run continuously and update the display without any flicker.

4 Likes

Hi Tomasz,
Thanks for this feature upgrade. It is quite useful.

It is early days, but for some reason:

In Radar mode, SetSortColumns() and/or AddSummaryRows() seems to be causing the selected row to jump around or incrementally move down the rows.

It is after hours while I am testing, no new data arrives.

I could mail APX/AFL if required.

Thank you.

Well, SetSortColumns perform sorting after scan is made. But in Radar mode, to avoid flickering of display and jumping (scrolling) the selection and scroll position is KEPT UNCHANGED (with regards to "item ID"). The tricky part is that even if selection is UNCHANGED with regards to ordinal number of item in the list, it might NOT represent the same line IF, rows after sort change their position. That is so because physical LISTVIEW (UI) row number is constant, but underlying data rows may change AFTER sorting. The sort used is "quicksort" that is unstable sort (meaning that ordering may change for rows with same data values).

Therefore if you are sorting on columns that have DUPLICATE DATA on many rows you should use MULTIPLE column sort that involves the data you want to sort PLUS symbol name (TICKER) and date/time, to make rows UNIQUE and make sort stable.

1 Like

there are some minor quirks, I am sure they will be get sorted.

With your advice, I had single column in SetSortColumns(), adding symbol col as 2nd argument makes it unique combination ( in my case) and the jumping is sorted.
Now it looks much better!

Just some constructive feedback, not criticism :slight_smile:

a) If no row is selected, it looks normal, but if 1 row is selected, every RADAR run the selected row is incremented by one.
If selected row is in visible part of ui, we can see it change, else it appears normal.

b) In Radar mode, would there be an option or to suppress the progress bar altogether? it is quite flashy as the completed time etc disappears in a fraction of a second.
Customize -> progress bar, i tried but cannot be unchecked.

Thanks.

Can you record a video on progress bar? I am asking because in radar mode progress bar does not flash.on my end, it is kept in place. ( It is specifically handled differently than in any other mode)

1 Like

I've sent it as email, thanks.

I can see now. You have customized layout hence the flashing. You have to MOVE DOWN the progress bar toolbar to the SEPARATE LINE (at the bottom)

1 Like

moved it while it is running, to a new line otherwise can not catch hold of it.
but if we could suppress the text following it.
for some reason, it seems to catch the eyes. You are wise enough to choose the best outcome. Thanks.

It jumps around because you don't have enough vertical space to display text, so it must find a new place in a new line.
You just have to move it in separate line OR make window larger (increase WIDTH).
You can also float this bar by moving it elsewhere, (outside the window area), or to the bottom of the window (to the status bar area).

Future version (v 7.21) will forcefully place it in separate line. No other option. And no, text is crucial. For long running radars to know what is happening.

2 Likes

@Tomasz I am testing the below formula, in 7.20x64,
It is a normal AA window, that i set to Explore and Auto-repeat 15sec
( not RADAR, normal Explore with auto-repeat )

When the auto-repeat run happen, the sorting is lost and changes to the first symbol column on all the runs.

Testing with version 6.49, it is expected behaviour.

_SECTION_BEGIN("Test AA Explore ");

txt = "";	bcol = ColorRGB(20, 20, 20);	fcol = ColorRGB(217, 217, 217);

PC = TimeFrameGetPrice("C", inDaily, -1);
R1 = (C - PC)/PC * 100;
H1 = TimeFrameGetPrice("H", inDaily, 0 );
L1 = TimeFrameGetPrice("L", inDaily, 0 );

absR1 = abs( R1 );

Filter = 1;

//SetOption( "NoDefaultColumns", True);
//AddTextColumn( Name(), "S ", 1, fcol, bcol, 110 );
AddColumn( R1, "Chg", 1.2, fcol, bcol);
AddColumn( L1, "T L", 1.2, fcol, bcol);
AddColumn( H1, "T H", 1.2, fcol, bcol);

AddColumn( absR1, "Sort", 1.2, fcol, bcol);

SetSortColumns( -6, 1 ); //DESC

AddSummaryRows( 16, 1.0, 4, 5 );

_SECTION_END();

APX Download Test_AA_Explore.apx | LimeWire

in 7.20
image

older 6.X
image

so, even 7.00.1 is ok, seems to be only with this recent beta 7.20

Great but please do use support@amibroker.com

This is announcement only category.

This is annoucement, not support channel