Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Make chart refresh rate faster than 250ms possible

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #61
    Originally posted by eDanny View Post
    A fast market, in this case, is when your charts cannot keep up with the market. Your test does not show a fast market with multiple charts with many indicators, some of which may be CPU intensive. Try your almost bare charts during FOMC or earnings reports, etc.
    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.

    Comment


      #62
      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.
      This is good work... Yesterday was a perfect example. I've done a lot of work on reducing resource usage and removing bits I want, but don;t use often from my setup. Half way through the day, my Ninjatrader charts started lagging. I was in a trade at the time. I was getting fills 10 nq points or more away from where the charts were and the charts were taking at least 20 seconds to reflect where price was at the time. CPU usage was under 20%... My platform was not taxed. I had only 3 nq charts open. I had already removed many of the plots I had and was almost down to bare charts.

      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.

      Comment


        #63
        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 work
        Last edited by pjsmith; 12-05-2018, 07:30 AM.

        Comment


          #64
          Gents,
          Originally posted by pjsmith View Post
          NINJATRADER SUPPORT, CAN WE HAVE SOME COMMENT ON THIS PLEASE. If it is indeed an imposed time slice
          NT_Brett has confirmed this to be so.
          Originally posted by pjsmith View Post
          It is something that clearly, urgently needs fixing.
          - NT have been aware of it for some time, and are sticking to their decision to constrain refresh rate to 250ms. They have confirmed that they have no plans to change that in the foreseeable Future (sic).




          Originally posted by pjsmith View Post
          the 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.

          Comment


            #65
            [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 NT8
            Last edited by Obelixtrader; 01-09-2019, 04:18 PM.

            Comment


              #66
              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.

              Comment


                #67
                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.

                Comment


                  #68
                  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...

                  Comment


                    #69
                    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()
                    Attached Files
                    Last edited by Stefan2017; 03-23-2019, 05:11 AM.

                    Comment


                      #70
                      I tried this. My post might be where you found it. It did not seem to give the desired effect, but I may have got it wrong. Seems a couple are wiling to show it is possible, but for whatever reason, unwilling to tell Us how to achieve it.

                      Comment


                        #71
                        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

                        Comment


                          #72
                          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 Post
                          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

                          Comment


                            #73
                            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)?

                            Just for info, I did ask him (or her) - They did not respond, just saying it was 'their indicator' or something equally unhelpful. If anyone wants to enlighten us all, that would be great...

                            Comment


                              #74
                              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


                                #75
                                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/0sb8OANbcyo
                                Last edited by hurleydood; 03-29-2019, 11:11 AM.

                                Comment

                                Latest Posts

                                Collapse

                                Topics Statistics Last Post
                                Started by iceman2018, Today, 11:46 AM
                                0 responses
                                1 view
                                0 likes
                                Last Post iceman2018  
                                Started by cmtjoancolmenero, 04-29-2024, 03:40 PM
                                7 responses
                                27 views
                                0 likes
                                Last Post NinjaTrader_Jesse  
                                Started by akuntysh, 05-18-2018, 03:39 AM
                                11 responses
                                810 views
                                0 likes
                                Last Post Leeroy_Jenkins  
                                Started by AaronKoRn, 04-27-2024, 09:49 PM
                                2 responses
                                26 views
                                0 likes
                                Last Post NinjaTrader_LuisH  
                                Started by Creamers, 04-27-2024, 05:32 AM
                                5 responses
                                39 views
                                0 likes
                                Last Post Creamers  
                                Working...
                                X