Support Board
Date/Time: Tue, 26 Nov 2024 14:38:51 +0000
Suggestions after porting over 8 indicators from NinjaTrader to Sierra Chart
View Count: 468
[2023-11-12 09:23:19] |
erwinbeckers - Posts: 22 |
Hi Sierra Chart, We've now ported 8 of our indicators over from NinjaTrader to Sierra Chart ( you can find them here https://tradedevils-indicators.com/pages/sierra-charts-indicators ) I love Sierra Chart, but while porting we noticed a few things which we got accustomed to in Ninja but are missing or different in Sierra Please have a look at it, and perhaps you find it useful to add these to Sierra Chart at some point 1) clipping graphic drawings to study region by default using the new graphics functions its very easy to draw outside the region of the study This might be useful for some applications, but it already happened a few times to me where I was accidentally drawing over the area of other studies it would be nice if the drawing functions would be clipped to the study region by default and to have some flag to turn that off when needed 2) ability to create our own custom study dropdown menus Some of our indicators are settings-heavy and in Ninjatrader we added custom dropdown menus for them so users can quickly change these settings Here is an example https://cdn.shopify.com/s/files/1/0522/6286/3047/t/5/assets/menu-1671990331674.gif?v=1671990335 It would be nice to add something like this to Sierra Chart. I know there is the option to add a menu item to the context menu. But that is shared and not specific for 1 study. Further more it doesn't allow things like text boxes and sub-menus as far as I know 3) Retrieving the width in pixels of the candle It sounds like something very trivial yet I think it's not possible yet to get the candle width for the current chart. I know there is sc.ChartBarSpacing but that does not give the width of the candle itself. Sometimes you want to over-paint a candle or place text left/right of the candle and then you must know how wide the candle exactly is in pixels 4) Support Unicode (UTF-8) symbols for the new graphics functions when using OpenGL The new graphics functions support UTF-8 when using GDI, but not openGL Sometimes we want to draw (user-defined) bar markers above/below the bar but now this is not possible see this screenshot as an example, and know that these symbols can be changed in the settings by the user https://cdn.shopify.com/s/files/1/0522/6286/3047/t/5/assets/markerschart-1672654079291.jpg?v=1672654080 5) get x-pixel coordinate by date/time I've seen the sc.BarIndexToXPixelCoordinate(int bar), but is there also something like a sc.DateTimeToPixelCoordinate(SCDateTime& datetime) ? 6) Multi timeframe studies I struggle a bit with studies that use higher timeframe data. I know we can open a (hidden) chart from code for a higher timeframe and get the data from it However, I struggle with the initialization and synchronization between the two. It looks like the main chart and higher timeframe chart operate completely independently from each other If so then it can happen that main chart has already fully loaded and sc.Index is pointing to the last bar and after that, the data from the higher timeframe chart arrives ( or vice versa ) What are Sierra Chart best practices to deal with this? Let's say I want to fill a study subgraph based on the data of the higher timeframe Do I then need to - wait for the higher timeframe data to be fully loaded - wait for the main chart to be fully loaded - then process all the bars in the higher timeframe - and for each higher timeframe bar, find all the bars in the main (lower timeframe) chart and fill its subgraph[]. 7) Max 127 settings for studies sc.Input is now limited to 127. Which is really low. Some of our studies have 300+ settings (a lot of those will be colors) I know you have no plans to change this, but I am just mentioning this , since it is a bummer for us and i don't see why this could not be increased |
[2023-11-15 16:31:26] |
Sierra_Chart Engineering - Posts: 17179 |
1. You have to do the clipping yourself. There is this function for that: int32_t n_ACSILFunctions::n_Graphics::SetClippingRegionFromRectangle(const n_ACSIL::s_GraphicsRectangle& GraphicsRectangle) 3. We can see about this. 6. - wait for the higher timeframe data to be fully loaded
In regards to this, refer to:- wait for the main chart to be fully loaded Working with ACSIL Arrays and Understanding Looping: Referencing Arrays in Other Charts The other items we will not be commenting on. There is no answer for them. 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, 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: