Here is the main code:
protected override void Initialize()
{
CalculateOnBarClose = true;
Add("MVV", PeriodType.Day, 1); // Makes MVV BarsInProgress = 1
Add("DVY", PeriodType.Day, 1); // Makes DVY BarsInProgress = 2
Add("MZZ", PeriodType.Day, 1); // Makes DVY BarsInProgress = 3
Add("TLT", PeriodType.Day, 1); // Makes DVY BarsInProgress = 4
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
// Condition set 1
if (MACD(MyMACDFast1, MyMACDFast2, 1).Avg[0] > MACD(MyMACDFast1, MyMACDFast2, 1).Avg[DayBack]
&& MACD(MyMACDSlow1, MyMACDSlow2, 1).Avg[0] > 0)
{
BackColor = Color.LawnGreen;
EnterLong(1, 1, "MVV Order");
}
// Condition set 2
if (MACD(MyMACDFast1, MyMACDFast2, 1).Avg[0] < MACD(MyMACDFast1, MyMACDFast2, 1).Avg[DayBack]
&& MACD(MyMACDSlow1, MyMACDSlow2, 1).Avg[0] > 0)
{
BackColor = Color.PowderBlue;
EnterLong(2, 1, "DVY Order");
}
// Condition set 3
if (MACD(MyMACDFast1, MyMACDFast2, 1).Avg[0] < MACD(MyMACDFast1, MyMACDFast2, 1).Avg[DayBack]
&& MACD(MyMACDSlow1, MyMACDSlow2, 1).Avg[0] < 0)
{
BackColor = Color.Crimson;
EnterLong(3, 1, "MZZ Order");
}
// Condition set 4
if (MACD(MyMACDFast1, MyMACDFast2, 1).Avg[0] > MACD(MyMACDFast1, MyMACDFast2, 1).Avg[DayBack]
&& MACD(MyMACDSlow1, MyMACDSlow2, 1).Avg[0] < 0)
{
BackColor = Color.Goldenrod;
EnterLong(4, 1, "TLT Order");
}
Comment