I observed the following problems, they are more or less connected, easy to reproduce, annoying, but unresolved for a long time. I want to clarify that none of the following issues happend due to inferior hardware, in fact the system used for testing is one of the fastest single CPU systems available with plenty of RAM and a fast SSDD, win7 64 bit.
for a long time a known issue:
while backtesting, NT becomes mostly unresponsive - that means if you try to shift e.g. a NT chart window, it is laggy and takes time, the degree of unresponsiveness can vary.
This leads to a problem:
Problem 1: I observed that during a backtest, incoming realtime Data is obviously not loaded correctly into the NT Database (for open charts) - realtime chart data can become delayed - that means during and after the backtest, my PC clock shows e.g. 9.40am, but the chart and chartdata latest time is 9.34am. Even if I open a new chart (after the backtest) - the time and data is still delayed and will not adjust. Workaround: restart, reload of data.
1. After a restart the realtime data is displayed correctly again.
2. Reloading historical while running live strategies also works.
But:
Problem 2: both "workarounds" will make you loose the display of "Realized profit"in the strategy tab, since strategies got stoppend and restarted. (long time known issue)!
Problem 3: For those strategies, the lines connecting your prior realtime trades in the performance graph window will be displayed incorrectly - weird, unconnected to chart, and your realized profit for "historical and realtime" will be for sure wrong! (known issue) - this basically alway happens when you shut down NT unproperly while simulating or trading realtime - it does not matter how- pc crash, power loss, kill NT process in Task manager, NT crashes, etc.
Solution: not sure, but it might be that you'll have to add one or 2 more extra columns in your DB to fix it, but I am sure it is possible, since as of now, NT looks very incomplete regarding this issue.
Problem 4: If you try scroll back and forth that performance graph with the weird lines, NT will eventually crash with a big red X across the screen!
(known issue)
To work around problem 1 to 4 it is mandatory after an NT restart to remove and add all strategies manually(to charts and/or strategy tab) and to set again all parameters for each strategy. By doing so I will loose performance of realtime (simulated) trades.
But better than having another crash by looking at the wrong performance results if I do not set up all strategies anew.
Claimed strategy persistence for realtime or realtime simulated trades is not working properly yet. Please fix! (the FREE NT part might be working, but what for you expect users to pay is not yet stable)
Problem 5:
The most dangerous problem:
Sometimes, if many strategies are run at the same time, NT can become unresponsive for a second or 2 as well, or for any other reasons.
*** That means there as well realtimedata can become delayed !!! ***
So there is a true risk, that while running simulation or LIVE strategies, that MAYBE at some point, your realtime data is not in sync with what NT believes to be realtime.
NT will then react to an ordersignal, that was 5 Minutes ago... - can be very expenisve. Please FIX all those issues asap, since they are very very very important!
I can reproduce them anytime! I discussed the weird lines in the graph during realtimesimulation + NT restart or crash with you a long time ago, but somehow you did not consider it as a important issue it seems. The bug is still there, and the red X is still there.
Another unconnected issue I would have liked to mention once again, lets call it Problem 6:
The Print(" ") method should be ignored during/for backtests!!! Since it is useless - if not explain why please.
If you have a complex strategy with several parameters, you might need "Print()" to help you debug, understand etc.
This happens if I forget to put // or /* */ in front of every Print() method before I start a more complex backtest:
- After a very short time into the backtest, my 12 gig RAM are filled up with worthless Print("") data. Result: The backtest will slow down to almost a halt and /or NT will freeze.This depends directly on numbers of iterations.
It is rather timeconsuming /repetitive to add // or /* */ to ignore the Print() methods and to remove them after the test again... and even worse: sometimes I forget to make NT ignore the "Print()" or I oversee one single Print() - result:
NT will freeze, I need to wait for a long time or shut down NT with Task Manager (the more common approach) - this whole print() issue interrupts the workflow a lot.
Please make the backtest routine ignore any "print()" methods.
Comment