static void Main(string[] args) { TradingData.Instance.Get <ICollection <Strategy> >().Add(strategy); //BarSettings barSettings = new BarSettings(strategy, "RIH4", 3600, 3); BarSettings barSettings = new BarSettings(strategy, "SPFB.RTS-3.14", 3600, 3); TradingData.Instance.Get <ICollection <BarSettings> >().Add(barSettings); BreakOutOnBar breakOnBar = new BreakOutOnBar(strategy, TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance); StopLossOnBar stopLossOnBar = new StopLossOnBar(strategy, 100, TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance); TakeProfitOnBar takeProfitOnBar = new TakeProfitOnBar(strategy, 100, TradingData.Instance, SignalQueue.Instance, DefaultLogger.Instance); ITransaction importBars = new ImportBarsTransaction(TradingData.Instance.Get <ObservableCollection <Bar> >(), "bars.txt"); importBars.Execute(); while (true) { try { string command = Console.ReadLine(); if (command == "stop") { break; } if (command == "pnl") { Console.WriteLine(String.Format("Реализованный профит и лосс составляет {0} пунктов", TradingData.Instance.GetProfitAndLossPoints(strategy))); } } catch (System.Runtime.InteropServices.COMException e) { DefaultLogger.Instance.Log(e.Message); } } }
public void Setup() { this.tradingData = new TradingDataContext(); this.signalQueue = new ObservableQueue <Signal>(); this.strategyHeader = new StrategyHeader(1, "Description", "BP12345-RF-01", "RTS", 10); this.tradingData.Get <ICollection <StrategyHeader> >().Add(this.strategyHeader); this.barSettings = new BarSettings(this.strategyHeader, this.strategyHeader.Symbol, 60, 3); this.tradingData.Get <ICollection <BarSettings> >().Add(this.barSettings); BreakOutOnBar handler = new BreakOutOnBar(this.strategyHeader, this.tradingData, this.signalQueue, new NullLogger()); Assert.AreEqual(0, this.signalQueue.Count); }