Exemplo n.º 1
0
 public void Disconnect()
 {
     if (QuikApi.TRANS2QUIK_SUCCESS
         == QuikApi.Disconnect())
     {
         OnDisconnected(this, null);
     }
 }
Exemplo n.º 2
0
        public void Connect()
        {
            if (IsConnected)
            {
                throw new Exception("It has been connected already.");
            }

            if (QuikApi.TRANS2QUIK_SUCCESS
                == QuikApi.Connect(PathToQuik))
            {
                QuikApi.MultiSubscribe();
                OnConnected(this, null);
            }
        }
Exemplo n.º 3
0
        public OrderResult SendTransaction(Direction direction, int volume, string clientcode = "")
        {
            TransId++;

            string transactionString = string.Format(CultureInfo.InvariantCulture, "ACCOUNT={0};TYPE=M;TRANS_ID={1};CLASSCODE={2};SECCODE={3};ACTION=NEW_ORDER;OPERATION={4};PRICE=0;QUANTITY={5};CLIENT_CODE={6};",
                                                     Account, TransId, ClassCode, SecCode, (char)direction, volume, clientcode);

            double orderNum = 0;

            long replyCode = 0;

            long result = QuikApi.send_sync_transaction_test(transactionString, ref orderNum, ref replyCode);

            return(new OrderResult(TransId, orderNum, (ReplyCode)replyCode, (ResultCode)result));
        }
Exemplo n.º 4
0
        public OrderResult KillOrder(long transId, double orderNum)
        {
            if (!Orders.ContainsKey(orderNum))
            {
                throw new ArgumentException(string.Format("Order for {0} with orderNum = {1} is NOT FOUND."));
            }

            string kill = string.Format(CultureInfo.InvariantCulture, "CLASSCODE={0}; SECCODE={1}; TRANS_ID={2}; ACTION=KILL_ORDER; ORDER_KEY={3};",
                                        ClassCode, SecCode, transId, orderNum);

            long replyCode = 0;

            ResultCode result = (ResultCode)QuikApi.send_sync_transaction_test(kill, ref orderNum, ref replyCode);

            return(new OrderResult(transId, orderNum, (ReplyCode)replyCode, result));
        }
Exemplo n.º 5
0
 public override string ToString() => QuikApi.ResultToString(nConnectionEvent);