Support Board
Date/Time: Mon, 03 Feb 2025 17:16:32 +0000
Seems that setting of s_NumericInformationGraphDrawTypeConfig.HideLabels is ignored
View Count: 1045
[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++) {} 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: 37668 |
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: 37668 |
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: 37668 |
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: