Draw.Region(this, "TMA Band", CurrentBar, 0, TMA(High, Period)[0], TMA(Low, Period)[0], Color, Opacity);
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
What is the best way to pass an indicator value as series to Draw.Region?
Collapse
X
-
What is the best way to pass an indicator value as series to Draw.Region?
Draw.Region(this, "TMA Band", CurrentBar, 0, TMA(High, Period)[0], TMA(Low, Period)[0], Color, Opacity); -
Hello, thanks for writing in. That is the correct way to reference the latest indicator value. Are you getting any errors in the Log tab of the Control Center about the indicator? Also use Print() to print the values to confirm the indicator is seeing these values properly.
//right before calling Draw.Region:
Print("TMA(High, Period)[0] " + TMA(High, Period)[0]);
Print("TMA(Low, Period)[0] " + TMA(Low, Period)[0]);
-
-
namespace NinjaTrader.NinjaScript.Indicators.My
{
public class MyTMABand : Indicator
{
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = @"My TMA Band.";
Name = "MyTMABand";
Calculate = Calculate.OnPriceChange;
IsOverlay = true;
DisplayInDataBox = true;
DrawOnPricePanel = true;
DrawHorizontalGridLines = true;
DrawVerticalGridLines = true;
PaintPriceMarkers = true;
ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right;
IsSuspendedWhileInactive = true;
Period = 13;
Color = Brushes.White;
Opacity = 50;
}
else if (State == State.Configure)
{
}
else if (State == State.DataLoaded)
{
}
}
protected override void OnBarUpdate()
{
Draw.Region(this, "TMA Band", CurrentBar, 0, TMA(High, Period)[0], TMA(Low, Period)[0], Color, Opacity);
}
region Properties
[NinjaScriptProperty]
[Range(1, int.MaxValue)]
[Display(Name="Period", Description="Period", Order=1, GroupName="Parameters")]
public int Period
{ get; set; }
[NinjaScriptProperty]
[XmlIgnore]
[Display(Name="Color", Description="Color", Order=2, GroupName="Parameters")]
public Brush Color
{ get; set; }
[Browsable(false)]
public string ColorSerializable
{
get { return Serialize.BrushToString(Color); }
set { Color = Serialize.StringToBrush(value); }
}
[NinjaScriptProperty]
[Range(0, 100)]
[Display(Name="Opacity", Description="Opacity", Order=3, GroupName="Parameters")]
public int Opacity
{ get; set; }
#endregion
}
}
Comment
-
Hi, this means you have the parameter list for Draw.Region incorrect. See all the valid overloads here:
Make sure you are using a valid override for this method:
Code:Draw.Region(NinjaScriptBase owner, string tag, int startBarsAgo, int endBarsAgo, ISeries<double> series, double price, Brush areaBrush, int areaOpacity, int displacement = 0) Draw.Region(NinjaScriptBase owner, string tag, int startBarsAgo, int endBarsAgo, ISeries<double> series1, ISeries<double> series2, Brush outlineBrush, Brush areaBrush, int areaOpacity, [int displacement]) Draw.Region(NinjaScriptBase owner, string tag, DateTime startTime, DateTime endTime, ISeries<double> series, double price, Brush areaBrush, int areaOpacity) Draw.Region(NinjaScriptBase owner, string tag, DateTime startTime, DateTime endTime, ISeries<double> series1, ISeries<double> series2, Brush outlineBrush, Brush areaBrush, int areaOpacity)
Comment
-
-
Yup, thank you so much...
Draw.Region(this, "TMA Band", CurrentBar, 0, TMA(High, Period), TMA(Low, Period), null, Color, Opacity);
I apparently deleted it the first couple of go arounds, but that did the trick.
Comment
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by Hwop38, 05-04-2026, 07:02 PM
|
0 responses
154 views
0 likes
|
Last Post
by Hwop38
05-04-2026, 07:02 PM
|
||
|
Started by CaptainJack, 04-24-2026, 11:07 PM
|
0 responses
306 views
0 likes
|
Last Post
by CaptainJack
04-24-2026, 11:07 PM
|
||
|
Started by Mindset, 04-21-2026, 06:46 AM
|
0 responses
244 views
0 likes
|
Last Post
by Mindset
04-21-2026, 06:46 AM
|
||
|
Started by M4ndoo, 04-20-2026, 05:21 PM
|
0 responses
345 views
0 likes
|
Last Post
by M4ndoo
04-20-2026, 05:21 PM
|
||
|
Started by M4ndoo, 04-19-2026, 05:54 PM
|
0 responses
176 views
0 likes
|
Last Post
by M4ndoo
04-19-2026, 05:54 PM
|

Comment