Login Page - Create Account

Support Board


Date/Time: Fri, 19 Apr 2024 10:29:51 +0000



Seems that setting of s_NumericInformationGraphDrawTypeConfig.HideLabels is ignored

View Count: 942

[2019-11-09 17:46:01]
User972768 - Posts: 166
Hello SC Support,

I'm coding my Custom study and came across strange behaviour. It seems that any value assigned to s_NumericInformationGraphDrawTypeConfig.HideLabels is ignored and always stays as TRUE. Could you please check it?

Just for reference, I'm on v2007 of Sierra and here is the snippet of my code:

s_NumericInformationGraphDrawTypeConfig table_draw_config;

table_draw_config.HideLabels = HideLabels.GetBoolean();

sc.SetNumericInformationGraphDrawTypeConfig(table_draw_config);

And one more question related to the Numeric Information Table Draw Type. It is not clear from provided example how to work with Range Colors and related Threshold Percentages. Do I just initialize s_NumericInformationGraphDrawTypeConfig structure once when sc.Index == 0 and the rest is done automatically? Or should I provide some coloring-related code to assign background color to current cell in the section like:

for (int i = sc.UpdateStartIndex; i < sc.ArraySize; i++) {}
The reason for this question is that I can't find a way to color my data according to percentages that were set in the structure when sc.Index == 0. I look at the "Numbers Bars Calculated Values" study, and it seems to be working fine and on top of that it allows to reset coloring with each session by parameter In:30, which is not a part of provided documentation for the s_NumericInformationGraphDrawTypeConfig structure.

Thanks and best regards
Date Time Of Last Edit: 2019-11-09 19:55:18
[2019-11-12 14:38:02]
User972768 - Posts: 166
Hello SC Support,

Any help would be greatly appreciated.

Thanks
Date Time Of Last Edit: 2019-11-12 16:16:12
[2019-11-12 19:10:36]
Sierra Chart Engineering - Posts: 104368
This is still pending.
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
[2019-11-21 18:54:53]
John - SC Support - Posts: 30953
Sorry for the delay in getting back to you on this.

The issue was that there were a number of items that are part of the s_NumericInformationGraphDrawTypeConfig structure that were not be copied from the entered values in ACSIL to what is used in the code. We have added in the missing items, so here is what will be available in the next release (v 2015).

HideLabels
ColorBackgroundBasedOnValuePercent
DetermineMaxMinForBackgroundColoringFrom
Range3UpColor
Range2UpColor
Range1UpColor
Range0UpColor
Range0DownColor
Range1DownColor
Range2DownColor
Range3DownColor
DifferentPullbackAndLabelsColor
PullbackAndLabelsColor
ColorPullbackBackgroundBasedOnPositiveNegative
PercentCompareThresholds[ThresholdIndex]


We will get to the documentation for this soon, but to answer your second question, you would need to establish the colors (Range[0-4][Up/Down]Color and the PercentCompareThresholds[0-2] (three of these) to have the coloring handled automatically as described in the documentation for the Numbers Bars Calculated Values studies.
For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-11-21 19:16:47]
User972768 - Posts: 166
Hi John,

Thank you for this update. As you can imagine, it was a bit of a "head scratcher" as simple thing like "HideLabels" didn't work at all in my code, but was described in documentation and is working perfectly fine in the "Numbers Bars Calculated Values" study.

I guess it is just a typo, as Color ranges are [0-3], not [0-4], right?

Thanks
[2019-11-21 21:28:27]
John - SC Support - Posts: 30953
You are correct, that was a typo. The color numbering is from 0-3.

I also just realized that I need to add the HighestValue[] and LowestValue[] variables in as well. You would need to set those in order to get the background coloring correct. So you would need to look through your Subgraph data to determine the highest and lowest values in order for the percentages to work out.

For right now, you will not be able to use the Daily Data and determine percentages from the daily data as you can do in the Numbers Bars Calculated Values study. We use another variable in order to control the daily data that is not available through ACSIL.
For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-11-24 13:01:32]
User972768 - Posts: 166
Hi John,

Thanks for the explanation. Could you please expand a bit more on the logic of setting the HighestValue / LowestValue?

