public async Task <IActionResult> PutHistoryBuyOrder(string strategyId, [FromBody] JsonOrderModel orderModel, long timestamp)
        {
            if (!orderModel.rate.HasValue)
            {
                var rate = await _marketDataService.GetHistoryRate(orderModel.exchange, orderModel.symbol, timestamp);

                if (rate == null)
                {
                    return(BadRequest("Cannot get rate"));
                }
                orderModel.rate = rate;
            }
            var result = await _tradeService.PutOrder(_mapper.Map <TradeOrder>(orderModel), strategyId, OrderType.Buy);

            if (result.Success)
            {
                return(Ok(result.Data));
            }
            return(BadRequest(result.Data));
        }
        public async Task <IActionResult> PutBuyOrder(string strategyId, [FromBody] JsonOrderModel orderModel)
        {
            var currentRates = await _marketDataService.GetCurrentRates(orderModel.exchange);

            if (!currentRates.ContainsKey(orderModel.symbol))
            {
                return(BadRequest("Cannot get current rate"));
            }
            if (!orderModel.rate.HasValue)
            {
                orderModel.rate = currentRates[orderModel.symbol];
            }
            var result = await _tradeService.PutOrder(_mapper.Map <TradeOrder>(orderModel), strategyId, OrderType.Buy);

            if (result.Success)
            {
                return(Ok(result.Data));
            }
            return(BadRequest(result.Data));
        }