Beispiel #1
0
 public StrategyRunner(
     IBrokersCandlesService candleService,
     IBroker broker,
     IBrokersService brokersService)
 {
     _candleService  = candleService;
     _broker         = broker;
     _brokersService = brokersService;
 }
Beispiel #2
0
        public Trainer(IBrokersCandlesService candlesService, IBrokersService brokersService)
        {
            _candlesService = candlesService;
            _brokersService = brokersService;

            _dataGenerator = new DataGenerator(_candlesService, _brokersService);
            ManualResetEvent dispatcherReadyEvent = new ManualResetEvent(false);

            new Thread(new ThreadStart(() =>
            {
                _modelDispatcher = Dispatcher.CurrentDispatcher;
                dispatcherReadyEvent.Set();
                Dispatcher.Run();
            })).Start();

            dispatcherReadyEvent.WaitOne();
        }
Beispiel #3
0
        public static decimal GetProfitForLatestDay(this Trade trade, IBrokersCandlesService candlesService, IBrokersService brokersService, IMarketDetailsService marketDetailsService)
        {
            var broker = brokersService.Brokers.FirstOrDefault(x => x.Name == trade.Broker);

            if (broker != null)
            {
                var marketDetails = marketDetailsService.GetMarketDetails(broker.Name, trade.Market);

                var now     = DateTime.UtcNow;
                var endDate = trade.CloseDateTime != null
                    ? new DateTime(trade.CloseDateTime.Value.Year, trade.CloseDateTime.Value.Month, trade.CloseDateTime.Value.Day, 23,
                                   59, 59, DateTimeKind.Utc)
                    : new DateTime(now.Year, now.Month, now.Day, 23, 59, 59, DateTimeKind.Utc);
                var startDate = new DateTime(endDate.Year, endDate.Month, endDate.Day, 0, 0, 0, DateTimeKind.Utc);
                return(trade.GetTradeProfit(endDate, Basics.Timeframe.D1, candlesService, marketDetails, broker, false)
                       - trade.GetTradeProfit(startDate, Basics.Timeframe.D1, candlesService, marketDetails, broker, false));
            }

            return(decimal.MinValue);
        }
 /// <summary>
 /// Broker controller cons
 /// </summary>
 /// <param name="brokersService"></param>
 public BrokersController(IBrokersService brokersService)
 {
     _brokersService = brokersService;
 }
 static TradeCalculator()
 {
     _candlesService = DependencyContainer.Container.GetExportedValue <IBrokersCandlesService>();
     _brokersService = DependencyContainer.Container.GetExportedValue <IBrokersService>();
     _marketsService = DependencyContainer.Container.GetExportedValue <IMarketDetailsService>();
 }
 public DataGenerator(IBrokersCandlesService candlesService, IBrokersService brokersService)
 {
     _candlesService = candlesService;
     _brokersService = brokersService;
 }