Amazing effort! I'm wondering if anyone's tried this with Databento?
It can be done but those members who joined for testing need come to forward.
I am not aware of their brokers/vendors.
Hi Friends,
Almost 3 weeks from last feature update, releasing a new feature:
Fully user customizable AFL Extra-Data support.
While you may have different FieldNames for different symbols, this approach is completely Dynamic and allows the user to store custom data per ticker.
It gives you the most optimal memory footprint.
It also supports all 3 data types including Array.
AFL Function Reference - GETEXTRADATA
Docs:
Suggestions for improvement are welcome.
AFL Function Reference - GETEXTRADATAFOREIGN
In a scenario where Derivative Tickers like Futures/Options contracts exist as separate symbols, one can similarly use the foreign function calls to access non-current extra data as well for json-ed format if stored for SPOT or main symbol.
It can avoid duplication as well.
I have now nearly finished get the last touches to my setup. One thing i noticed is that in the real time quote window, the "LAST" column doesnt change colour between red and green as it does with other plugin sources. I can't see any other problems. What would be causing this?
Thanks
@chrisnoy this one?

Yes, that's the one, i swear it used to work but not now, what does it depend on?
Last always worked, because
RecentInfo->fLast = json->FindMember("c");
there used to be "ch" but it was removed.
only "pc" ie. previos-close is required to calculate change and % change which the plugin does.
Last colouring is done by AB.
Yes, I believe my problem went away when i restarted the vendor feed code. Likely to be a temporary loss of prev close due to timing issue. Thanks for your help once again.
Update: WS_RTD Feed Refinements — Stable Intraday Backfill, Volume Accuracy & DoS-Free Streaming
Hi all,
A quick update on the WS_RTD bridge progress — the system is now fully stable and production-ready for Euronext trading (via IBKR).
Here’s what has been finalised since the last post.
1. Backfill (bffull / bfauto)
bffullnow loads a clean 30-day window of native 1-minute bars using
GetIntradayChart(symNo, 1, startDate, endDate)— no aggregation, true vendor bars with correct OHLCV data.bfautohas been refined:- Requests without parameters are now ignored for symbols already covered by a recent
bffull(<10 K bars). - For incremental loads, the bridge issues a
bfautoaligned to the last bar time from the previousbffull, allowing seamless continuation of history.
- Requests without parameters are now ignored for symbols already covered by a recent
This solved the 10 K-bar limit issue and removed redundant data requests.
2. Unified time handling
All timestamps are now processed in Europe/Paris time.
This fixed earlier off-by-one and alignment issues between HIST and RTQ bars and ensured consistent timing across all symbols.
3. Volume and trade ticks
Per-tick vol is injected from TPRMarketDepthMessage (QuoteType == Brief) using LastTradeVolume.
The bridge accumulates these into minute-level v values, giving accurate and matching volume across live and historical data.
4. DoS / RETRIEVE storm resolved
DoS triggers and repeated RETRIEVE events were eliminated by introducing feed-side aggregation and a 0.9-second snapshot strategy.
The feed now emits steady, consolidated symbol snapshots roughly once per second — smoothing tick cadence and keeping the plugin stable without any protocol changes.
5. General stability & “Last” column
- Stable multi-day operation confirmed with 170+ symbols.
- Seamless transition from backfill → RTQ.
- AmiBroker’s “Last” colouring now works reliably (after timing alignment).
AmiBroker handles all colouring internally fromfLastvsfPrevClose.
Summary
We now have:
- Clean, time-aligned
bffull/bfautologic - Paris-time synchronisation throughout
- Accurate per-tick volume
- DoS-free operation via 0.9 s snapshots
- Confirmed stable performance across Euronext (IBKR broker)
Thanks again to @NSM51 for the WS_RTD plugin framework and everyone who contributed during testing.
I have updated the Github page with latest code and progress.
AB being AB, always super fast and smooth, I don't even restart it for weeks/months with this plugin.
The only time I have to is after windows/driver updates etc.
One issue was losing plugin state so v3.04.20 introduces plugin-DB state persistence.
Now, plugin state is restored between AB restarts and DB switching.
@chrisnoy / @SpandexMan let me know if this is helpful or any suggestions.
It comes with one drawback, bfauto is not resent because existing data is present for a ticker.
So during market hours, one has to remember to backfill.
After market, it is not a problem.
I’ll be honest. My focus has been elsewhere for several months and I’ve not developed further on the RTD client.
It is on my radar but I have some other things I’m prioritizing (as, I have moved away from intraday trading for now in any case)
What I’ve been building is a solution which;
-Builds watchlists from Norgate data
- Parses the symbols and looks up the IBKR Conid for the same, storing them in memory for fast lookup later
- Uses CCXT for crypto data.
The idea is that we can use the plugin and have Crypto and Tradfi all in 1 seamless database.
I completed the ccxt client some time back but will reimplement with the new changes when I come to unify the tradfi work.
The Tradfi Norgate/IBKR side of things has an implementation that I am building as part of a portfolio manager I am working on, but it is not as of yet unified for the RTD plugin.
Trading and development is a side hustle for me, … I work in quite an intense field and have all the busy day to day going on of having a family.
I’m uber impressed at what has been going on this far with the plugin.
@nsm51 Please can you share the link via DM to download the the WsRTD.dll plugin? Thank you for all the work.
How can I DM to @nsm51? I do not see any option to DM.
Direct Messaging is available once you gain some forum trust to avoid spam. See: Understanding Discourse Trust Levels
Hello @nsm51, I just came across your great data plugin. I looks wonderful to get real time data into Amibroker. I looked at the details in the Repository, however I am not getting how to get the WsRTD.dll so that I can write the additional Client Wrapper code etc. Can you please suggest how can I get the WsRTD.dll?
Hello,
It is currently in testing, a closed group.
I will share you details in DM to help testing.
Hello @nsm51,
Thank you for your work on this project.
I’m interested in testing the WS_RTD plugin with Amibroker (Windows x64, v6.93).
Could you please let me know how to join the testing group or get access to the current build?
Any guidance would be appreciated. Thanks!
Dear @nsm51, I would be instrested in tetsng the WS_RTD plugin. Can I be added to the testing group? Thanks for your work on this topic.
can i try your plug-in @nsm51? cant find it on github