Пример #1
0
        public static string TDOrderInsert(string csExchange, string csCode, double dPrice, int nVolume, ORDER_DIRECTION eDirection, ORDER_OFFSET eOffset)
        {
            nVolume *= 100;
            IntPtr szErrMsg        = Marshal.AllocHGlobal(2560);
            IntPtr szIdentity      = Marshal.AllocHGlobal(256);
            IntPtr szLocalHandleID = Marshal.AllocHGlobal(256);

            if (g_hTDClient != IntPtr.Zero)
            {
                if (csExchange != "" && csCode != "" && eDirection != ORDER_DIRECTION.UNKNOWNDIRECTION && eOffset != ORDER_OFFSET.UNKNOWNOFFSET && nVolume > 0)
                {
                    if (WinfairTdApi_ReqOrderInsert(g_hTDClient, Marshal.StringToHGlobalAnsi(csExchange), Marshal.StringToHGlobalAnsi(csCode), dPrice, nVolume, eDirection, eOffset, Marshal.StringToHGlobalAnsi(""), Marshal.StringToHGlobalAnsi(""), Marshal.StringToHGlobalAnsi(""), Marshal.StringToHGlobalAnsi(""), szIdentity, szLocalHandleID, szErrMsg))
                    {
                        Console.WriteLine(Marshal.PtrToStringAnsi(szIdentity));
                        Console.WriteLine(Marshal.PtrToStringAnsi(szLocalHandleID));
                        Console.WriteLine(Marshal.PtrToStringAnsi(szErrMsg));
                        string sszLocalHandleID = Marshal.PtrToStringAnsi(szLocalHandleID);
                        return(sszLocalHandleID);
                    }
                }
                else
                {
                    Console.WriteLine("Invalid Params");
                }
            }
            return("");
        }
Пример #2
0
 public extern static bool WinfairTdApi_ReqOrderInsert(IntPtr hClient, IntPtr pszExchangeID, IntPtr pszInstrumentID, double dOrderPrice, int nOrderVolume, ORDER_DIRECTION eDirection, ORDER_OFFSET eOffset, IntPtr pszAdapterTag, IntPtr pszStockPoolTag, IntPtr pszFundID, IntPtr pszCombiID, IntPtr pszIdentity, IntPtr pszLocalIntPtrID, IntPtr pszErrorMsg);