Example #1
0
        public static void OnRspQryOrdersToday(IntPtr pContex, bool bSuccess, IntPtr pOrders, int nCount, int nOperationSeq, IntPtr pszErrorMsg)
        {
            //Console.WriteLine("OnRspQryOrdersToday: " + Marshal.PtrToStringAnsi(pszErrorMsg));
            Sys_log = Sys_log + "\n" + DateTime.Now.ToString() + ": 正在查询今日下单:" + Marshal.PtrToStringAnsi(pszErrorMsg);
            if (bSuccess && pOrders != IntPtr.Zero && nCount > 0)
            {
                tagSTRUCT_ORDER_FIXED[] Orders = new tagSTRUCT_ORDER_FIXED[nCount];
                for (int i = 0; i < nCount; i++)
                {
                    IntPtr porders = (IntPtr)((UInt32)pOrders + i * Marshal.SizeOf(typeof(tagSTRUCT_ORDER_FIXED)));
                    Orders[i] = (tagSTRUCT_ORDER_FIXED)Marshal.PtrToStructure(porders, typeof(tagSTRUCT_ORDER_FIXED));
                    //Console.WriteLine((i + 1).ToString() + "\t" + ORDER_STATUS_NAME[(int)Orders[i].ordStatus].ToString() + "\t" + Orders[i].nOrderDate.ToString() + "\t" + Orders[i].nOrderTime.ToString() + "\t" + Orders[i].szOrderSysID + "\t" + Orders[i].szExchangeID + "\t" +
                    //Orders[i].szInstrumentID + "\t" + ORDER_OFFSET_NAME[(int)Orders[i].ordOffset] + "\t" + ORDER_DIRECTION_NAME[(int)Orders[i].ordDirection] + "\t" + Orders[i].nOrderVolume.ToString() + "\t" + Orders[i].dOrderPrice.ToString() + "\t" +
                    //Orders[i].nDealVolume.ToString() + "\t" + Orders[i].dAveragePrice.ToString() + "\t" + Orders[i].dTotalAmount.ToString() + "\t" + Orders[i].nCanceledVolume.ToString());

                    //update orderStatus
                    if (orderStatus.ContainsKey(Orders[i].szLocalHandleID.ToString()))
                    {
                        orderStatus[Orders[i].szLocalHandleID.ToString()] = Orders[i].ordStatus.ToString();
                    }
                    else
                    {
                        orderStatus.TryAdd(Orders[i].szLocalHandleID.ToString(), Orders[i].ToString());
                    }
                }
            }
        }
Example #2
0
 public static void OnRtnOrder(IntPtr pContex, bool bSuccess, IntPtr pOrder, bool bCurrentConnection, IntPtr pszErrorMsg)
 {
     //Console.WriteLine("OnRtnOrder: " + Marshal.PtrToStringAnsi(pszErrorMsg));
     Sys_log = Sys_log + "\n" + DateTime.Now.ToString() + ": 正在查询所有下单:" + Marshal.PtrToStringAnsi(pszErrorMsg);
     if (bSuccess)
     {
         if (pOrder != IntPtr.Zero)
         {
             tagSTRUCT_ORDER_FIXED Order = new tagSTRUCT_ORDER_FIXED();
             Marshal.PtrToStructure(pOrder, typeof(tagSTRUCT_ORDER_FIXED));
             //Console.WriteLine(1.ToString(), "\t" + ORDER_STATUS_NAME[(int)Order.ordStatus] + "\t" + Order.nOrderDate.ToString() + "\t" + Order.nOrderTime.ToString() + "\t" + Order.szOrderSysID + "\t" + Order.szExchangeID + "\t" +
             //Order.szInstrumentID + "\t" + ORDER_OFFSET_NAME[(int)Order.ordOffset] + "\t" + ORDER_DIRECTION_NAME[(int)Order.ordDirection] + "\t" + Order.nOrderVolume.ToString() + "\t" + Order.dOrderPrice.ToString() + "\t" +
             //Order.nDealVolume.ToString() + "\t" + Order.dAveragePrice.ToString() + "\t" + Order.dTotalAmount.ToString() + "\t" + Order.nCanceledVolume.ToString());
         }
     }
 }
Example #3
0
        public static void TDQryOrder()
        {
            string csIdentity      = "";
            string csLocalHandleID = "";
            uint   dwUniqueID      = 0;
            IntPtr pszErrMsg       = Marshal.AllocHGlobal(256);

            if (g_hTDClient != IntPtr.Zero && (dwUniqueID > 0 || csIdentity != "" && csLocalHandleID != ""))
            {
                tagSTRUCT_ORDER_FIXED stOrder = new tagSTRUCT_ORDER_FIXED();
                stOrder.dwUniqueID      = dwUniqueID;
                stOrder.szIdentity      = csIdentity;
                stOrder.szLocalHandleID = csLocalHandleID;
                IntPtr pstOrder = Marshal.AllocHGlobal(256);
                Marshal.StructureToPtr(stOrder, pstOrder, true);
                WinfairTdApi_ReqQryOrder(g_hTDClient, pstOrder, pszErrMsg);
                Console.WriteLine(Marshal.PtrToStringAnsi(pszErrMsg));
            }
        }