In testing I am comparing the values of two EMAs and I see that they are triggering both a CrossAbove and CrossBelow. The difference between the two ema is approximately "0.00002465761999". I know there are some issues comparing doubles/floating numbers because of rounding. That is why I am asking.
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:00:00 AM Current Bar #: 6177 EMA_B: 1.13650664140247
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:01:00 AM Current Bar #: 6178 EMA_A: 1.13643699773493
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:01:00 AM Current Bar #: 6178 EMA_B: 1.13647664982387
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:02:00 AM Current Bar #: 6179 EMA_A: 1.13653677702276
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:02:00 AM Current Bar #: 6179 EMA_B: 1.13652887766036
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:03:00 AM Current Bar #: 6180 EMA_A: 1.13660114789647
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:03:00 AM Current Bar #: 6180 EMA_B: 1.13656480732913
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:04:00 AM Current Bar #: 6181 EMA_A: 1.13659371596549
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:04:00 AM Current Bar #: 6181 EMA_B: 1.13656987155275
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:05:00 AM Current Bar #: 6182 EMA_A: 1.13660901643294
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:05:00 AM Current Bar #: 6182 EMA_B: 1.13658435881295
Crossed Above
Crossed Below
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:06:00 AM Current Bar #: 6183 EMA_A: 1.13664078325543
From Strategy - Calculate.OnEachTick 1 Min Heiken-Ashi 12:06:00 AM Current Bar #: 6183 EMA_B: 1.13661068365307
Crossed Above
Crossed Below
string t = string.Format("{0:T}", Time[0]);
Print("From Strategy - Calculate." + Calculate.ToString() + " " + Bars.BarsPeriod + " " + t + " Current Bar #: " + CurrentBar + " EMA_A: " + ema_a[0]);
Print("From Strategy - Calculate." + Calculate.ToString() + " " + Bars.BarsPeriod + " " + t + " Current Bar #: " + CurrentBar + " EMA_B: " + ema_b[0]);
if(CrossAbove(ema_a,ema_b,1));
{
Print("Crossed Above");
EnterLong(0,DefaultQuantity,"TestLong");
}
if(CrossBelow(ema_a,ema_b,1));
{
Print("Crossed Below");
EnterShort(0,DefaultQuantity,"TestShort");
}
Comment