First of all, just started using RightEdge. Absolutely amazing software. I'm new to trading in general and was really happy to find something that provided actual backtesting through arbitrary code that I write and not some silly proprietary scripting language.
I've written my trading systems so far in Python rather than C# because the numeric/scientific stack is both more mature (settled on numpy/scipy long ago) and faster (uses BLAS/LAPACK so can use Intel MKL and friends). My C# code simply sets up a bridge between Python and C# using Pythonnet (http://pythonnet.github.io/).
Disabling and re-enabling the Python engine is highly unstable at the moment, and I've not yet been able to successfully disable and enable it without causing a crash. As a result I need to close and re-start RightEdge every time I want to run a new simulation.
So, is it possible that RightEdge could run its simulations a bit more defensively such as by running them in a separate process, so if the sim crashes it won't take down the whole RightEdge process? Plus that way, when a sim ends, all resources that it launched are cleaned up.
If defending against buggy user code seems beyond the scope of RightEdge, perhaps what I can do instead is write a plugin that holds a single Python engine and funnel all requests through it.
Thursday February 04 2016 by