private bool IsOverflooded(TradeTransactionRequest request, MarketOrder order) { try { var isFlooded = RequestStorage.Instance.CheckOverflood(); if (isFlooded) { var errorResponse = new BrokerService.Contract.Entity.BrokerResponse { AccountId = request.Account, Mt4OrderId = request.ClosingPositionId ?? 0, RejectReason = OrderRejectReason.UnableMassCancel, Status = OrderStatus.Rejected, RejectReasonString = "overflood", RequestId = request.Id, ValueDate = DateTime.Now }; ServerInterface.NotifyClientOnOrderRejected(order, errorResponse.RejectReasonString); return(true); } } catch (Exception ex) { Logger.Error("Error in CheckOverflood()", ex); return(true); } return(false); }
private RequestStatus MakeMarketRequest(TradeTransactionRequest request, MarketOrder order) { Logger.InfoFormat("Отправка запроса в MT4 ({0}): {1}", DealerCode, request); try { RequestStorage.Instance.StoreRequest(new RequestedOrder(request, order)); rabbitServer.SendRequest(request); return(RequestStatus.OK); } catch (Exception ex) { Logger.Error("Ошибка отправки запроса MT4", ex); return(responseNative[BrokerService.Contract.Entity.RequestStatus.ErrorOnExecute]); } }
public void SendRequest(TradeTransactionRequest request) { rabbitSender.SendObject(request); }
private RequestStatus MakeMarketRequest(TradeTransactionRequest request, MarketOrder order) { Logger.InfoFormat("Отправка запроса в MT4 ({0}): {1}", DealerCode, request); try { RequestStorage.Instance.StoreRequest(new RequestedOrder(request, order)); rabbitServer.SendRequest(request); return RequestStatus.OK; } catch (Exception ex) { Logger.Error("Ошибка отправки запроса MT4", ex); return responseNative[BrokerService.Contract.Entity.RequestStatus.ErrorOnExecute]; } }
private bool IsOverflooded(TradeTransactionRequest request, MarketOrder order) { try { var isFlooded = RequestStorage.Instance.CheckOverflood(); if (isFlooded) { var errorResponse = new BrokerService.Contract.Entity.BrokerResponse { AccountId = request.Account, Mt4OrderId = request.ClosingPositionId ?? 0, RejectReason = OrderRejectReason.UnableMassCancel, Status = OrderStatus.Rejected, RejectReasonString = "overflood", RequestId = request.Id, ValueDate = DateTime.Now }; ServerInterface.NotifyClientOnOrderRejected(order, errorResponse.RejectReasonString); return true; } } catch (Exception ex) { Logger.Error("Error in CheckOverflood()", ex); return true; } return false; }
public RequestedOrder(TradeTransactionRequest request, TradeSharp.Contract.Entity.MarketOrder requestedOrder) : this() { this.request = request; this.requestedOrder = requestedOrder; }
public RequestedOrder(TradeTransactionRequest request, TradeSharp.Contract.Entity.MarketOrder requestedOrder) { this.request = request; this.requestedOrder = requestedOrder; }