Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
been getting freezes lately big time also...same indicators with NT,changed nothing for the last 2 weeks. Time to get the hammer out....let you know if it works.
I am using CQG IC and MarketDelta. I have Investor R/T with DTN IQFeed on my laptop as a back up, and that works just as well really.
I have never had a crash with IRT and it is extremely light on resources, but it is not optimal to trade through. I used to use CQG Trader with IRT for charting... I'd rather use X_Trader/CQG Trader and another platform for trading, just to be sure my orders get through at all times. A software freeze, or lag, can be very expensive...
It seems a lot are using Multicharts... I gave them a try a while back, but they lacked some things I needed... But you can trade off charts...
Regardless of the front end, I would say that DTN IQFeed is the best retail feed out there. It's cheap, as well...
Had the same problem. I like Jeff's setup, but my computer DIED when I had that chart template up. Same thing with TMFT's 'gradient-colored' background setup. I think FatTails explained this in one of his posts - about the bands having to be re-drawn on every tick.
So, if you've got 30 days worth of data on your chart, Ninja has to re-draw the bands all the way from 30 days back to the present tick - on each and every incoming tick.
He also posted something about changing the code (it would take an experienced programmer) to put the values in an array, I believe, so that they are stored in the indicator, rather than having to draw on system resources to completely redraw those bands each time a new tick comes into Ninja.
I don't think it's a Ninja Problem.
After all, it's what you learn AFTER you know it all, that counts!
You'd have to contact him with that question. I don't believe I have those installed, so I can't take a look at the code to determine what / how they are processing the information in order to draw the colored regions.
After all, it's what you learn AFTER you know it all, that counts!
There are a lot of indicators that can create problems, when a lots of ticks are flowing in. Often they are
-> not coded correctly
-> not used correctly
I will try to give a few examples:
VWAP Bands
Correct Coding: If the standard deviation is calculated in the traditional way, you will take the current value of the VWAP and calculate the square of the difference (VWAP - price) for all data points (bar closes) of the session. This means that with every incoming tick, you calculate back to the beginning of the session to obtain the squares. The VWAP and also the hVWAP are coded this way. anaCurrentDayVWAP also uses this algorithm in Variance_Last mode. But in Variance-Distance mode all these back-calculations are not necessary. So yes, it is possible to find an algorithm which calculates faster.
Correct Use: If you use the VWAP with setting "CalculateOnBarClose = false". it needs to do the calculations with every incoming tick, this can be thousand times per minute! If you use it in "CalculateOnBarClose = true" mode on a 15 minute chart, it will be calculated only once every 15 minutes, which is really good enough.
SuperTrend
Correct Coding: The Supertrend uses the moving average or median over a lookback period and deducts the average true range over a lookback period to calculate the stop bands. For a robust indicator it is not necessary and even not useful to include the calcualtion of the average true range in the current bar. But if you use a 5-period average true range, you can actually use the average true range of the last five bars without including the range of the current bar. In this case the average true range only needs to be calculated with the first tick of the bar. The same could be done with the reference, which is the moving average or median. So it is possible to code the indicators in a way that they consume less CPU in fast markets.
Correct Use: If you set the SuperTrend to "CalculateOnBarClose = true", it cannot do much harm, even if it is not correctly coded.
Custom Plots
Some custom plots do unfortunately produce some CPU load. This include the pivot indicators, as some of the calculations to plot those lines can only be done within the custom plot. One of the problem of the NinjaTrader design is that the custom plot calculations are done intrabar, even if the indicator is set to "CalculateOnBarClose = true". It cannot be prevent that the plot is being executed with an incoming tick. The only influence that the user has on this issue, is the Display Update Interval of the chart. If you set this to 0,1 sec, for sure you will run into problems in fast markets. I use a standard setting of 0.5 secs, meaning that the plot is only recalculated once every 0.5 seconds. This is typically good enough to avoid a freeze, if a lot of ticks comes in during a news release.
Recommendations
(1) Carefully select the indicators that you use and check - by using a tool such as Process Explorer - whether they have an impact on the CPU load.
(2) Only use indicators in "CalculateOnBarClose = false" mode, if you are absolutely sure that you need them to update intrabar and can't wait for the bar close. I do not know any channels that need to be updated intra-bar.
(3) Don't use a display update interval of less than 0.5 seconds for your charts.
The indicator works in a similar way as the original Bollinger Bands. It uses the current price to calculate the standard deviation bands.
It is potentially not as dangerous as the VWAP. For the Bollinger Bands you typically use a period of 20. This means that it calculates the variance from the last price and the preceding 20 bars. The original standard deviation bands of the VWAP however calculate back to the beginning of the session. For example, if you use plot the VWAP on a 1 minute chart for the ETH session at 11:00 AM EST, the session is already about 18 hours old, so it needs to recalculate back for over 1,000 bars. The Bollinger Bands just do that calculation with 20 bars.
Still, if you set the Bollinger Bands to "CalculateOnBarClose = true", they will only calculate once per bar. But in real-time the band will not plot for the current candle.
Suggestion
You want that the bands plot a value calculated from the prior candle without consuming any CPU? There is an easy solution. Put the bands on your chart and
-> set them to "CalculateOnBarClose = true"
-> enter the value 1 for the displacement
This will shift the channels 1 candle to the right, and it won't use your CPU intra-bar. You can do that with any channel.