Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
Making SampleMultiColoredPlot Generic
Collapse
X
-
Making SampleMultiColoredPlot Generic
If I replace the hard-coded SMA(Period) with Value.Set(SMA(Period)[0]); first, and then try to substitute the "Value" reference for the SMA(Period) condition for the coloring of the plots, it stops working. I've tried different combos, but nothing seems to work - it either ignores the color changes or plots nothing. My goal is to make the coloring code portion generic with the Values set for it above the conditions.Tags: None
-
Thanks for the response. Basically I am trying to make it so I can substitute any Data Series into the mulit-color plot, but in this case I 1st tried to just generalize what SampleMultiColorPlot is doing, trying to make the Value series hold the result of SMA(Period) - which I could then replace to get the coloring effect on any other calc.Originally posted by NinjaTrader_Bertrand View PostHi marketmasher, not sure what you are trying to achieve, can you please post the code you already have? You would still need 3 Plots for every color you wish to use and link to those to your dataseries objects (Values[0], Values[1], Values[2])
{
// Checks to make sure we have at least 1 bar before continuing
if (CurrentBar < 1)
return;
Value.Set(SMA(Period)[0]); // Try to make this calc part interchangeable with another calc later...
// Plot green if the SMA is rising
// Rising() returns true when the current value is greater than the value of the previous bar.
if (Rising(Value))
{
// Connects the rising plot segment with the other plots
RisingPlot.Set(1, Value[1]);
// Adds the new rising plot line segment to the line
RisingPlot.Set(Value[0]);
}
// Plot red if the SMA is falling
// Falling() returns true when the current value is less than the value of the previous bar.
else if (Falling(Value))
{
// Connects the new falling plot segment with the rest of the line
FallingPlot.Set(1, Value[1]);
// Adds the new falling plot line segment to the line
FallingPlot.Set(Value[0]);
}
// Plot yellow if the SMA is neutral
else
{
// Connects the neutral plot segment with the rest of the line
NeutralPlot.Set(1, Value[1]);
// Adds the new neutral plot line segment to the line
NeutralPlot.Set(Value[0]);
}
Comment
-
marketmasher,
Like Bertrand mentioned, you need three plots. Value[] only references the first plot or whichever plot is assigned to Values[0].
You need to make your own DataSeries to store your calculation. Your current code is likely trying to set RisingPlot.Set() and then take Value.Set(). They are referencing the same Values[0].Josh P.NinjaTrader Customer Service
Comment
-
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Hwop38, 05-04-2026, 07:02 PM
|
0 responses
161 views
0 likes
|
Last Post
by Hwop38
05-04-2026, 07:02 PM
|
||
|
Started by CaptainJack, 04-24-2026, 11:07 PM
|
0 responses
309 views
0 likes
|
Last Post
by CaptainJack
04-24-2026, 11:07 PM
|
||
|
Started by Mindset, 04-21-2026, 06:46 AM
|
0 responses
245 views
0 likes
|
Last Post
by Mindset
04-21-2026, 06:46 AM
|
||
|
Started by M4ndoo, 04-20-2026, 05:21 PM
|
0 responses
349 views
0 likes
|
Last Post
by M4ndoo
04-20-2026, 05:21 PM
|
||
|
Started by M4ndoo, 04-19-2026, 05:54 PM
|
0 responses
179 views
0 likes
|
Last Post
by M4ndoo
04-19-2026, 05:54 PM
|

Comment