// работа с ордерами /// <summary> /// место работы потока на очередях исполнения заявок и их отмены /// </summary> private void ExecutorOrdersThreadArea() { while (true) { try { Thread.Sleep(20); if (_ordersToExecute != null && _ordersToExecute.Count != 0) { Order order; if (_ordersToExecute.TryDequeue(out order)) { _clientBinance.ExecuteOrder(order); } } else if (_ordersToCansel != null && _ordersToCansel.Count != 0) { Order order; if (_ordersToCansel.TryDequeue(out order)) { _clientBinance.CanselOrder(order); } } } catch (Exception error) { SendLogMessage(error.ToString(), LogMessageType.Error); } } }
/// <summary> /// send order /// исполнить ордер /// </summary> public void SendOrder(Order order) { _client.ExecuteOrder(order); }