Please explain why this is, and how I can make it stop!
Screenshot attached. This is by far one of the worst bugs I've seen in the Strategy Tester.
Here is my order code, which shows the Print statements that you see in the screenshot. If my code is wrong, please correct me. If not, please tell me how to get around this issue so I can have a real Strategy Analyzer test. I paid $1k for this software, and this is a huge huge issue. The last trade in the screenshot should have been a 6 point loss, but instead it was a 13 point win!
** I have downloaded as much historical data as I can. Tick, Minute, Day, etc, covering more than the entire period for the test window, so it definitely is not for a lack of data to process.
** Edit: I changed the of name of my function to myPlaceOrder after looking into the Trace options for orders and seeing that you all use that as an internal function. It did not change the order placement, and also setting TraceOrders to true does nothing. I'm guessing I need to restart all of NT for that option to take effect? Although the documentation does not note this to be the case...
private void myPlaceOrder(string orderType, string orderName) { if (orderType == "short" || orderType == "shortStop" ) { if ( setSLfromLVMA ) { stopLossInTicks = Math.Abs(Close[0]-l_vma.Value[0]); // Math.Abs(stopLoss-Close[0]); } else { stopLossInTicks = SL; // Math.Abs(stopLoss-Close[0]); } stopLoss = Close[0]+stopLossInTicks;//High[HighestBar(High, 10)]+3; myStopLoss1.StartAnchor.Price = stopLoss; entryPrice = Close[0]; EnterShort(orderName); Print(Time[0] + " - [ " + Name + " ] - " + "SELL: Entering market -- Close[0]: " + Close[0] + " StopLoss: " + stopLoss + " StopLossInTicks: " + stopLossInTicks + " TakeProfit1: " + takeProfit1); } else if (orderType == "long" || orderType == "longStop" ) { if ( setSLfromLVMA ) { stopLossInTicks = Math.Abs(Close[0]-l_vma.Value[0]); // Math.Abs(stopLoss-Close[0]); } else { stopLossInTicks = SL; // Math.Abs(stopLoss-Close[0]); } stopLoss = Close[0]-stopLossInTicks; myStopLoss1.StartAnchor.Price = stopLoss; entryPrice = Close[0]; EnterLong(orderName); Print(Time[0] + " - [ " + Name + " ] - " + "BUY: Entering market -- Close[0]: " + Close[0] + " StopLoss: " + stopLoss + " StopLossInTicks: " + stopLossInTicks + " TakeProfit1: " + takeProfit1); } breakEven = false; }
Comment