Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Make chart refresh rate faster than 250ms possible
Collapse
X
-
Originally posted by eDanny View Post
- Likes 2
-
Originally posted by hurleydood View Post
The lag isn't from indicators in fast markets. The lag is because NT8 seems to be processing each tick at 1ms or 1000 ticks per second. Today I setup 4 indicators to Calculate "on each tick" to test high volume at the close. On the /ES at 4PM NT8 charts lagged behind the DOM by 47 seconds. /NQ and /YM lagged but followed along closely to DOM as it caught up quickly. CPU/GPU usage were elevated but not unusual. Here's a video https://youtu.be/TdiMV7QVUFA In the video I've setup a high FPS chart along with the standard 4 FPS chart and DOM so you can see the lag isn't from indicators. It's amazing that NT8 actually still performs well under this stress test.
NINJATRADER SUPPORT, CAN WE HAVE SOME COMMENT ON THIS PLEASE. It is something that clearly, urgently needs fixing. If it is indeed an imposed time slice, then clearly this needs to change as the platform is _incapable_ of operating under market conditions such as today.
I'd like to add an observation that supports 'hurleydood' comments. During the lagging, there were periods where I expect the tick activity dropped, and the charts appeared to start updating much more actively again. I run range charts. This would be consistent with the X ticks per second being processed.Last edited by pjsmith; 12-05-2018, 03:48 AM.
- Likes 2
Comment
-
OK, so I've been doing a little reading and looking at OnRender. The documentation states
""For performance optimizations, the timing of the calls to OnRender() are buffered to at least 250ms, and re-renders once internal logic determines that values may be out-of-date. See also ForceRefresh() for more details
I'm not completely clear on this. Does that mean OnRender is only called at a max rate of 250ms, or that once OnRender is called, the update is buffered for 250ms? As an experiment, I've just set a new indicator to update on every tick, then call OnRender directly, on every tick if the last price changed. This would be excessive, but as a test... If it means OnRender is functional more than every 250ms, then I can at least update my price bar etc to update more often and behave more in the manner I want, based on elapsed time, etc. I need a little volatility to test as I don't think market replay will be any use. This likely does not affect the huge lags we see on the platform in times of large amounts of ticks, but it may help with part of the issue, for me.
EDIT - OK, pretty sure this doesn't workLast edited by pjsmith; 12-05-2018, 07:30 AM.
- Likes 1
Comment
-
Gents,
Originally posted by pjsmith View PostNINJATRADER SUPPORT, CAN WE HAVE SOME COMMENT ON THIS PLEASE. If it is indeed an imposed time sliceOriginally posted by pjsmith View PostIt is something that clearly, urgently needs fixing.
Originally posted by pjsmith View Postthe platform is _incapable_ of operating under market conditions such as today
I'd like to suggest we keep distinction between the issues of (cumulative) 'lagging' such as may be caused by hardware, software (indicators, rendering, on every tick etc), instruments and market conditions (speed and volume of data etc), separate from the choice of an absolute-value max frequency 250ms/4fps refresh rate, which gives a 'delay' between updates of what you see on your chart (although I appreciate one may begat the other!)
NT have chosen 250ms/max 4fps refresh in the interests of their development plan, roll-out etc and argue that it is bench-tested, best compromise and fit-for-purpose. There is no doubt that this restriction has a real and perceptible impact upon how we are able to see market movement in fast moving conditions. NT takes the view that what we get is acceptable, albeit not as fast as 7 and some other products. It depends on what your purpose is, and what is acceptable to you. If it includes discretionary trading off the charts in fast-moving market conditions then I would suggest it may not fit your purpose because the best you will get is akin to watching a silent movie even if there were zero lag induced by 'on every tick', indicators or anything else. 4fps simply isn't fast enough, even if every aspect behind creating a chart were happening at lightening speed regardless of market conditions prevailing.
I just point this out to keep the 250ms 'time delay' update of information aspect at the forefront of this thread. It will matter less to those that don't trade off charts, use automated strategies, don't trade fast markets etc.
And there will be those that do, that don't realise what is happening - why they feel they seem to get in later than they thought, poor fills, seem to get more slippage than they expect etc. etc and are oblivious to it.
Per the link to the stuff on gamers - at the highest level where like trading the $$$$$$$ are huge - there are good reasons why they invest heavily in hardware and software with 120fps screens, sub 10ms ping speeds, don't use wireless mice, programme macros to increase speed of execution of their discretionary actions etc. and a significant element is to make their involvement more 'immersive'. I think we have the same in fast markets - there are 'harder' aspects such as how far can the Nasty Nas move in 250ms around FOMC or at the Close on days like yesterday (increasingly frequent), and 'softer' aspects related to being engaged with and immersed in the markets' movements. How many NT users want to trade such conditions, are aware of the issue and how vocal will impact how important it is to NT to address it.
Please keep shouting guys, great work, tell yer mates ;-)
Best,Last edited by brucerobinson; 12-05-2018, 08:07 AM.
- Likes 2
Comment
-
[QUOTE=hurleydood;n1041615]pjsmith It seems that a 250ms delay is a filter. Here is the difference between update on every tick vs ever 250ms. https://youtu.be/17koGaakcWw[/QUOTE
This also interests me how you manage to make chart update interval to every tick in NT8Last edited by Obelixtrader; 01-09-2019, 04:18 PM.
Comment
-
fwiw - and as feedback to Ninjatrader given there has been no apparent movement or feedback I can see on this issue, I am now trading fx on an entirely separate platform, specifically because of this screen refresh issue, and it's night and day. I can trade fx on a bare 1 minute chart, which I CANNOT do on ninjatrader, because there is no feel to the action at all. It's SO much easier to trade with the correct tool. For me, in fx at least, Ninjatrader is not it.
- Likes 2
Comment
-
The 250ms buffer clearly comes from a developers mindset and not a traders mindset. Several post on the NT forum regarding this topic have explained very well why a faster response rate is critical to many intraday traders. It's discouraging to see NT is not addressing this problem.
- Likes 3
Comment
-
Although I use the platform, I half wish I did not. The main issue is that it does seem they aim for the typical retail trader, not professional traders. Business decision I am sure, but not sure they actually test this in an environment where real traders are making real trades and provide feedback. If they are, I'm not sure they are listening to that feedback! Many types of traders and styles too. Maybe NT just isn't suited to some of us...
- Likes 2
Comment
-
There is a video on YouTube showing realtime (on every tick) is possible in NT8:
NT8 Crude Oil Futures CL update on every tick
But I don´t know where to find the settings for this.
It may be made working via some NinjaScript code snippet.
EDIT: I just found this:
ForceRefresh()
Last edited by Stefan2017; 03-23-2019, 05:11 AM.
- Likes 1
Comment
-
Here is why it does not work. It just queues another refresh event. It does not force an immediate refresh
Note: As the chart is optimized on a timer, calling ForceRefresh() will NOTimmediately trigger a render event. Calling ForceRefesh() simply re-queues the render event to trigger during the next timed event. In other words, it may take up to 250ms for the render event to function
- Likes 1
Comment
-
It may be a combination of at least these two components:
ChartControl
TriggerCustomEvent()
Additionally:
NinjaScript Best Practices
Maybe someone can contact the author of the video, and please ask for the script (or whatever it takes to achieve this)?
Originally posted by pjsmith View PostHere is why it does not work. It just queues another refresh event. It does not force an immediate refresh
Note: As the chart is optimized on a timer, calling ForceRefresh() will NOTimmediately trigger a render event. Calling ForceRefesh() simply re-queues the render event to trigger during the next timed event. In other words, it may take up to 250ms for the render event to function
- Likes 1
Comment
-
Originally posted by Stefan2017 View Post
Maybe someone can contact the author of the video, and please ask for the script (or whatever it takes to achieve this)?
- Likes 1
Comment
-
EDIT: I missed the topic with this post, because of (see description, I arrowed and highlighted it) ...
"Changing timeframes
IMPORTANT NOTE
The Quantum Tick Speedometer indicator ...
--> has been designed to work on time based charts, converting these dynamically to their tick equivalents <--
... for all markets. The NinjaTrader platform offers you two primary ways to change timeframes, either from the drop down menu, or using the Data Series option. However, it is important to understand that the indicator will only work when the timeframe is specified in minutes. The daily, weekly, monthly and yearly selections offered in the drop down menu will not work with the indicator. If you do wish to use these very long timeframes, they will need to be specified in minutes, but please be aware of the data load required, which will take some time, and during trading hours, this will also be restricted by NinjaTrader in order to ensure their servers are not overloaded with data requests."
__________________________________________________ ________________________________
I found an indicator which seems to fit perfectly to our needs, but it costs $279.00 ...
Quantum Tick Speedometer Indicator
https://www.quantumtrading.com/produ...ter-indicator/
You can buy it from here:
Tick Speedometer Indicator for NinjaTrader
https://ninjaindicators.quantumtradi...ninjatrader-7/
VIDEO:
An introduction to the Tickspeedometer indicator for Ninjatrader
Tick Speedometer Indicator Videos
https://ninjaindicators.quantumtradi...icator-videos/
Installing and Configuring - Tick Speedometer for NinjaTrader 8
https://ninjaindicators.quantumtradi...ninjatrader-8/Last edited by Stefan2017; 03-23-2019, 02:45 PM.
Comment
-
Here is my indicator to do chart updates on each tick or price change. It also has an adjustable refresh interval. You can use a refresh interval of 0 for realtime updates if your computer can keep up.
https://ninjatraderecosystem.com/use...d/tickrefresh/
Check out this video to see the difference https://youtu.be/0sb8OANbcyoLast edited by hurleydood; 03-29-2019, 11:11 AM.
- Likes 5
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by brunoviveiros, 02-17-2020, 05:31 AM
|
4 responses
63 views
0 likes
|
Last Post Today, 06:25 AM | ||
Started by volIQ, 03-27-2024, 04:28 PM
|
3 responses
21 views
0 likes
|
Last Post
by RJay
Today, 05:41 AM
|
||
Started by Nickgiaco, 02-26-2024, 10:23 AM
|
2 responses
72 views
0 likes
|
Last Post Today, 05:12 AM | ||
Started by Johndc, Today, 04:39 AM
|
0 responses
8 views
0 likes
|
Last Post
by Johndc
Today, 04:39 AM
|
||
Started by johntraderuser2, Today, 02:34 AM
|
0 responses
11 views
0 likes
|
Last Post Today, 02:34 AM |
Comment