当前位置:文档之家› CSharp Wind Api

CSharp Wind Api

CSharp Wind Api
CSharp Wind Api

——中国金融数据及工具首席服务商9311509

C#数据及交易接口

Version 1.1

修订时间:2014.2.12

上海万得信息技术股份有限公司

Shanghai Wind Information Co., Ltd.

地址上海浦东新区福山路33号建工大厦9楼

邮编Zip 200120

电话Tel (8621)6888 2280

传真Fax (8621)6888 2281

主页https://www.doczj.com/doc/d317787194.html,

目录

1WIND量化平台接口概述 (1)

2WIND量化平台接口使用说明 (1)

2.1C#API类型库文件位置 (1)

2.2C#API使用注意事项 (2)

3WIND数据接口(C#)说明 (3)

3.1数据接口概要 (3)

3.1.1数据接口功能函数列表(WindQuantAPI的成员函数) (3)

3.1.2回调delegate (3)

3.2数据接口函数明细 (4)

3.2.1构造函数WindQuantAPI (4)

3.2.2主回调设置函数:SetEventHandler (5)

3.2.3Wind认证函数:Authorize (5)

3.2.4Wind认证登出函数:AuthQuit (5)

3.2.5多值函数-日期序列:WSD (5)

3.2.6多值函数-截面数据WSS (6)

3.2.7多值函数-分钟序列WSI (7)

3.2.8多值函数-日内跳价WST (8)

3.2.9多值函数-实时行情WSQ (9)

3.2.10多值函数-数据集WSET (9)

3.2.11资管函数WPF (10)

3.2.12组合上传函数WUPF (10)

3.2.13日期序列函数TDays (11)

3.2.14根据偏移计算日期的函数TDaysOffset (12)

3.2.15计算日期天数函数TDaysCount函数 (12)

3.2.16取消数据请求/订阅CancelRequest (13)

3.2.17取消所有数据请求/订阅CancelAllRequest (13)

3.2.18WErr函数 (13)

3.3数据结构及枚举类型定义 (14)

4WIND交易接口(C#)说明 (17)

4.1交易接口概要 (17)

4.1.1交易接口功能函数列表 (17)

4.1.2回调函数 (18)

4.1.3等价函数 (19)

4.2交易接口函数明细 (21)

4.2.1构造函数WindTradeAPI (21)

4.2.2初始化函数WTradeInit (21)

4.2.3Wind认证登录函数WTradeAuthorize (21)

4.2.4Wind认证登出WTradeAuthQuit (21)

4.2.5释放缓存数据WTradeBuffRelease (22)

4.2.6综合函数 (22)

4.2.6.1创建一个请求WTradeCreateReq (22)

4.2.6.2设置请求信息WTradeReqSetDouble/Long/Str (22)

4.2.6.3获取请求内容WTradeReqGetDouble/Long/Str (23)

4.2.6.4发送数据请求WTradeSendReqAsyn / WTradeSendReqSync (23)

4.2.6.5获取应答内容WTradeRespGetDouble/Long/Str (23)

4.2.7Wind交易登录函数WTradeLogonSync/Asyn (24)

4.2.8经纪商登出函数WTradeLogout (25)

4.2.9经纪商登录状态判断函数WTradeIsLogon (25)

4.2.10委托下单函数WTradeOrderSync/Asyn (25)

4.2.11撤销委托函数WTradeCancelSync/Asyn (27)

4.2.12查询资金函数WTradeQryCapitalAccountSync/Asyn (28)

4.2.13查询持仓信息函数WTradeQryPositionSync/Asyn (29)

4.2.14查询当日委托函数WTradeQryOrderSync/Asyn (31)

4.2.15查询当日成交函数WTradeQryTradeSync/Asyn (33)

4.2.16查询股东账号信息函数WTradeQryAccountSync/Asyn (34)

4.2.17查询营业部信息函数WTradeQryDepartmentSync/Asyn (35)

4.2.18查询经纪商信息函数WTradeGetBrokerInfo (36)

4.2.19查询已经登录的账号信息WTradeGetLogonInfo (36)

4.2.20查询和设置代理服务信息的函数WTradeGetProxyInfo/Set (37)

4.2.21检查应答中是否存在某数据WTradeHaveValueInResp (37)

4.2.22用字符串方式取全部应答数据WTradeRespGetOnce (37)

4.3交易接口相关数值枚举定义 (39)

4.3.1字段(TAG)定义 (39)

4.3.2功能代号(FuncID)定义 (42)

4.3.3账号类型(AccountType)定义 (43)

4.3.4交易方向(TradeSide)定义 (43)

4.3.5市场类型(MarketType)定义 (43)

4.3.6币种类型(MoneyType)定义 (44)

4.3.7登录类型(LogonType)定义 (44)

4.3.8价格委托方式(OrderType)定义 (44)

4.3.9套保标志(HedgeType)定义 (45)

4.3.10委托状态(OrderStatus)定义 (45)

4.3.11成交状态(TradedStatus)定义 (45)

4.3.12股东状态(ShareholderStatus)定义 (45)

4.3.13主股东标志(MainShareholderFlag)定义 (46)

4.4数据结构定义 (47)

4.4.1代理信息定义 (47)

4.4.2账户信息定义 (47)

4.4.3经纪商信息定义 (47)

4.5交易接口错误信息定义 (48)

5常见问题 (49)

5.1怎么获得指标和参数信息? .................................. 错误!未定义书签。

5.2怎么使用日期宏? (49)

5.3模拟交易账号是多少? (50)

5.4如何强制升级万得终端? (50)

1Wind量化平台接口概述

Wind量化平台是Wind资讯2013年倾力打造的重量级产品,随着量化平台系列产品连续推出,不断得到客户的好评与支持,使Wind量化团队不断受到激励与鼓励。

Wind量化平台支持Matlab、R、Python等脚本,提供Excel及VBA插件,也提供C/C++/C#等编程语言版本接口。整个量化接口分数据接口(Data API)和交易接口(Trade API),方便用户进行提取数据、挖掘分析、下单交易等量化行为。

2Wind量化平台接口使用说明

打开Wind资讯金融终端,点击“量化”选项,出现下面的界面:

点击“C#接口”,会跳转到量化平台的介绍页面,包括功能介绍、升级公告、使用说明、实用案列以及常见问题说明。

2.1C# API类型库文件位置

我们提供了两个.net类型库,分别为WindQuantLibrary.dll(数据API)和WindTradeLibrary.dll(交易API)。

32位版本在wind金融终端的bin目录内,64位版本在wind金融终端的x64目录内。即,如您是用默认路径安装的话,类型库的位置分别为C:\Wind\https://www.doczj.com/doc/d317787194.html,.Client\WindNET\bin

和C:\Wind\https://www.doczj.com/doc/d317787194.html,.Client\WindNET\x64。

在您的程序中直接引用这两个类型库即可编程,编好的程序也需要在相应的路径下运行。

2.2C# API使用注意事项

由于C# API需要引用万得终端其他程序,这些程序固定为32位或64位,因此Wind C# API暂不支持any CPU/Mixed Platform的用法,我们提供的是两个明确的32位和64位版本类型库。

建议您明确使用x86或者x64平台设置来开发您的程序;如果您使用Mixed Platform设置,需要知道您的具体运行平台而引用相应的类型库。

强烈建议您编写的程序在wind终端bin目录或x64目录下运行。

如果您把您编写的程序发布到其他机器使用,请确认在目标机器上已经安装了Microsoft .Net Framework 4.0,否则会遇上以下错误:

3Wind数据接口(C#)说明

3.1数据接口概要

首先我们定义了一个namespace WindQuantLibrary。里面最重要的是class WindQuantAPI,提供了所有的功能接口函数。同时我们有一个delegate用来设置回调函数。所有功能函数都是以异步方式运作的,数据则是通过回调函数返回的。另外,我们定义了一些存放返回数据的数据结构如QuantEvent、QuantData以及一些方便使用的枚举类型。

3.1.2回调delegate

数据API中的数据获取函数皆为异步函数,使用形如public delegate int WindQuantCallback(QuantEvent quantEvent)的回调函数回传数据和信息。回

调函数有两种设置方式,一是主回调函数,使用SetEventHandler函数设置,或者直接调用带delegate参数的WindQuantAPI构造函数创建;另外一种是随在调用数据提取函数时设置,此时该回调函数仅仅用于该次数据提取。

回调函数public delegate int WindQuantCallback(QuantEvent quantEvent)中,quantEvent是API传递过来的数据。其定义:

public class QuantEvent

{

public eWQErr ErrCode; // 错误码

public long EventID; // 流水号

public eWQEventType EventType; // Event类型

public QuantData quantData; // 包含的数据

public long RequestID; // 对应的request ID

public int Version; // 版本号,以备今后扩充

public QuantEvent();

}

其中:

ErrCode为错误号信息。

EventType表示事件类型,用户常用的是eWQResponse和eWQPartialResponse,表示某个数据请求有数据返回。

RequestID为对应的请求ID,0表示无意义。

QuantData为以下数据结构:

public class QuantData

{

public DateTime[] ArrDateTime;

public string[] ArrWindCode;

public string[] ArrWindFields;

public object MatrixData;

public QuantData();

}

ArrDateTime, ArrWindCode, ArrWindFields分别是数据中的时间列表、品种列表和指标列表,是实际数据表的表头,同时给定了实际数据的长度。

而MatrixData就是实际数据了,其逻辑上是一个三维数组,第一维是时间,第二维

是windcode,第三维是指标。它的实际数据结构是一维数组,会是double[]、int[]、String[]、DateTime[]、Int64[]或object[],为object[]的时候,表示里面

是前面几种类型的混合体。

3.2数据接口函数明细

3.3数据结构及枚举类型定义

// 回调delegate定义

public delegate int WindQuantCallback(QuantEvent quantEvent);

// 返回事件数据结构定义

public class QuantEvent

{

public eWQErr ErrCode; // 错误码

public long EventID; // 流水号

public eWQEventType EventType; // Event类型

public QuantData quantData; // 包含的数据

public long RequestID; // 对应的request ID

public int Version; // 版本号,以备今后扩充

public QuantEvent();

}

// 返回数据结构定义

// 所有通过万得函数接口取到的数据都是以下这个三维数组结构

// 实质上为一维数组,逻辑上为三维数组

// 三维分别是:

// 第一维时间,第二维品种,第三维指标。

// 具体说明参见3.2节

public class QuantData

{

public DateTime[] ArrDateTime;

public string[] ArrWindCode;

public string[] ArrWindFields;

public object MatrixData;

public QuantData();

}

// 返回Events结构类型定义

public enum eWQEventType

{

eWQLogin = 1, // 登录相关信息

eWQResponse = 2, // 数据返回

eWQPartialResponse = 3, // 部分数据返回(订阅时适用)

eWQErrorReport = 4, // 出错信息

eWQOthers = 5, // 其他信息

}

// 错误码的定义

// 可使用WErr函数获取具体信息

public enum eWQErr

{

DATA_QUOTA_EXCEED = -40522017,

UNSUPPORTED_DATA_TYPE = -40522016, UNSUPPORTED_NOAUTH = -40522015,

DUPLICATE_WQID = -40522014,

INDEX_OUT_OF_RANGE = -40522013,

ILLEGAL_ARG = -40522012,

INVALID_DATE_TIME = -40522011,

DATE_TIME_SYNTAX_ERR = -40522010,

ILLEGAL_OPTION = -40522009,

OPTION_SYNTAX_ERR = -40522008,

ILLEGAL_INDICATOR = -40522007,

INDICATOR_SYNTAX_ERR = -40522006,

ILLEGAL_WINDCODE = -40522005,

WINDCODE_SYNTAX_ERR = -40522004,

ILLEGAL_REQUEST = -40522003,

ILLEGAL_SERVICE = -40522002,

ILLEGAL_SESSION = -40522001,

INVALID_CLASS = -40522000,

ACCESS_FREQUENTLY = -40521011,

INTERNET_TIMEOUT = -40521010,

DECODE_FAILED = -40521009,

SVR_BAD_RESPONSE = -40521008,

SERVER_REFUSED = -40521007,

NETWORK_ERROR = -40521006,

RECEIVE_FAILED = -40521005,

SEND_FAILED = -40521004,

CONNECT_FAILED = -40521003,

SERVICE_NOT_AVAL = -40521002,

IO_ERROR = -40521001,

IOERROR_CLASS = -40521000,

TOO_MANY_LOGON_FAILURE = -40520015, LOGON_NO_WIM = -40520014,

LOGON_CONFLICT = -40520013,

ID_NOT_FOUND = -40520012,

SERVICE_NOT_FOUND = -40520011,

ITEM_NOT_FOUND = -40520010,

LOST_WBOX = -40520009,

TIMEOUT = -40520008,

NO_DATA_AVALIABLE = -40520007,

相关主题
相关文档 最新文档