public void Disconnect() { if (QuikApi.TRANS2QUIK_SUCCESS == QuikApi.Disconnect()) { OnDisconnected(this, null); } }
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); } }
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)); }
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)); }
public override string ToString() => QuikApi.ResultToString(nConnectionEvent);