Profile Picture

A couple of bugs

Posted By andvac 3 Years Ago
Posted Sunday April 26 2015

# bug 1

Using SystemData.Output.Add() in MySystem.Startup() or OutputMessage() in MySymbolScript.Startup() works as expected

Using SystemData.Output.Add() in MySystem.NewBar() or OutputMessage() in MySymbolScript.NewBar() results in the output pane being completely empty. The pane doesn't have neither the messages generated in the NewBar methods, nor the messages in the Startup methods.

# bug 2

Using PositionManager.PositionOverfilledAction = PositionAction.DoNothing still causes warning messages to be printed to the output pane

Can you guys fix these?

Posted Tuesday April 28 2015
The issue with warning messages always showing up for overfills will be fixed in the next build.  Thanks for reporting it!

I wasn't able to reproduce the issue where output messages sent from a NewBar method weren't showing up.  Were you running a simulation, an optimization, or a live system?  Is it possible that there was no data for the symbols and time periods you were running, and hence no bars were generated?  Can you try reproducing the problem with an empty system where you only add the OutputMessage() calls in NewBar()?

Posted Tuesday May 26 2015
Hi Daniel,

Thank you for fixing the issue with the warning messages. The problem with the output messages is tricky. It turns out that if you run a system to completion, the messages are always printed to the output pane as expected. However, if you cancel a backtest before it is completed, no messages are printed to the output pane, not even the ones that Startup methods.

Hopefully you should be able to repro this easily.
Posted Wednesday May 27 2015
Hi andvac,

I think of the system output as being part of the system results.  If you cancel the simulation, you don't get any system results.

Do you often cancel a simulation?  How helpful would it be to get the system output from a cancelled simulation?


Posted Thursday May 28 2015
Hi Daniel,

I sometimes use the system output to quickly debug small things without having to open visual studio, but I don't think it's a good reason to change things if you have other architecture considerations in mind. However, the current behavior is confusing because it depends on how/where you are printing messages to the output pane. The output pane shows the expected output after canceling a simulation if only SystemData.Output.Add() in MySystem.Startup() or OutputMessage() in MySymbolScript.Startup() are used. However, the output pane is completely empty after canceling a simulation if SystemData.Output.Add() in MySystem.NewBar() or OutputMessage() in MySymbolScript.NewBar() are used.

If the user prints from both Startup and NewBar and then cancels the simulation, even the messages printed in Startup won't show up (even though they would have shown up if the user didn't print from NewBar).

Not a big deal, but probably worth making the behavior more consistent.

Similar Topics

Reading This Topic

2005-2018 © RightEdge Systems