Пример #1
0
        public void ExecuteOrder(OrderCrypto order)
        {
            OrderCrypto tradeOrder = (OrderCrypto)order.Clone();

            tradeOrder.Side = order.Side == Side.BUY ? Side.SELL : Side.BUY;
            TraderSubscriber.SendOrder(tradeOrder, OrderResponce);
        }
Пример #2
0
        /*
         * public void Invoke(string testName)
         * {
         *  // attribute type we search
         *  System.Type attributeType = typeof(TestCommissionAttribute);
         *
         *  // find method
         *  var methodInfo = this.GetType().GetMethods().FirstOrDefault(m =>
         *      m.GetCustomAttributes(attributeType).Cast<TestCommissionAttribute>().Any() &&
         *      string.Equals(m.Name, testName, StringComparison.InvariantCultureIgnoreCase));
         *
         *  if (methodInfo != null)
         *  {
         *      // method found
         *      PrintTestName(methodInfo.Name);
         *      InitializeTestContent();
         *      try
         *      {
         *          methodInfo.Invoke(this, new object[] { methodInfo.Name });
         *      }
         *      catch (Exception ex)
         *      {
         *          Console.WriteLine(ex.Message);
         *      }
         *  }
         * }
         *
         * public void InvokeAll()
         * {
         *  System.Type attributeType = typeof(TestCommissionAttribute);
         *
         *  var methodsInfo = this.GetType().GetMethods().Where(m =>
         *      m.GetCustomAttributes(attributeType).Cast<TestCommissionAttribute>().Any()).ToList();
         *
         *  foreach (var method in methodsInfo)
         *  {
         *      PrintTestName(method.Name);
         *      InitializeTestContent();
         *      try
         *      {
         *          method.Invoke(this, new object[] { method.Name });
         *      }
         *      catch (Exception ex)
         *      {
         *          Console.WriteLine(ex.Message);
         *      }
         *  }
         * }
         *
         * private void PrintTestName(string testName)
         * {
         *  Console.WriteLine("Start test: {0}", testName);
         * }
         */

        public void TestsConstructor(string testName, OrderType orderType, Side orderSide, CommissionAccount account, CommissionMethod method, bool isPassive)
        {
            InitializeTestContent();

            TestContent.TradeSettings.Settings.BuyerTakerCommissionProgressive  = 7;
            TestContent.TradeSettings.Settings.SellerTakerCommissionProgressive = 5;
            TestContent.TradeSettings.Settings.BuyerMakerCommissionProgressive  = 6;
            TestContent.TradeSettings.Settings.SellerMakerCommissionProgressive = 4;

            if (orderSide == Side.BUY)
            {
                TestContent.TradeSettings.Settings.BuyerCommissionAccount = account;
                TestContent.TradeSettings.Settings.BuyerCommissionMethod  = method;
            }
            if (orderSide == Side.SELL)
            {
                TestContent.TradeSettings.Settings.SellerCommissionAccount = account;
                TestContent.TradeSettings.Settings.SellerCommissionMethod  = method;
            }

            ConfiguratorService.SaveTradeSetting(User.UserId, TestContent.TradeSettings.Settings);

            Order = new OrderCrypto()
            {
                Destination = Exchange,
                Quantity    = method == CommissionMethod.TERM_TICKS ? 2 : 0.01,
                Side        = orderSide,
                Type        = orderType,
                SecurityId  = Symbol,
            };

            if (orderType == OrderType.LIMIT)
            {
                Order.Price       = CalcAggressiveOrderPrice(orderSide);
                Order.TimeInForce = isPassive ? TimeInForce.DAY : TimeInForce.IOC;
            }

            GeneralCheck(testName, isPassive);
        }
 public void SendOrder(OrderCrypto order, Action <string> action)
 {
     WebSocketService.SendMessage("", CreateOrder, order, action);
 }
Пример #4
0
 public static string GetSendOrderRequest(OrderCrypto order)
 {
     return(String.Format("correlation-id:ioeswd7t9m\r\nX-Deltix-Nonce:{0}\r\ndestination:/app/v1/orders/create\r\n\r\n{1}",
                          StompWebSocketService.ConvertToUnixTimestamp(DateTime.Now),
                          JsonConvert.SerializeObject(order)));
 }