Recently both my developer and myself have encountered junk data in the Zen Data feed.
The problem is the Double variable is a floating point and sometimes has junk in the sub-tick data that cause it to not compare correctly to another variable with the exact correct value.
Here is the note from my developer:
================================================== ===
Can you believe that the weird "sometimes it will, sometimes it won't"
behaviour of the indicator was ROUNDING ERROR!?!
When you compare Close[0] with Open[0] you don't expect to be measuring 1.2450 with 1.24500000000000000017. But that's what was happening. I could have punched the screen.
================================================== ===
It cost him two hours to find this problem, and I probably spent at least that when I had a similar problem with code I'm writing.
Not only does this create a problem for coder, but it also creates operational bugs in code that are written correctly.
Personally I consider it a serious bug in either NinjaTrader or the Zen Data feed.
Is it too much to expect the Ninja functions to return the exact tick price, nothing more or less, even if it is down to extremely insignificant digits?
As coders we should not have to worry about the precision of the data feed, especially if it is a Zen Fire feed.
And we should not have to massage the data on each tick with a cleanup function like Instrument.MasterInstrument.Round2TickSize(value).
Cannot Ninja or Zen clean the data before it is given to us? Or at lease provide a global run time option that does this automatically?
In the world of Financial applications, say like in the banking and any accounting systems, you would never find applications using a floating point (Double) to store or calculate prices or dollar (any currency) amounts. The precision is not good enough.
How about a run time option in the Control Panel/Options to clean up the ZenFire, or other feed?
Thanks....

Comment