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);
    
    
    	
        }
    }
    
  • 相关阅读:
    atitit...触发器机制 ltrigger mechanism sumup .的总结O8f
    atitit. 集合groupby 的实现(2)---自定义linq查询--java .net php
    atitit. groupby linq的实现(1)-----linq框架选型 java .net php
    atitit.j2ee 1.5 1.6 的不同跟 Servlet 3.0新特性总结
    Atitit. 常用街机系统and 模拟器总结 snk neo geo cps mame sfc smc
    atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制
    atitit.二进制数据无损转字符串网络传输
    atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
    Atitit.现实生活中最好使用的排序方法-----ati排序法总结
    atitit.修复xp 操作系统--重装系统--保留原来文件不丢失
  • 原文地址:https://www.cnblogs.com/zeroone/p/4434474.html
Copyright © 2011-2022 走看看