Let's say I want to use range colors to show how volume correlates between 5 minute bars through 24 hour period. Product is ES. It has relatively low values during overnight session and much higher volume between 9:30 and 16:15 Eastern time during cash session. The difference is huge when 1st bar of the day session could have 50% of total overnight session volume. Since I'm responsible for values in HighestValue/LowestValue, it is not clear how to do it in the above example:
- I assume that I have to calculate and populate these values during the "for (int i = sc.Index; i < sc.ArraySize; i++)" loop, keeping values between the loops as persistent variables. Question: what happens to the past bar colors, when I adjust the values with the 1st bar of the cash session? Let's say I want to maintain separate pair of Highest/Lowest values through the day and night session. Will the system just override overnight colors when day volume starts and basically render them as Range 0 colors? Or will the range colors of overnight bars stay in place?
- As per documentation HighestValue/LowestValue are set per subgraph, it seems an impossible task to maintain any logic beyond "coloring ALL the bars of the chart". There is no way to adjust colors through the ETH/RTH and the only option to see proper coloring adjusted to the session is to limit chart to present data in specific time interval of the single session. For example: Show 1 day (last/current session) and time frame 9:30 - 16:15. Then create another chart for overnight session time range.
- From documentation it is not clear about the range of values in the PercentCompareThresholds. Is it 0.0 - 1.0 or 0.0 - 100.0?
- It would be nice to have a method for this struct to set PercentCompareThresholds based on the string value coming from the study input, similar to SetNumericInformationDisplayOrderFromString.

Thank you very much and Best regards
Date Time Of Last Edit: 2019-11-24 13:06:49
[2019-11-24 19:51:53]
John - SC Support - Posts: 30953
The first thing to keep in mind is that when creating a Numeric Information Graph from ACSIL, there is only the ability to set a Highest and Lowest value per Subgraph for the entire chart. We did add functionality to the Numbers Bars Calculated Values study to have the Highest and Lowest be determined on a Daily or Per Session basis, but that functionality does not easily convert over to ACSIL, so it is not available.

1.
I assume that I have to calculate and populate these values during the "for (int i = sc.Index; i < sc.ArraySize; i++)" loop, keeping values between the loops as persistent variables. Question: what happens to the past bar colors, when I adjust the values with the 1st bar of the cash session? Let's say I want to maintain separate pair of Highest/Lowest values through the day and night session. Will the system just override overnight colors when day volume starts and basically render them as Range 0 colors? Or will the range colors of overnight bars stay in place?


As stated above, you cannot have a different set of values for the Day and Evening session within a single Numeric Information Graph through ACSIL. Whenever you change the Highest and/or Lowest value for a subgraph, all the bars will update based on those new values.

2.
As per documentation HighestValue/LowestValue are set per subgraph, it seems an impossible task to maintain any logic beyond "coloring ALL the bars of the chart". There is no way to adjust colors through the ETH/RTH and the only option to see proper coloring adjusted to the session is to limit chart to present data in specific time interval of the single session. For example: Show 1 day (last/current session) and time frame 9:30 - 16:15. Then create another chart for overnight session time range.
: See statement above.

3.
From documentation it is not clear about the range of values in the PercentCompareThresholds. Is it 0.0 - 1.0 or 0.0 - 100.0?
The values entered through ACSIL should be the decimal values, not the percentage, as these values are not converted when entered through ACSIL. For example, if you want to enter 25%, 50% and 75%, then you would set the following:
NumericInformationGraphDrawTypeVariable.PercentCompareThreshold[0] = .25
NumericInforamtionGraphDrawTypeVariable.PercentCompareThreshold[1] = .50
NumericInformationGraphDrawTypeVariable.PercentCompareThreshold[2] = .75

We will update the documentation to make this more clear.

4.
It would be nice to have a method for this struct to set PercentCompareThresholds based on the string value coming from the study input, similar to SetNumericInformationDisplayOrderFromString.
At this time, that conversion is done in the configuration of the Numbers Bars study and not in the implementation of the Numeric Information Graph. Therefore it is not something we are going to be changing anytime soon.

One final note, whenever you want to update a variable, you will need to call the sc.SetNumericInformationGraphDrawTypeConfig(). And each time you want to call that function, you need to set all the variables that you are controlling, otherwise, they will be reset to their default. For example, if you set the "HideLabels" to True in the sc.SetDefaults section, and you are updating the Highest value later, you would also need to set "HideLabels" again, otherwise it is going to use the default value.
For the most reliable, advanced, and zero cost futures order routing, use the Teton service:
Sierra Chart Teton Futures Order Routing

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

Login

Login Page - Create Account