コード例 #1
0
 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);
 }
コード例 #2
0
ファイル: Mt4Dealer.cs プロジェクト: rafysanchez/TradeSharp
        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]);
            }
        }
コード例 #3
0
ファイル: RabbitServer.cs プロジェクト: johnmensen/TradeSharp
 public void SendRequest(TradeTransactionRequest request)
 {
     rabbitSender.SendObject(request);
 }
コード例 #4
0
ファイル: Mt4Dealer.cs プロジェクト: johnmensen/TradeSharp
        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];
            }
        }
コード例 #5
0
ファイル: Mt4Dealer.cs プロジェクト: suspended/TradeSharp
 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;
 }
コード例 #6
0
 public RequestedOrder(TradeTransactionRequest request,
                       TradeSharp.Contract.Entity.MarketOrder requestedOrder) : this()
 {
     this.request        = request;
     this.requestedOrder = requestedOrder;
 }
コード例 #7
0
 public RequestedOrder(TradeTransactionRequest request, TradeSharp.Contract.Entity.MarketOrder requestedOrder)
 {
     this.request = request;
     this.requestedOrder = requestedOrder;
 }
コード例 #8
0
 public void SendRequest(TradeTransactionRequest request)
 {
     rabbitSender.SendObject(request);
 }