The S# library contains a mechanism of multithreaded trading strategies writing described by the Strategy class. The advantages of this approach are as follows:
- The ability to use the event model, to handle in parallel tens (hundreds, depending on the computer performance and the complexity of the algorithm) instruments with different parameters: time frames, volumes, etc. For more details see the Creating strategies section.
- The ability to use the iteration model. If you want a simple strategy implementation, that not critical to the execution speed. For more details see Iteration model.
- Automatic metric of orders and trades. The ability to obtain the calculated values of Slippage, Profit-lossPosition and Latency
- Commission calculating when trading.
- Complex strategies creating using the Child strategies approach.
- The market orders emulation (where it not supported) through the Quoting strategy.
- Built-in strategies connecting, such as Take-profit and Stop-loss.
- The export to Excel or Xml files of reports about strategy operation statistics. For more details see in the Reports section.
- The isolation of the trading logic from the system that allows to transfer strategy in a compiled code between computers.
- Flexible Logging.
- Monitoring of work by using the graphical window.
- The simulation on historical (backtesting), real-time (without actual registration orders - “paper trading”) and completely random data.
- The settings saving to a file for the work recovery after the algorithm reboot, as well as loading of previous operations.