Esempio n. 1
0
 public static void OnRspQryHolding(IntPtr pContex, bool bSuccess, IntPtr pHoldings, int nCount, int nOperationSeq, IntPtr pszErrorMsg)
 {
     //Console.WriteLine("OnRspQryHolding: " + Marshal.PtrToStringAnsi(pszErrorMsg));
     Sys_log = Sys_log + "\n" + DateTime.Now.ToString() + ": 正在查询持仓:" + Marshal.PtrToStringAnsi(pszErrorMsg);
     tagSTRUCT_HOLDING_FIXED[] Holdings = new tagSTRUCT_HOLDING_FIXED[nCount];
     for (int i = 0; i < nCount; i++)
     {
         IntPtr pholdings = (IntPtr)((UInt32)pHoldings + i * Marshal.SizeOf(typeof(tagSTRUCT_HOLDING_FIXED)));
         Holdings[i] = (tagSTRUCT_HOLDING_FIXED)Marshal.PtrToStructure(pholdings, typeof(tagSTRUCT_HOLDING_FIXED));
         //Console.WriteLine((i + 1).ToString() + "\t" + Holdings[i].szExchangeID + "." + Holdings[i].szCode + "\t" + Holdings[i].szName + "\tTotal Vol: " + Holdings[i].nTotalVolume.ToString() + "\tFrozen Vol: " + Holdings[i].nSellFrozenVol.ToString() + "\tAvailable Vol: " + Holdings[i].nAvailableVolume.ToString());
     }
 }
Esempio n. 2
0
 public static void OnRtnHolding(IntPtr pContex, bool bSuccess, IntPtr pHoldings, int nCount, int nOperationSeq, IntPtr pszErrorMsg)
 {
     //Console.WriteLine("OnRtnHolding: " + Marshal.PtrToStringAnsi(pszErrorMsg));
     Sys_log = Sys_log + "\n" + DateTime.Now.ToString() + ": 正在查询所有持仓:" + Marshal.PtrToStringAnsi(pszErrorMsg);
     if (bSuccess && pHoldings != IntPtr.Zero && nCount > 0)
     {
         tagSTRUCT_HOLDING_FIXED[] Holdings = new tagSTRUCT_HOLDING_FIXED[nCount];
         for (int i = 0; i < nCount; i++)
         {
             IntPtr pholdings = (IntPtr)((UInt32)pHoldings + i * Marshal.SizeOf(typeof(tagSTRUCT_HOLDING_FIXED)));
             Holdings[i] = (tagSTRUCT_HOLDING_FIXED)Marshal.PtrToStructure(pholdings, typeof(tagSTRUCT_HOLDING_FIXED));
             //Console.WriteLine((i + 1).ToString() + "\t" + Holdings[i].szExchangeID + "\t" + Holdings[i].szCode + "\t" + Holdings[i].szName + "\t" + Holdings[i].nSecuType.ToString() + "\t" + ORDER_DIRECTION_NAME[(int)Holdings[i].ordDirection] + "\t" +
             //Holdings[i].nTotalVolume.ToString() + "\t" + Holdings[i].nAvailableVolume.ToString() + "\t" + Holdings[i].nBuyFrozenVol.ToString() + "\t" + Holdings[i].nSellFrozenVol.ToString() + "\t" + Holdings[i].dMarketValue.ToString() + "\t" + Holdings[i].dCurrentPrice.ToString() + "\t" +
             //sHoldings[i].dCostPrice.ToString() + "\t" + Holdings[i].dFloatingPL.ToString() + "\t" + Holdings[i].dReturn.ToString() + "\t" + Holdings[i].nBuyVolToday.ToString() + "\t" + Holdings[i].nSellVolToday.ToString());
         }
     }
 }