private void OpenOrCloseOrders(string strategyName, IStrategyDecision decision, RateRecord rec) { decimal lastValue = rec.Value; if (decision.Direction == 0) { return; } Order openedOrder = _orderController.GetOpenedOrder(strategyName, rec.Name); if (openedOrder != null) { if (openedOrder.Direction * decision.Direction > 0) { openedOrder.TakeProfit = decision.TakeProfit; } else { _orderController.CloseOrder(openedOrder, rec); } } else { _orderController.OpenOrder(strategyName, lastValue, decision.StopLoss, decision.TakeProfit, rec.Name, rec.UpdateTime, decision.AdditionalInfo); } }