I have no scripting knowledge. I cut and pasted the following from other coding examples.
public class DonchianBands : Indicator
{
#region Variables
private int period = 20;
double upperValue = Bollinger(2, 20).Upper[0];
double lowerValue = Bollinger(2, 20).Lower[0];
#endregion
/// <summary>
/// This method is used to configure the indicator and is called once before any bar data is loaded.
/// </summary>
protected override void Initialize()
{
Add(new Plot(Color.Orange, "Mean"));
Add(new Plot(Color.Blue, "Upper"));
Add(new Plot(Color.Blue, "Lower"));
Overlay = true;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
Value.Set((MAX(upperValue, Period)[0] + MIN(lowerValue, Period)[0]) / 2);
Upper.Set(MAX(upperValue, Period)[0]);
Lower.Set(MIN(lowerValue, Period)[0]);
}

Comment