赢智(WH3)算法交易编程函数手册(共8页).doc

上传人:飞****2 文档编号:14360702 上传时间:2022-05-04 格式:DOC 页数:8 大小:37KB
返回 下载 相关 举报
赢智(WH3)算法交易编程函数手册(共8页).doc_第1页
第1页 / 共8页
赢智(WH3)算法交易编程函数手册(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《赢智(WH3)算法交易编程函数手册(共8页).doc》由会员分享,可在线阅读,更多相关《赢智(WH3)算法交易编程函数手册(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上赢智(WH3)算法交易编程函数手册一、引用数据某合约当前价格。Price(Code)返回合约Code的当前价格,Code为某合约的合约代码例:VARprice;/定义一个变量priceprice=Price(m1009);/price的值为合约m1009的当前价格某合约当前均价。AvPrice(Code)返回合约Code的当前均价,Code为某合约的合约代码例:VARavprice;/定义一个变量avpriceavprice=AvPrice(m1009);/price的值为合约m1009的当前均价某合约当前最高价。High(Code)返回合约Code的当前最高价,Co

2、de为某合约的合约代码例:VARhigh;/定义一个变量highhigh=High(m1009);/high的值为合约m1009的当前最高价某合约当前最低价。Low(Code)返回合约Code的当前最低价,Code为某合约的合约代码例:VARlow;/定义一个变量lowlow=Low(m1009);/low的值为合约m1009的当前最低价某合约的买卖盘报价。Offers(Code,strContent)返回某合约的买卖盘报价Code为某合约的合约代码(字符串),strContent为所要取得内容,可选以下内容bid15,ask15,bidvol15,askvol15,分别表示买1-5卖1-5买

3、1量-5量卖1量-5量。例:VARbid1;bid1=Offers(m1009,bid1);/bid1为豆粕1009的当前买1价某合约最小变动价位。MinPrice(Code)返回合约Code的最小变动价位,Code为某合约的合约代码例:VARminprice;/定义一个变量minpriceminprice=MinPrice(m1009);/minprice的值为合约m1009的最小变动价位某合约当前成交量。Volume(Code)返回合约Code的当前成交量,Code为某合约的合约代码例:VARvolume;/定义一个变量volumevolume=Volume(m1009);/volume的

4、值为合约m1009的当前成交量二、指令状态模型某合约多头持仓。F_BuyPosition()返回模型的多头持仓例:VARfmlBVol;fmlBVol=F_BuyPosition();/定义一个变量fmlBVol,fmlBVol为模型的多头持仓。模型某合约空头持仓。F_SellPosition()返回模型的空头持仓例:VARfMLSVol;fmlSVol=F_SellPosition();定义一个变量fmlSVol,fmlSVol为模型的空头持仓。模型某合约多头持仓成本价。F_BuyAvgPrice()返回模型多头持仓成本价例:VARprice;price=F_BuyAvgPrice();定义

5、一个变量price,price的值为值为模型多头持仓成本价模型某合约空头持仓成本价。F_SellAvgPrice()返回模型空头持仓成本价例:VARprice;price=F_SellAvgPrice()定义一个变量price,price的值为模型空头持仓成本价取得当前模型的合约编码。F_DealCode()返回模型所加载K图表的合约的合约编码(字符串)例:VARDealCode;DealCode=F_DealCode();/变量DealCode的内容为模型当前合约的合约编码.取得当前模型的周期。F_Period()返回当前模型的周期(字符串)例:VARperiod;period=F_Peri

6、od();/变量period的内容为当前模型所使用的周期.取已经初始化的多头持仓。F_InitBuyVol()返回模型初始化的多头持仓(整数).例:VARinitBuyVol;/定义一个变量记录初始多头持仓initBuyVol=F_InitBuyVol();/取出初始多头持仓赋值给initBuyVol取已经初始化的空头持仓。F_InitSellVol返回模型初始化的空头持仓(整数).例:VARinitSellVol;/定义一个变量记录初始空头持仓initSellVol=F_InitSellVol();/取出初始空头持仓赋值给initSellVol刷新当前信号。F_FreshSig()取一个新信

7、号(如果模型已经发出了多个信号,取最早发出的信号,信号消失也是一种信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取。取到新信号以后可以配合F_Sig,F_SigVol,F_SigValid,F_SigTime,F_SigPos使用例:IF(F_FreshSig()/如果取得了新的信号取当前的信号(BK|SK|BP|SP|BPK|SPK)。F_Sig()返回当前的信号是什么类型(BK|SK|BP|SP|BPK|SPK)例:IF(F_Sig()=BPK&F_SigValid()=1)/如果信号是BPK且不是信号消失状态取当前信号发生时的价格。F_SigPrice()取当前的信号发生时

8、刻的价格.例:IF(F_SigPrice()3500)/如果信号发生的价格大于3500取当前信号的手数。F_SigVol()取当前的信号的手数,如果当前信号是BPK(5),则返回5.例:IF(F_SigVol()=VarOpi)/如果信号的仓位等于变量VarOpi当前信号是发出的,还是消失的F_SigValid()返回模型信号存在两种类型之一(信号发出,信号消失),返回1表示信号发出,返回0表示信号消失。例:IF(F_Sig()=BPK&F_SigValid()=1)/如果信号是BPK且不是信号消失状态当前信号的发出时间。F_SigTime()返回当前信号的发出时间(以总秒数表示),例:IF(

9、SamePeriod(m1009,min10,LastOrderTime(),F_SigTime()/如果取得新信号的时间与上次交易的时间是同一个周期当前信号在模型中是第几个有指令的语句。F_SigPos()如果当前信号是模型中第5个含信号的语句发出的,返回5例:IF(F_SigPos()=5)/如果当前信号是第5行发出的三、下单接口最后一次下单的时间。LastOrderTime()返回最后一次下单的时间,以总秒数表示例:IF(LastOrderTime()-CurrentTime()=300)如果距离上次下单时间超过5分钟查询合约所属交易所的状态。T_IsExchangeOpen(Code)

10、返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1。例:VARStatus;Status=T_IsExchangeOpen(m1009);/Status为合约m1009所属交易所当前的开闭盘状态。当Status为1时,说明该交易所开盘;当Status为0时,说明该交易所闭盘;当Status为-1时,说明当前查询失败。交易系统某合约多头持仓。T_BuyPosition(Code)返回交易系统中合约Code的多头持仓,Code为某合约的合约代码。例:VARBuyVol;BuyVol=T_BuyPosition(m1009);/BuyVol为交易系统中合约代码为m10

11、09的合约的多头持仓。交易系统某合约多头持仓成本价。T_BuyAvgPrice(Code)返回交易系统合约Code的多头持仓成本价,Code为某合约合约代码。例:VARBuyPrice;BuyPrice=T_BuyAvgPrice(m1009);/定义一个变量BuyPrice,BuyPrice的值为交易系统合约m1009多头持仓成本价交易系统某合约的多头盈亏。T_BuyProfitLoss(code)返回交易系统合约code的多头盈亏例:VARBuyEarn;BuyEarn=T_BuyProfitLoss(m1009);/定义一个变量BuyEarn,BuyEarn的值为交易系统合约m1009的

12、多头盈亏交易系统某合约空头持仓。T_SellPosition(Code)返回交易系统中合约Code的空头持仓,Code为某合约的合约代码。例:VARSellVol;SellVol=T_SellPosition(m1009);/SVol为交易系统中合约代码为m1009的合约的空头持仓。交易系统某合约空头持仓成本价。T_SellAvgPrice(code)返回交易系统合约code的空头持仓成本价,code为某合约合约代码。例:VARSellPrice;SellPrice=T_SellAvgPrice(m1009);/定义一个变量SellPrice,SellPrice的值为交易系统合约m1009空头

13、持仓成本价交易系统某合约的空头盈亏。T_SellProfitLoss(code)返回交易系统合约code的空头盈亏例:VARSellEarn;SellEarn=T_SellProfitLoss(m1009)定义一个变量SellEarn,SellEarn的值为交易系统合约m1009的空头盈亏发出委托。T_Deal(Code,bs,kp,vol,price),发出委托。Code(字符串):合约编码,bs(整数0,1):0买1卖,kp(整数0,1,2):0开1平2平今Vol(整数):下单手数,Price(整数或小数):下单价格,0为市价返回唯一委托标识OrderID(字符串)例:VARorderID

14、=T_Deal(m1009,0,0,5,2900);发出委托:m1009买开5手限价2900可用资金。T_FreeMargin(Type),返回可用资金。Type(整数0,1)0期货1股票,返回可用资金数(小数)例:VARmargin;margin=T_FreeMargin(0);/返回当前期货帐户的可用资金数权益。T_Equity(Type),返回权益。Type(整数0,1)0期货1股票,返回权益(小数)例:VARmargin;margin=T_Equity(0);/返回当前期货帐户的权益数某品种最大可开仓手数。、T_MaxOpen(Code,margin,bs),某品种最大可开仓手数。Co

15、de(字符串):合约编码,margin(小数):保证金比例bs(整数0,1):0买1卖返回该品种在当前可用资金,当前价格下的可开仓手数(整数)例:VARvol;vol=T_MaxOpen(m1009,0.1,0);/变量vol为m1009的在保证金比例为0.1下的可开仓手数查询委托状态。T_OrderState(OrderID)根据委托唯一标识OrderID(字符串)查委托状态,返回值含义:-1查询失败0挂单1成交2被撤单3部份成交4其它例:IF(T_OrderState(X)=0)如果委托X是挂单查询挂单数量。T_OpenOrder(Code,Type)返回未成交委托数量,Code:交易编码

16、,Type:0所有方向;1买开;2卖平;3卖开;4买平例:IF(LastOrderTime()-CurrentTime=300&T_OpenOrder(ru1009,1)0)T_OpenOrder(ru1009,1)/如果距离上次下单超过5分钟,且存在买开挂单,撤掉剩余买开委托合约X的未成交委托数量委托撤单。T_DeleteOrder(OrderID)根据委托唯一标识orderID(字符串)撤单,返回0撤单发出成功,返回其它失败例:IF(T_DeleteOrder(orderID)!=0)如果撤单失败委托撤单(通过合约代码)。T_DeleteOrderByCode(Code,Type)委托撤单

17、。Code:合约代码(字符串)Type:0所有方向;1买开;2卖平;3卖开;4买平返回0撤单发出成功,返回其它失败例:T_DeleteOrderByCode(ru1009,2)撤单橡胶1009的卖平委托撤掉所有未成交委托。T_DeleteOrderAll()撤掉所有该模型相关的未成缴委托单,返回0撤单发出成功,返回其它失败例:IF(T_DeleteOrderAll()!=0)/如果撤单失败根据当前成交的量采用买开的手段达到把仓位增加某一数值的目的。T_AddBuyOpiTo(Code,Price,Vol)把多头仓位增加到某一数值。Code(字符串):合约代码,Price(小数):价格,Vol(

18、整数):成交量对合约代码为Code的字符串以Price价格下单达到多头vol手持仓例:T_AddBuyOpiTo(m1009,Price(m1009)+5,10);/买开使多头持仓达到10手根据当前成交的量采用卖开的手段达到把仓位增加到指定值的目的。T_AddSellOpiTo(Code,Price,Vol)把空头仓位增加到某一数值。Code(字符串):合约代码,Price(小数):价格,Vol(整数):成交量对合约代码为Code的字符串以Price价格下单达到多头vol手持仓例:T_AddSellOpiTo(m1009,Price(m1009)-5,10);/卖开使空头持仓达到10手根据当前

19、成交的量采用卖平的手段达到把仓位减少到某一数值的目的。T_ReduceBuyOpiTo(Code,Price,Vol)把多头仓位减少到某一数值。Code(字符串):合约代码,Price(小数):价格,Vol(整数):成交量对合约代码为Code的字符串以Price价格下单达到多头vol手持仓例:T_ReduceBuyOpiTo(m1009,Price(m1009)-5,10);/卖平使多头持仓减少到10手根据当前成交的量采用买平的手段达到把仓位减少到某一数值的目的。T_ReduceSellOpiTo(Code,Price,Vol)把空头仓位减少到某一数值。Code(字符串):合约代码,Price

20、(小数):价格,Vol(整数):成交量对合约代码为Code的字符串以Price价格下单达到空头vol手持仓例:T_ReduceSellOpiTo(m1009,Price(m1009)-5,10);/卖开使空头持仓减少到10手当前算法交易模型产生的某品种的多头持仓。T_StgBuyVol(Code)返回当前算法交易模型产生的合约代码为Code的合约的多头持仓数。Code(字符串):合约代码例:T_StgBuyVol(m1009);/当前算法交易模型产生的某品种多头持仓数当前算法交易模型产生产生的某品种的空头持仓。T_StgSellVol(Code)返回当前算法交易模型产生的合约代码为Code的合

21、约的空头持仓数。Code(字符串):合约代码例:T_StgSellVol(m1009);/当前算法交易模型产生的某品种空头持仓数某次委托已经成交的数量。T_OrderMatchVol(OrderID)根据委托唯一标识OrderID查询委托成交手数,返回成交手数。OrderID(字符串)例:VARmatchvol;matchvol=T_OrderMatchVol(X);/matchvol为某次委托的已成交数量该算法交易模型无挂单(发出的所有委托都已经成交,或被撤单)。T_IsNoOrder()如果没有挂单返回1,否则返回0例:IF(T_IsNoOrder()/如果没有挂单四、套利根据套利表达式计

22、算该套利组合的开盘价的价差或价比并返回。Arbi_OpenPDiff(),计算并返回该套利组合的开盘价价差或价比。例:VAROpenPD;/定义一个变量,用来保存开盘价价差或价比OpenPD=Arbi_OpenPDiff()/计算开盘价价差或价比并返回给OpenPD根据套利表达式计算该套利组合的最新价的价差或价比并返回。Arbi_NewPDiff(),计算并返回该套利组合的最新价价差或价比。例:VARNewPD;/定义一个变量,用来保存最新价价差或价比NewPD=Arbi_NewPDiff()/计算最新价价差或价比并返回给NewPD根据套利表达式计算该套利组合的对价的价差或价比并返回。Arbi

23、_BidPDiff(),计算并返回该套利组合的对价价差或价比。例:VARBidPD;/定义一个变量,用来保存对价价差或价比BidPD=Arbi_BidPDiff()/计算对价价差或价比并返回给BidPD根据套利表达式计算该套利组合的挂价的价差或价比并返回。Arbi_AskPDiff(),计算并返回该套利组合的挂价价差或价比。例:VARAskPD;/定义一个变量,用来保存挂价价差或价比AskPD=Arbi_AskPDiff()/计算挂价价差或价比并返回给AskPD根据套利表达式计算该套利组合的昨日结算价的价差或价比并返回。Arbi_YSettlePDiff(),计算并返回该套利组合的昨日结算价价

24、差或价比。例:VARYSettlePD;/定义一个变量,用来保存昨日结算价价差或价比YSettlePD=Arbi_YSettlePDiff()/计算昨日结算价价差或价比并返回给YSettlePD根据套利表达式计算该套利组合的昨日收盘价的价差或价比并返回。Arbi_YClosePDiff(),计算并返回该套利组合的昨日收盘价价差或价比。例:VARYClosePD;/定义一个变量,用来保存昨日收盘价价差或价比YClosePD=Arbi_YClosePDiff()/计算昨日收盘价价差或价比并返回给YClosePD根据套利组合、买卖方向以及下单份数等信息添加一个持仓配对。Arbi_Add(),添加一个

25、持仓配对,并返回是否成功。例:VARRes;/定义一个变量,用来保存配对是否成功Res=Arbi_Add()/添加套利配对并返回结果给Res如果Res是1,配对成功,如果Res是0,配对失败返回套利对第一腿合约的交易编号。Arbi_F_DealCode(),返回套利对第一腿的合约的交易编号。例:VARCode;/定义一个变量,用来保存交易编号Code=Arbi_F_DealCode()/返回第一腿合约的交易编号返回套利对第二腿合约的交易编号。Arbi_S_DealCode(),返回套利对第二腿的合约的交易编号。例:VARCode;/定义一个变量,用来保存交易编号Code=Arbi_S_Deal

26、Code()/返回第二腿合约的交易编号返回套利对第三腿合约的交易编号。Arbi_T_DealCode(),返回套利对第三腿的合约的交易编号。例:VARCode;/定义一个变量,用来保存交易编号Code=Arbi_T_DealCode()/返回第三腿合约的交易编号五、逻辑判断判断两个时间是否是同一个周期。SamePeriod(Code,PeriodStr,T1,T2)如果T1,T2是同一个周期返回1,否则返回0,Code:合约的合约代码,PeriodStr可以取以下值的其中之一:min1,min3,min5,min10,min15,min30,1hour,3hour,8hour,1day,wee

27、k,month,T1和T2是以总秒数表示的时间例:IF(SamePeriod(m1009,min10,LastOrderTime(),Time(09:00:00)合约为m1009,周期为10分钟情况下,如果最后一次下单时间与09:00:00在同一个周期内六、数学运算取整形绝对值。ABS(Value)返回Value的绝对值,Value是整形值例:VARX;X=ABS(5);/X的值为5取浮点型的绝对值。ABSF(ValueF)返回ValueF的绝对值,ValueF是浮点值例:VARX;X=ABSF(-1.5);/X的值为1.5七、其他辅助当前时间。CurrentTime()返回当前时间例:VAR

28、CurTime;CurTime=CurrentTime();/定义一个变量CurTime,CurTime的值为当前时间。注意返回值是1970年1月1日至今的总秒数转换字符串为时间。Time(strTime)转换字符串strTime为时间(以总秒数表示),strTime的格式应为HH:MM:SS,其中0=HH24,0=MM60,0=SS60,如果不满足此条件,返回0例:time:Time(09:15:00)时间转换为字符串。TimeToStr(nSec)把整形数值表示的时间nSec转换为字符串,nSec为时间的总秒数,返回的字符串格式为:HH:MM:SS例:MessageOut(TimeToSt

29、r(CurrentTime(),输出当前时间日期转换为字符串。DateToStr(nSec)把整形数值表示的时间nSec转换为字符串,nSec为时间的总秒数,返回的字符串格式为:YY:MM:DD例:MessageOut(DateToStr(CurrentTime();/输出当前日期退出程序。Exit()退出程序。例:Exit();退出程序。当组件设置为循环时,遇到Exit将停止循环,请谨慎使用。当组件未设置为循环执行时,应该使用RETURN语句退出。数字转换为字符。Itoa(Value)将Value转换成字符串,Value的为整形数值例:VARstr;str=数字+Itoa(5);/str的值

30、为数字5输出内容。MessageOut(Content),输出Content的内容。注意:Content可以是字符串也可以是数字返回已注册的整形变量的值ReadGlobal(strName);返回注册的strName的值,strName为已注册的整形变量的注册名称(字符串)。如果strName未被注册过,返回0WriteGlabal(limit,20);VARlimitValue;limitValue=ReadGlobal(limit);limitValue的值为20。返回已注册的浮点型变量的值ReadGlobalF(strNameF);返回注册的strNameF的值,strNameF为已注册

31、的浮点型变量的注册名称(字符串),如果strNameF未被注册过,返回0.0f例:WriteGlabalF(Rate,0.5);VARfRate;fRate=ReadGlobal(Rate);fRate的值为0.5。返回已注册的字符串变量的值ReadGlobalStr(NameStr);返回注册的NameStr的值,NameStr为已注册的字符串变量的注册名称。如果NameStr未被注册过,返回(空字符串)例:WriteGlabalStr(showStr,上升);VARstr;str=ReadGlobal(showStr);/str的值为上升。注册一个整形变量。WriteGlabal(Name

32、,Value)。Name为整形变量的注册名称(字符串),Value为整形变量的值例:WriteGlabal(Period,5)注册一个整形变量,注册名称为Period,值为5。注册一个浮点形变量WriteGlabal(NameF,ValueF)。NameF为浮点形变量的注册名称(字符串),ValueF为浮点形变量的值例:WriteGlabalF(Rate,0.5)注册一个浮点形变量,注册名称为Rate,值为0.5。注册一个字符串变量WriteGlabalStr(NameStr,ValueStr)。NameStr为字符串变量的注册名称(字符串),ValueStr为字符串变量的值例:WriteGlabalStr(showStr,上升)注册一个字符串变量,注册名称为showStr,值为上升。-专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