Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
Indicators in Strategies
Collapse
X
-
Hello dibDab,
Thanks for your post.
If an indicator is added to a strategy using AddChartIndicator(), you would not be able to change the color of the indicator in the OnBarUpdate() method of the strategy.
The indicators plot color would need to be set in OnStateChange() when the State == State.DataLoaded. Note that you would need to define the brush color before calling AddChartIndicator().
Code:else if (State == State.DataLoaded) { smaFast = SMA(Fast); smaSlow = SMA(Slow); smaFast.Plots[0].Brush = Brushes.Goldenrod; smaSlow.Plots[0].Brush = Brushes.SeaGreen; AddChartIndicator(smaFast); AddChartIndicator(smaSlow); }
Brandon H.NinjaTrader Customer Service
-
Hello dibDab,
Thanks for your note.
Something you could consider doing is adding a plot to the strategy using AddPlot() and assigning the SMA indicator value to that plot.
PlotBrushes could then be used to change the color of a plot when a certain condition is true.
See the attached example script and screenshot demonstrating this.
And, see the help guide documentation below for more information and sample code.
AddPlot(): https://ninjatrader.com/support/help...ghtsub=addplot
SMA: https://ninjatrader.com/support/help...ghlightsub=sma
PlotBrushes: https://ninjatrader.com/support/help...lotbrushes.htm
Let me know if I may assist further.Brandon H.NinjaTrader Customer Service
Comment
-
Hello dibDab,
Thanks for your note.
If you set PlotBrushes to null, the default plot color defined in the AddPlot() method will be used. For example, if you call AddPlot(Brushes.Orange, "SMAPlot"); and then set PlotBrushes to null in OnBarUpdate(), the plot color will be orange.
To set a plot color to transparent, you could call PlotBrushes[0][0] = Brushes.Transparent;
Please let me know if you have any other questions.Brandon H.NinjaTrader Customer Service
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by burtoninlondon, Today, 12:38 AM
|
0 responses
5 views
0 likes
|
Last Post Today, 12:38 AM | ||
Started by AaronKoRn, Yesterday, 09:49 PM
|
0 responses
12 views
0 likes
|
Last Post
by AaronKoRn
Yesterday, 09:49 PM
|
||
Started by carnitron, Yesterday, 08:42 PM
|
0 responses
11 views
0 likes
|
Last Post
by carnitron
Yesterday, 08:42 PM
|
||
Started by strategist007, Yesterday, 07:51 PM
|
0 responses
13 views
0 likes
|
Last Post Yesterday, 07:51 PM | ||
Started by StockTrader88, 03-06-2021, 08:58 AM
|
44 responses
3,982 views
3 likes
|
Last Post
by jhudas88
Yesterday, 06:59 PM
|
Comment