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 | ||
---|---|---|---|---|
Net Change
by Segwin
Started by Segwin, 05-07-2018, 02:15 PM
|
14 responses
1,788 views
0 likes
|
Last Post
by aligator
Today, 11:47 AM
|
||
Started by Jimmyk, 01-26-2018, 05:19 AM
|
6 responses
837 views
0 likes
|
Last Post
by emuns
Today, 11:27 AM
|
||
Started by jxs_xrj, 01-12-2020, 09:49 AM
|
6 responses
3,293 views
1 like
|
Last Post
by jgualdronc
Today, 10:56 AM
|
||
Started by Touch-Ups, Today, 10:36 AM
|
0 responses
12 views
0 likes
|
Last Post
by Touch-Ups
Today, 10:36 AM
|
||
Started by geddyisodin, 04-25-2024, 05:20 AM
|
11 responses
62 views
0 likes
|
Last Post Today, 10:08 AM |
Comment