Standard-series rolling support and resistance pattern
Illustrative single-file NinjaScript pattern using ordinary High and Low series. Review naming, warm-up, calculation mode, and drawing behavior in NinjaScript Editor before use.
using System.Windows.Media;
using NinjaTrader.NinjaScript;
using NinjaTrader.NinjaScript.DrawingTools;
namespace NinjaTrader.NinjaScript.Indicators
{
public class RollingSupportResistance : Indicator
{
[NinjaScriptProperty]
public int Lookback { get; set; }
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Name = "RollingSupportResistance";
IsOverlay = true;
Calculate = Calculate.OnBarClose;
Lookback = 20;
}
}
protected override void OnBarUpdate()
{
if (CurrentBar < Lookback)
return;
var support = MIN(Low, Lookback)[0];
var resistance = MAX(High, Lookback)[0];
Draw.HorizontalLine(this, "RollingSupport", support, Brushes.SteelBlue);
Draw.HorizontalLine(this, "RollingResistance", resistance, Brushes.IndianRed);
}
}
}