public void Inputs_Setup() { this.tradingData = new TradingDataContext(); this.signalQueue = new ObservableQueue <Signal>(); this.strategyHeader = new StrategyHeader(1, "Break out", "BP12345-RF-01", "RTS-9.13_FT", 10); this.tradingData.Get <ICollection <StrategyHeader> >().Add(this.strategyHeader); this.barSettings = new BarSettings(this.strategyHeader, "RTS-9.13_FT", 3600, 19); this.tradingData.Get <ICollection <BarSettings> >().Add(this.barSettings); this.handler = new BreakOutOnTick(this.strategyHeader, this.tradingData, this.signalQueue, new NullLogger()); FillTradingDataWithBars(); Assert.AreEqual(0, this.signalQueue.Count); Assert.IsFalse(this.tradingData.PositionExists(this.strategyHeader)); Assert.IsFalse(this.tradingData.UnfilledExists(this.strategyHeader)); }
static void Main(string[] args) { LogAssemblyInfo(); AddStrategySettings(); StrategiesPlaceStopLossByPointsOnTradeHandlers stopLossOnTradeHandlers = new StrategiesPlaceStopLossByPointsOnTradeHandlers(TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance, AppSettings.GetValue <bool>("MeasureStopFromSignalPrice")); StrategiesStopLossByPointsOnTickHandlers stopLossOnTickHandlers = new StrategiesStopLossByPointsOnTickHandlers(TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance, AppSettings.GetValue <bool>("MeasureStopFromSignalPrice")); StrategiesPlaceTakeProfitByPointsOnTradeHandlers takeProfitOnTradeHandlers = new StrategiesPlaceTakeProfitByPointsOnTradeHandlers(TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance, AppSettings.GetValue <bool>("MeasureProfitFromSignalPrice")); StrategiesTakeProfitByPointsOnTickHandlers takeProfitOnTickHandlers = new StrategiesTakeProfitByPointsOnTickHandlers(TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance, AppSettings.GetValue <bool>("MeasureProfitFromSignalPrice")); SmartComHandlers.Instance.Add <_IStClient_DisconnectedEventHandler>(ScalperIsDisconnected); SmartComHandlers.Instance.Add <_IStClient_ConnectedEventHandler>(ScalperIsConnected); BreakOutOnTick openHandler = new BreakOutOnTick(strategyHeader, TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance); UpdateBarsOnTick updateBarsHandler = new UpdateBarsOnTick(barSettings, new TimeTracker(), TradingData.Instance, DefaultLogger.Instance); AddStrategySubscriptions(); adapter.Start(); while (true) { try { string command = Console.ReadLine(); if (command == "x") { adapter.Stop(); ExportData <Order>(AppSettings.GetValue <bool>("ExportOrdersOnExit")); ExportData <Trade>(AppSettings.GetValue <bool>("ExportTradesOnExit")); break; } if (command == "p") { Console.Clear(); Console.WriteLine(String.Format("Реализованный профит и лосс составляет {0} пунктов", TradingData.Instance.GetProfitAndLossPoints(strategyHeader))); } if (command == "t") { Console.Clear(); foreach (Trade item in TradingData.Instance.Get <IEnumerable <Trade> >()) { Console.WriteLine(item.ToString()); } } if (command == "b") { Console.Clear(); foreach (Bar item in TradingData.Instance.Get <IEnumerable <Bar> >()) { Console.WriteLine(item.ToString()); } } } catch (System.Runtime.InteropServices.COMException e) { DefaultLogger.Instance.Log(e.Message); adapter.Restart(); } } }