Hi All, first of all congrats on what seems to be a great project. 

I've been programing in Ninjatrader for some time. My biggest criticism with NT, (which I have several but this is one of the deal breakers) is that for quant trading the backtesting features are not at par with the rest of the platform. Without getting into many details, the fill order criteria on limit orders can be one of two in NT. 

  1. Fill on touch
  2. or not. In this case there is an order engine that is supposed to estimatite a real fill process (queue) based on market conditions. 

I don't see much use for 1) if the object is to run it on live market conditions. The second one is more useful and there could be an even worst case scenario such as "fill on penetrate" for example where a limit order gets filled if price surpasses the limit by a tick. NT's problem is not this criteria, but how the data is streamed during backtesting and how the orders are filled. All though with NT8 there is an option to have "Tick Replay" during backtesting which basically streams the data tick by tick, the fill process when "fill on touch" is not selected generates wrong fills; meaning orders will often not get filled where they are supposed to (usually there will be a 1 tick difference from where the order should have been filled). 

For a discretionary trader with large tragets, that is probably insignificant, but for quant trading it could imply a big difference. 

1st question: could you tell me what fill criterias are available with LEAN? I understand there is only one data stream mode (tick by tick) for both back testing and live trading which is PERFECT, so I'm just curious to understand the fill process of limit orders. 

My second criticism of NT is the CRASH ratio of the aplication itself and its inability to automatically recover from it.

2nd question: 
- how does LEAN handle or the service running LEAN recover from eventual crashes? 
- how does LEAN handle connection losses to either data feed or broker? 
- is there a way to get notifications in such cases?

Many thanks, 

Julio

Author