How is this error possible?

 

I'm absolutely stunned by the behaviour of my EA during strategy testing. Why in the world are there two different outputs. How could Ask be perfectly divisible by CurrentProfitTarget and not equal to CurrentProfitTarget? Here is the relevant code:


Print("LookForClose()");
Print("Ask/CurrentProfitTarget: ", Ask/CurrentProfitTarget);
Print("Ask*10000: ", Ask*10000000, " CurrentProfitTarget*10000000 ", CurrentProfitTarget*10000000);
Print("Bid: ", Bid, " Ask: ", Ask, " TradeDirection: ", TradeDirection, " CurrentProfitTarget: ",

CurrentProfitTarget, " ProfitTargetFlag: ", ProfitTargetFlag);
if(ProfitTargetFlag == 0)
{ if(TradeDirection == "DOWN")
Print("First part matches");
if(Ask == CurrentProfitTarget)
Print("Second part matches");
if(TradeDirection == "UP" && Bid == CurrentProfitTarget)
ProfitTargetFlag = 1;
if(TradeDirection == "DOWN" && Ask == CurrentProfitTarget)
ProfitTargetFlag = 1;
if(ProfitTargetFlag == 1)
Print("Profit Target has been reached.");
}


Relevant Output 1:

13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: LookForClose()
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: Ask/CurrentProfitTarget: 1
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: Ask*10000: 13146000 CurrentProfitTarget*10000000 13146000
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: Bid: 1.3144 Ask: 1.3146 TradeDirection: DOWN CurrentProfitTarget: 1.3146 ProfitTargetFlag: 0
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: First part matches
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: Second part matches
13:30:02 2009.04.13 00:09 EA EURUSDFXF,M15: Profit Target has been reached.


Relevant Output 2:
13:30:02 2009.04.13 00:16 EA EURUSDFXF,M15: LookForClose()
13:30:02 2009.04.13 00:16 EA EURUSDFXF,M15: Ask/CurrentProfitTarget: 1
13:30:02 2009.04.13 00:16 EA EURUSDFXF,M15: Ask*10000: 13136000 CurrentProfitTarget*10000000 13136000
13:30:02 2009.04.13 00:16 EA EURUSDFXF,M15: Bid: 1.3134 Ask: 1.3136 TradeDirection: DOWN CurrentProfitTarget: 1.3136 ProfitTargetFlag: 0
13:30:02 2009.04.13 00:16 EA EURUSDFXF,M15: First part matches

 

ZETZ wrote >>


Uninstalling and reinstalling MetaTrader seems to resolve this problem.

Reason: