#region Using declarations
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Data;
using NinjaTrader.Indicator;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Strategy;
#endregion
// This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
/// <summary>
/// Color change on EMA from down to up and reverse
/// </summary>
[Description("Color change on EMA from down to up and reverse")]
public class EMA15 : Strategy
{
#region Variables
// Wizard generated variables
private int ticks = 1; // Default setting for Ticks
private string red = @""; // Default setting for Red
private string green = @""; // Default setting for Green
// User defined variables (add any user defined variables below)
#endregion
/// <summary>
/// This method is used to configure the strategy and is called once before any strategy method is called.
/// </summary>
protected override void Initialize()
{
Add(EMA(15));
Add(EMA(15));
Add(EMA(15));
Add(EMA(15));
CalculateOnBarClose = false;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
// Condition set 1
if (Rising(EMA(15)))
EMA(15)[0].Plots[0].Pen.Color = Color.Aqua;
// Condition set 2
if (Falling(EMA(15)))
EMA(15)[0].Plots[0].Pen.Color = Color.Orange;
}
#region Properties
[Description("Ticks to change")]
[Category("Parameters")]
public int Ticks
{
get { return ticks; }
set { ticks = Math.Max(1, value); }
}
[Description("RED")]
[Category("Parameters")]
public string Red
{
get { return red; }
set { red = value; }
}
[Description("Green")]
[Category("Parameters")]
public string Green
{
get { return green; }
set { green = value; }
}
#endregion
}
}

Comment