public Order OpenOrder(string strategyName, decimal currentPrice, decimal stopLoss, decimal takeProfit, string rateName, DateTime openTime, string strategyInfo)
        {
            bool  isReal = !string.IsNullOrEmpty(_activeStrategyName) && strategyName == _activeStrategyName && _enableRealOrders && _activeRates.Contains(rateName);
            Order order  = new Order(_orderSumm, currentPrice, isReal, stopLoss, takeProfit, rateName, strategyName, openTime, strategyInfo);

            if (order.IsReal)
            {
                _enableRealOrders = order.IsReal = StartFx.OpenOrder(rateName, order.Direction, _orderSumm);
            }
            _openedOrders.Add(order);

            if (OpenOrderEvent != null)
            {
                OpenOrderEvent(order);
            }
            return(order);
        }
        public void CloseOrder(Order order, RateRecord rec)
        {
            if (order.RateName != rec.Name)
            {
                return;
            }
            order.ClosePrice = rec.Value;
            order.CloseTime  = rec.UpdateTime;
            if (order.IsReal)
            {
                order.IsReal = _enableRealOrders = StartFx.CloseOrder(order.RateName);
            }
            UpdateStrategyResult(order);

            if (CloseOrderEvent != null)
            {
                CloseOrderEvent(order);
            }


            _openedOrders.Remove(order);
        }