Here are the pieces that are involved:
*Adding the data series
AddDataSeries(Data.BarsPeriodType.Minute, 1);
AddDataSeries(Data.BarsPeriodType.Minute, 5);
AddDataSeries(Data.BarsPeriodType.Minute, 15);
*Initializing the EMAs
Ema15MinuteShort = EMA(BarsArray[3], Convert.ToInt32(ShortEmaPeriod));
Ema15MinuteMedium = EMA(BarsArray[3], Convert.ToInt32(MediumEmaPeriod));
Ema15MinuteLong = EMA(BarsArray[3], Convert.ToInt32(LongEmaPeriod));
*The logic pieces
if(Use15MinuteTrades
&& CrossBelow(Ema15MinuteMedium, Ema15MinuteLong, 1)
&& Ema15MinuteShort[0] <= Ema15MinuteMedium[0]
&& Ema15MinuteShort[0] <= Ema15MinuteLong[0])
{
EnterShort(Convert.ToInt32(PositionSize), @"15MinuteEntryShort");
...
}
...
if(Use15MinuteTrades
&& (CrossAbove(Ema15MinuteMedium, Ema15MinuteLong, 1))
&& Ema15MinuteShort[0] >= Ema15MinuteMedium[0]
&& Ema15MinuteShort[0] >= Ema15MinuteLong[0])
{
EnterLong(Convert.ToInt32(PositionSize), @"15MinuteEntryLong");
...
}
*Now a graph of a CrossAbove example. White: 5 EMA, Yellow: 8 EMA, Pink: 13 EMA
Comment