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 Geovanny Suaza, 02-11-2026, 06:32 PM
|
0 responses
648 views
0 likes
|
Last Post
|
||
|
Started by Geovanny Suaza, 02-11-2026, 05:51 PM
|
0 responses
369 views
1 like
|
Last Post
|
||
|
Started by Mindset, 02-09-2026, 11:44 AM
|
0 responses
108 views
0 likes
|
Last Post
by Mindset
02-09-2026, 11:44 AM
|
||
|
Started by Geovanny Suaza, 02-02-2026, 12:30 PM
|
0 responses
572 views
1 like
|
Last Post
|
||
|
Started by RFrosty, 01-28-2026, 06:49 PM
|
0 responses
574 views
1 like
|
Last Post
by RFrosty
01-28-2026, 06:49 PM
|

Comment