Login Page - Create Account

Support Board


Date/Time: Wed, 24 Apr 2024 13:55:42 +0000



Recommendations to Improve Overall Sierra Chart Performance

View Count: 8422

[2020-04-14 06:17:44]
Sierra Chart Engineering - Posts: 104368
Over the last two months, there has been a major increase in trading volumes in the major futures markets.

If you are charting any of these major markets in Sierra Chart, like the stock index futures, the bond markets, the energy markets, and other futures markets, there is a lot more data for Sierra Chart to process when the trading data is downloaded tick by tick.

If you want to improve Sierra Chart performance, it is essential that you find a balance between performance and accuracy. Below are recommendations, which will still maintain overall high accuracy but significantly improves performance.

We did produce this video about this:
https://www.sierrachart.com/Videos/Improving_Sierra_Chart_Performance.mp4

However, below are very specific steps you can do right now to immediately improve performance.

Set Global Settings >> Data/Trade Service Settings >> Intraday Data Storage Time Unit to 1 Second or 2 Seconds.

Documentation:
Data/Trade Service Settings: Intraday Data Storage Time Unit (Global Settings >> Data/Trade Service Settings >> Common Settings >> Common Settings)

Although when using the Numbers Bars study, that setting is going to get set back to 1 Tick. So in that case it will not help to change it, unless you set this particular input to No:
Numbers Bars: Require 1 Tick Intraday Data Storage Time

If you do change the Intraday Data Storage Time Unit, you will re-download the data for the symbols:

Re-download all the data in the chart by going to the chart and selecting "Edit >> Delete All Data and Download". You just need to do this once per symbol and not for each chart.


The next thing you can do is increase the Tick Size in the chart. This especially helps when using studies like the Volume by Price study.

Documentation:
Chart Settings: Tick Size (Chart >> Chart Settings >> Symbol >> Symbol Settings menu)

For the ES futures you can increase this to .5

For CL futures you can increase this to .05

With these changes, historical data will download considerably faster, charts will load faster, and calculation times will be reduced, and overall the charts will be more responsive.


Please also have a look at the video we produced for other things you can do.

It is important to face the reality that with the immense amount of market data , it is not reasonable in some cases for Sierra Chart to be downloading and processing all of that data at the tick by tick level, if you want good performance.

And this is why even this new market by order data, is very burdensome and troublesome to be providing to users. We do not foresee offering that, without a substantially higher cost for that particular data. That is the type of data which should be processed in a server environment, and the relevant analytical data generated, and then sent to clients.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2020-04-14 11:13:13
[2020-04-15 03:57:10]
Sierra Chart Engineering - Posts: 104368
Another item related to this, is that when the Intraday Data Storage Time Unit is set to 1 Second or higher, the Chart >> Chart Settings >> Split Data Records option is enabled, the chart bars are based upon Number of Trades or Volume Bars, this would result in repeating bars as documented here:
Number Of Trades, Volume or Range Bar Charts Do Not Match Setting or Are Not Accurate or Are Inconsistent: Repeating Bars with Number of Trades or Volume Bars

In version 2086 and higher, there are no longer repeating bars, but just the last trade price repeats. So this gives a better appearance. You can also uncheck Split Data Records to avoid this problem altogether.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2020-04-15 10:01:24
[2020-04-21 01:29:26]
Merlin - Posts: 81
I am in the beginning stages of automating my trading system.
Please consider this suggestion for a way to improve automated system performance in high-volume conditions:

Currently each chart in Sierra has one setting for "Chart Update Interval in Milliseconds".
This controls both:
- How often each study is called,
- and how often the chart is redrawn.

As I understand it, the processing for redrawing the chart is quite expensive in CPU time.
I've seen many suggestions to set the chart update interval as high as feasible, in order to reduce CPU load.
But to reduce latency for an automated study, this page recommends setting the interval as low as 10ms:
Automated Trading Management: Low Latency Automated Trading

I suggest making study calculation interval and chart update interval two separate settings.
For my automated study chart, I could set the study calculation interval to 10 ms, and the trading system would react quickly to fast market activity.
But the trader monitoring the system wouldn't need to see the changes nearly that often, so the chart update frequency could still be 250 or higher, reducing overall cpu usage considerably.
Would this be possible?

