public CallResult <string[]> UnSubscribe(string[] codes) { string str = ""; if (codes != null && codes.Length > 0) { foreach (var s in codes) { str += s + ","; } } IntPtr r = TqapiDll.dapi_unsubscribe(handle, str); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <string[]> ret; if (cr.value_type != 0) { ret = new CallResult <string[]>(TqapiDll.CopyArray <string>(cr)); } else { ret = new CallResult <string[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <bool> CancelOrder(string account_id, string code, string entrust_no, int order_id = 0) { IntPtr r = TqapiDll.tapi_cancel_order1(this.handle, account_id, code, entrust_no, order_id); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <bool> ret; if (cr.value != IntPtr.Zero) { ret = new CallResult <bool>(Marshal.ReadByte(cr.value) != 0); } else { ret = new CallResult <bool>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <MarketQuote[]> GetTick(string code, int trading_day, int number) { IntPtr r = TqapiDll.dapi_get_tick(handle, code, trading_day, number); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <MarketQuote[]> ret; if (cr.value_type != 0) { ret = new CallResult <MarketQuote[]>(TqapiDll.CopyArray <MarketQuote>(cr)); } else { ret = new CallResult <MarketQuote[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <MarketQuote> GetQuote(string code) { IntPtr r = TqapiDll.dapi_get_quote(handle, code); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <MarketQuote> ret; if (cr.value != IntPtr.Zero) { ret = new CallResult <MarketQuote>(Marshal.PtrToStructure <MarketQuote>(cr.value)); } else { ret = new CallResult <MarketQuote>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <DailyBar[]> GetDailyBar(string code, string price_adj, bool align, int number) { IntPtr r = TqapiDll.dapi_get_daily_bar(handle, code, price_adj, align, number); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <DailyBar[]> ret; if (cr.value_type != 0) { ret = new CallResult <DailyBar[]>(TqapiDll.CopyArray <DailyBar>(cr)); } else { ret = new CallResult <DailyBar[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <Bar[]> GetBar(string code, string cycle, int trading_day, bool align) { IntPtr r = TqapiDll.dapi_get_bar(handle, code, cycle, trading_day, align); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Bar[]> ret; if (cr.value_type != 0) { ret = new CallResult <Bar[]>(TqapiDll.CopyArray <Bar>(cr)); } else { ret = new CallResult <Bar[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <Trade[]> QueryTrades(string account_id, string[] codes) { IntPtr r = TqapiDll.tapi_query_trades(this.handle, account_id, codes_to_str(codes)); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Trade[]> ret; if (cr.value_type != 0) { ret = new CallResult <Trade[]>(TqapiDll.CopyPointerArray <Trade>(cr)); } else { ret = new CallResult <Trade[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <Balance> QueryBalance(string account_id) { IntPtr r = TqapiDll.tapi_query_balance(this.handle, account_id); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Balance> ret; if (cr.value_type != 0) { ret = new CallResult <Balance>(Marshal.PtrToStructure <Balance>(cr.value)); } else { ret = new CallResult <Balance>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <AccountInfo[]> QueryAccountStatus() { IntPtr r = TqapiDll.tapi_query_account_status(this.handle); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <AccountInfo[]> ret; if (cr.value_type != 0) { ret = new CallResult <AccountInfo[]>(TqapiDll.CopyArray <AccountInfo>(cr)); } else { ret = new CallResult <AccountInfo[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <string> Query(string account_id, string command, string data) { IntPtr r = TqapiDll.tapi_query(this.handle, account_id, command, data); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <string> ret; if (cr.value_type != 0) { ret = new CallResult <string>(Marshal.PtrToStringAuto(cr.value)); } else { ret = new CallResult <string>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <Position[]> QueryPositions(string account_id) { IntPtr r = TqapiDll.tapi_query_positions(this.handle, account_id); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <Position[]> ret; if (cr.value_type != 0) { ret = new CallResult <Position[]>(TqapiDll.CopyArray <Position>(cr)); } else { ret = new CallResult <Position[]>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }
public CallResult <OrderID> PlaceOrder(string account_id, string code, double price, long size, string action, string price_type, int order_id) { IntPtr r = TqapiDll.tapi_place_order(this.handle, account_id, code, price, size, action, price_type, order_id); var cr = Marshal.PtrToStructure <TqapiDll.CallResultWrap>(r); CallResult <OrderID> ret; if (cr.value_type != 0) { ret = new CallResult <OrderID>(Marshal.PtrToStructure <OrderID>(cr.value)); } else { ret = new CallResult <OrderID>(cr.msg); } TqapiDll.destroy_callresult(r); return(ret); }