zoukankan      html  css  js  c++  java
  • t d x 示例z

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Text;
    
    namespace demo
    {
        class Program
        {
    	static void Main(string[] args)
            {
     	    //DLL是32位的,因此必须把C#工程生成的目标平台从Any CPU改为X86,才能调用DLL;
                //必须把Trade.dll等4个DLL复制到Debug或Release工程目录下;
    
                StringBuilder ErrInfo=new StringBuilder(256);
                StringBuilder Result = new StringBuilder(1024*1024);
    
    
                GetEdition(Result);//获取交易DLL版本
                Console.WriteLine(Result);
    
    
                OpenTdx();//打开通达信
                int ClientID = Logon("119.145.12.70", 443, "2.20", "1111", "1111", string.Empty, ErrInfo);//登录
                if (ClientID==-1)
                {
                    Console.WriteLine(ErrInfo);
                    return;
                }
    		
                SendOrder(ClientID, 0, 0, "A000001", "601988", 2.5, 100, Result, ErrInfo);//下单
                Console.WriteLine("下单结果: {0}", Result);
    
    
                GetQuote(ClientID, "601988", Result, ErrInfo);//查询五档报价
                if (ErrInfo.ToString() != string.Empty)
                {
                    Console.WriteLine(ErrInfo.ToString());
                    return;
                }
                Console.WriteLine("行情结果: {0}", Result);
    
    
    
    
    
                QueryData(ClientID, 0, Result, ErrInfo);//查询资金
                if (ErrInfo.ToString()!=string.Empty)
                {
                    Console.WriteLine(ErrInfo.ToString());
                    return;
                }
                Console.WriteLine("查询结果: {0}", Result);
    
    
    	    //批量查询多个证券的五档报价
    	    string[] Zqdm=new string[]{"600030","600031"};
      	    string[] Results = new string[Zqdm.Length];
                string[] ErrInfos = new string[Zqdm.Length];
    
                IntPtr[] ResultPtr = new IntPtr[Zqdm.Length];
                IntPtr[] ErrInfoPtr = new IntPtr[Zqdm.Length];
    
                for (int i = 0; i < Zqdm.Length; i++)
                {
                    ResultPtr[i] = Marshal.AllocHGlobal(1024 * 1024);
                    ErrInfoPtr[i] = Marshal.AllocHGlobal(256);
                }
    
    
         
    
                GetQuotes(ClientID, Zqdm, Zqdm.Length, ResultPtr, ErrInfoPtr);
    
                for (int i = 0; i < Zqdm.Length; i++)
                {
                    Results[i] =Marshal.PtrToStringAnsi(ResultPtr[i]);
                    ErrInfos[i] = Marshal.PtrToStringAnsi(ErrInfoPtr[i]);
    
                    Marshal.FreeHGlobal(ResultPtr[i]);
                    Marshal.FreeHGlobal(ErrInfoPtr[i]);
                }
    
                
    
    
    
    
                Logoff(ClientID);//注销
                CloseTdx();//关闭通达信
    
                Console.ReadLine();
            }
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void OpenTdx();
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void CloseTdx();
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern int Logon(string IP, short  Port, string Version, string AccountNo, string JyPassword, string TxPassword, StringBuilder ErrInfo);
    
    
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void Logoff(int ClientID);
    
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void QueryData(int ClientID, int Category, StringBuilder Result, StringBuilder ErrInfo);
    
    
    
    
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void SendOrder(int ClientID, int Category, int PriceType, string Gddm, string Zqdm, float Price, int Quantity, StringBuilder Result, StringBuilder ErrInfo);
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void CancelOrder(int ClientID, string hth, StringBuilder Result, StringBuilder ErrInfo);
    
    
     
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void GetQuote(int ClientID, string Zqdm, StringBuilder Result, StringBuilder ErrInfo);
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void GetEdition(StringBuilder Result);
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void QueryHistoryData(int ClientID, int Category, string StartDate, string EndDate, StringBuilder Result, StringBuilder ErrInfo);
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void QueryDatas(int ClientID, int[] Category, int Count, IntPtr[] Result, IntPtr[] ErrInfo);
    
    
        
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void SendOrders(int ClientID, int[] Category, int[] PriceType, string[] Gddm, string[] Zqdm, float[] Price, int[] Quantity, int Count, IntPtr[] Result, IntPtr[] ErrInfo);
    
    
    
       
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void CancelOrders(int ClientID, string[] hth, int Count, IntPtr[] Result, IntPtr[] ErrInfo);
    
    
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void GetQuotes(int ClientID, string[] Zqdm, int Count, IntPtr[] Result, IntPtr[] ErrInfo);
    
    
            [DllImport("trade.dll", CharSet = CharSet.Ansi)]
            public static extern void Repay(int ClientID, string Amount, StringBuilder Result, StringBuilder ErrInfo);
    
    
    	
        }
    }
    
  • 相关阅读:
    线程---JDK查看线程
    如何处理js的跨域问题
    每日思考(2019/12/31)
    每日思考(2019/12/30)
    每日思考(2019/12/29)
    每日思考(2019/12/28)
    每日思考(2019/12/27)
    每日思考(2019/12/26)
    每日思考(2019/12/25)
    每日思考(2019/12/24)
  • 原文地址:https://www.cnblogs.com/zeroone/p/4434474.html
Copyright © 2011-2022 走看看