Merlin
Date Time Of Last Edit: 2020-04-22 16:17:56
[2020-04-22 23:39:02]
nosast - Posts: 290
Merlin suggestion would benefit all users - not only autosystem traders. If you are running e.g. an cpu intense MDH chart with a low update setting (lets say 100ms or less) you will notice how one core gets maxed out. Any kind of a more detailed setting for update interval within one chart would be highly appreciated.

The update interval for drawing needs to pretty fast, a few studies also. But there are a lot of studies that could be delayed in update without losing any information/egde whatsoever.
This could be a setting per study or a prio system e.g. of 1-3 to group studies into specific update queue.

Use such an advanced setting and distribute grahpics load to OpenGL and Sierra gets even more powerful and less CPU-intense.
[2020-04-23 02:02:02]
Flipper - Posts: 65
Merlin if you have many Studies, or many subgraphs in the studies, on a chart I find that the cpu load can be reduced by at least 50% if not more if you hide the studies.
[2020-04-23 19:29:04]
Sierra Chart Engineering - Posts: 104368
We apologize for the delay here. We will be looking this over as soon as we can.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2020-04-25 16:39:38]
Merlin - Posts: 81
Flipper, I agree that once a system is proven, it can make sense to hide the studies.
But during testing and development, I need to see them! :-)
And testing and development for system improvement is a never-ending process ...

Nosast, I agree that the ability to set update interval on a per-study basis would also be helpful.
My system uses multiple-time-frame analysis - slower-time-frame studies could be recalculated much less often.

Sierra Chart, thanks for looking into this.
I think there are some real possibilities here to improve the capability of Sierra users to fine-tune and optimize performance.
Date Time Of Last Edit: 2020-04-27 21:08:24
[2020-05-09 13:31:50]
User311344 - Posts: 136
But during testing and development, I need to see them! :-)

Hey Merlin, what I found quite performance boosting is to have your studies placed on a chart that is hidden and then overlying those studies using Study/Price Overlay on your main chart. This way your main chart can be updated say 150ms while that other chart can be still at 10ms. So that way you get update separation between main chart and utlility chart below.
Date Time Of Last Edit: 2020-05-09 13:32:09
[2020-10-27 15:19:18]
User992529 - Posts: 25
Another method to drastically improve chart load performance (especially in case you are storing tick by tick data) is to enable compression on the "Data" folder in Windows Explorer. This reduces stored space on disk to ~25% which makes the loading faster. This would, of course, use more CPU to decompress the data so there is always a tradeoff. I've been using this since one year and seems to work with no issues as it is transparent to SierraChart.
[2020-10-27 18:12:30]
Sierra Chart Engineering - Posts: 104368
Sierra Chart already enables compression for the Intraday data files.



Update: We see that compression is not being enabled for Intraday data files and market depth data files and we see why this occurs. This is a recent issue. We are correcting this now.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2020-10-27 18:44:11
[2020-10-28 05:59:27]
Sierra Chart Engineering - Posts: 104368
Update: We see that compression is not being enabled for Intraday data files and market depth data files and we see why this occurs. This is a recent issue. We are correcting this now.
This is now resolved in version 2187.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2020-11-06 08:28:51]
ycomp - Posts: 274
if I update to 2187 or higher, will it then compress all the old data files if they were not compressed?
[2020-11-06 12:10:31]
Sierra Chart Engineering - Posts: 104368
Yes.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2021-02-27 23:51:43]
GravisHTG - Posts: 303
I found that If you Keep the main instance of Sierra chart with 2 core - 2 hyperthread and you load no chart. And you do all your charting on sub instance with 1 main core and 1 share core for 2 sub + 1 hyperthread and 1 share hypertread. It Max out 1 core a lot less and that max out of that 1 core will not affect my charting much compare to letting the program decide what to use.

I have intensive CPU studies, All chart are detach , and I use about 30 chart at any 1 moment on 3 sub instance.

When I optimize this strategy, I always let the Core that windows use more often Free too. ( I have a 3950X ) .

Windows use core 0 to 3 and hyperthread 30-31 most of the time from what I see in my Task Manager.

And enable openGL for sure , as it reduce the load on the cpu.

Hope this help !
Date Time Of Last Edit: 2021-03-01 13:22:18

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account