public UnitOfWork(FxContext context) { _context = context; Price = new PriceRepository(_context); Candle = new CandleRepository(_context); Trade = new TradeRepository(_context); }
public JsonResult GetData(string security) { WebApiClient client = new WebApiClient(); CandleRepository repo = new CandleRepository(client); var task = repo.GetHistory(security, new DateTime(2018, 1, 30), "1"); var candles = task.Result; long DatetimeMinTimeTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks; var arr = new List <object>(); foreach (ICandle candle in candles) { var ticks = candle.begin.ToUniversalTime().Ticks - DatetimeMinTimeTicks; long dt = ticks / 10000; arr.Add(new object[] { dt, candle.open, candle.high, candle.low, candle.close }); } return(Json(arr)); }
public SecurityDetailsViewModel(INavigationService navigationService, CandleRepository candleRepository, IChart chart) { this._navigationService = navigationService; this._candleRepository = candleRepository; Messenger.Default.Register <SecurityLoadedMessage>(this, (msg) => { this._security = msg.Security; IList <ICandle> candlelist = _candleRepository.GetHistory(_security.Code, new DateTime(2017, 3, 10), "60").Result.ToList(); chart.ShowCandles(candlelist); SimpleMovingAverage sma = new SimpleMovingAverage(candlelist, 26); chart.ShowMA(sma, Colors.Yellow); SimpleMovingAverage sma2 = new SimpleMovingAverage(candlelist, 12); chart.ShowMA(sma2, Colors.LemonChiffon); //ExponentialMovingAverage ema = new ExponentialMovingAverage(candlelist, 9); //chart.ShowMA(ema, Colors.Blue); MACD macd = new MACD(candlelist, 12, 26, 9); chart.ShowMACD(macd, Colors.Blue); }); }
public UnitOfWork(MyDatabase context) { this.context = context; Cares = new CareRepository.CareRepository(context); FaceCreams = new FaceCreamRepository(context); Hairs = new HairRepository(context); Lotions = new LotionRepository(context); ShaveBeards = new ShaveBeardRepository(context); FoodHerbs = new FoodHerbRepository(context); Salts = new SaltRepository(context); Spices = new SpiceRepository(context); SproutingSeeds = new SproutingSeedRepository(context); Teas = new TeaRepository(context); Candles = new CandleRepository(context); EssentialOils = new EssentialOilRepository(context); Homes = new HomeRepository.HomeRepository(context); HomeCleanings = new HomeCleaningRepository(context); Kitchens = new KitchenRepository(context); PowerHealths = new PowerHealthRepository(context); SuperFoods = new SuperFoodRepository(context); Supplements = new SupplementRepository.SupplementRepository(context); Orders = new OrderRepository(context); Products = new ProductRepository(context); Users = new UserRepository(context); }
public UnitOfWork(ArchimedesContext context) { _context = context; Price = new PriceRepository(_context); Candle = new CandleRepository(_context); Trade = new TradeRepository(_context); Market = new MarketRepository(_context); PriceLevel = new PriceLevelRepository(_context); Strategy = new StrategyRepository(_context); }
public JsonResult GetDecisions() { IList <StrategyDecision> decisions = new List <StrategyDecision>(); IList <string> securityList = new List <string>(); securityList.Add("GMKN"); securityList.Add("LKOH"); securityList.Add("MOEX"); IDictionary <string, IDictionary <string, IList <ICandle> > > dic = new Dictionary <string, IDictionary <string, IList <ICandle> > >(); WebApiClient client = new WebApiClient(); CandleRepository repo = new CandleRepository(client); AnalystStrategy strategy = new AnalystStrategy(); foreach (string sec in securityList) { var task = repo.GetHistory(sec, DateTime.Now.AddDays(-14), "60"); var candles = task.Result; dic.Add(sec, new Dictionary <string, IList <ICandle> >()); dic[sec].Add("60", candles.ToList()); } foreach (string sec in securityList) { decisions.Add(strategy.GetDecision(dic[sec], sec, "free", DateTime.Now)); } JsonResult res = Json(decisions); return(res); }
public TradeModel(TradeSessionRepository TradeSessionRepository, CandleRepository CandleRepository, OrderRepository OrderRepository, PositionRepository PositionRepository, DealRepository DealRepository, WebApiClient client, ITradeMode mode, Mode modeProperties, object token) { _token = token; _tradeSessionRepository = TradeSessionRepository; _candleRepository = CandleRepository; _orderRepository = OrderRepository; _positionRepository = PositionRepository; _dealRepository = DealRepository; _apiClient = client; _mode = mode; _modeProperties = modeProperties; _candles = new Dictionary <string, IDictionary <string, IList <ICandle> > >(); Messenger.Default.Register <InitTradeModelMessage>(this, _token, async(msg) => { var temp_sessions = await _tradeSessionRepository.GetAll(); _sessions = temp_sessions.OrderBy(t => t.Date).ToList(); _mode.SetAction("init", () => { foreach (string sec in msg.securities) { _candles[sec] = new Dictionary <string, IList <ICandle> >(); foreach (string frame in msg.frames) { string res = InitCandles(sec, frame).Result; } } }); _mode.SetAction("initEmpty", () => { foreach (string sec in msg.securities) { _candles[sec] = new Dictionary <string, IList <ICandle> >(); foreach (string frame in msg.frames) { _candles[sec][frame] = new List <ICandle>(); } } }); _mode.SetAction("update", () => { IEnumerable <Candle> candles = _candleRepository.GetAll().Result; _positionlist = _positionRepository.GetAll().Result; foreach (string sec in msg.securities) { var tempData = candles.Where(c => c.Code == sec).OrderBy(c => c.begin); UpdateCadles(sec, tempData, msg.frames); } this._positions = GetPositions(_positionlist, msg.securities); }); _mode.SetAction("sendToRobo", () => { Messenger.Default.Send <GetCandlesResponseMessage>(new GetCandlesResponseMessage() { DateTime = mode.GetDate(), Сandles = _candles, Positions = _positions }, _token); }); _mode.SetAction("showData", () => { _dealRepository.GetAll().ContinueWith(t => { Messenger.Default.Send <ShowDataMessage>(new ShowDataMessage() { Сandles = CopyCandles(_candles), Deals = t.Result, Positions = _positionlist }); }); }); mode.Start(); }); Messenger.Default.Register <CreateOrderMessage>(this, msg => { Order order = new Order() { Code = msg.Code, OrderOperation = msg.OrderOperation, Account = _modeProperties.Account, Price = msg.Price, Count = msg.Count, Class = _modeProperties.Class, Client = _modeProperties.Client, Comment = _modeProperties.Client, Profit = msg.Profit, StopLoss = msg.StopLoss }; string result = _orderRepository.Create(order).Result; }); //Messenger.Default.Register<GetCandlesMessage>(this, (msg) => //{ // Messenger.Default.Send<GetCandlesResponseMessage>(new GetCandlesResponseMessage() // { // Сandles = _candles // }); //}); Messenger.Default.Register <ClosePositionMessage>(this, msg => { string result = _apiClient.GetData(string.Format("{0}admin/ClosePosition?sec={1}", this.ServerURL, msg.Code)).Result; }); }