I’ve developed a scalping strategy for the S&P 500 e-mini. Through extensive backtesting and walkforward analysis the algorithm theoretically performs well with a solid Sharpe ratio and manageable drawdowns. However, during live operation I’m having difficulty getting limit orders executed at the price levels I need. Thousands of contracts are being executed at the prices I’m targeting but I just can’t get seem to get filled.
My current setup is MultiCharts (chosen for prototyping), Rithmic data feed and Wedbush FCM. While I’m not attempting HFT, the strategy trades frequently with an average hold time of seconds and ‘works’ across multiple tick intervals. I’m using relatively small position sizes of 2-10 contracts.
From what I understand the e-mini’s matching algorithm is FIFO. I’m based in Europe so latency is likely a factor and MultiCharts PowerLanguage is most likely a lot slower to execute than a low-level language. As such, I’m considering porting my code to C/C++ and integrating with R|Diamond API using proximity hosting in Aurora to see if it solves this issue.
Has anyone implemented a similar stack to the above, and did it offer a significant performance improvement?