当前位置:文档之家› 文华赢智程序化交易(WH3)编程函数

文华赢智程序化交易(WH3)编程函数

合约当前价格Price(code)返回合约code的当前价格,code为合约的合约的代码例:VAR price;//定义一个变量pricePrice=price(“m1009”);//price的值为合约m1009的当前均价某合约当前均价AvPrice(code)返回合约code的当前均价,code为合约的合约代码例:VAR Avprice 定义一个变量avpriceAvprice=avprice(“m1009”);price的值为合约m1009的当前均价某合约的当前最高价High(code)返回合约code的当前最高价,code为某合约的合约代码例:Var high;High=High(“m1009”);high值为合约当前m1009的当前最高价某合约的当前最低价Low(code)返回合约code的当前最低价,code为某合约的合约代码例:Var low;Low=low(“m1009”);low值为合约m1009的当前最低价某合约的买卖盘报价Offers(code,strContent)返回某合约的买卖盘报价code为某合约的合约代码(字符串) strContent 为所要取得内容,可选以下内容“bid1-5”,”ask1-5”,”bidvol1-5”,”askvol1-5”,分别表示买1-5,卖1-5,买1量-5量,卖1量-5量。

例:VAR bid1;Bid1=Offers(“m1009”,”bid1”);bid1为豆粕1009的当前买1价某合约最小变动价位Minprice(code)返回合约code的最小变动价位,code为某合约的合约代码例:VAR minprice;定义一个变量minpriceMinprice=minprice(“m1009”);minprice的值为合约m1009的最小变动价位二、指令状态模型某合约多头持仓。

F_BuyPosition()返回模型的多头持仓例:Var fmlBBo1;fmlBBo1=F_BuyPosition(); 定义一个变量fmlBVol,FmlBVol为模型的多头持仓。

模型某合约的空头持仓F_SellPosition()返回模型的空头持仓例:VAR fMLSVon1;FmlSVol=F_ellPosition();定义一个变量fmlSVol,fmlSVol为模型的空头持仓。

模型某合约多头持仓成本价。

F_BuyAvgPrice()返回模型多头持仓成本价例:VAR price;Price=F_BuyAvgPrice();定义一个变量price,price的值为模型多头持仓成本价模型某合约空头持仓成本价。

F_SellAvgPrice()返回模型空头持仓成本价例:VAR price;Price=F_SellAvgPrice();定义一个变量price,price的值为模型空头持仓成本价取得当前模型的合约编码。

F_DealCode()返回模型所加载K图表的合约的合约编码(字符串)例:VAR DealCode;DealCode=F_DealCode();变量DealCode的内容为模型当前合约的合约编码。

取得当前模型的周期。

F_Period();Period=F_Period(); 变量period的内容为当前模型所使用的周期。

取得已经初始化的多头持仓。

F_InitBuyVol() 返回模型初始化的多头持仓(整数)。

例:VAR initBuyVol;定义一个变量记录初始多头持仓initBuyVol=F_InitBuyVol();取出初始多头持仓赋值给initBuyVol取得已经初始化的空头持仓。

F_initSellVol 返回模型初始化的空头持仓(整数)。

例:VAR initSellVol;定义一个变量记录初始空头持仓initSellVol=F_InitSellVol(); 取出初始空头持仓赋值给initSellVol刷新当前信号。

F_FreshSig() 取一个新信号(如果模型已经发出了多个信号,取最早发出的信号,信号兄啊是而是一种信号)返回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()取当前的信号发生时刻的价格。

例:IF(F_SigPrice()>3500) 如果信号发生的价格大于3500当前信号是发出的,还是消失的F_SigValid() 返回模型信号存在两种类型之一(信号发出,信号消失),返回1表示信号发出。

返回0表示信号消失。

例:IF(F_Sig()==BPK&&F_SigVolid()==1) 如果信号是BPK且不是信号消失状态当前信号的发出时间F_SigTime() 返回当前信号的发出时间(以总秒数表示),例:IF(SamePeriod(“m1009”,”min10”,LastOrderTime(),F_SigTime())) 如果取得新信号的时间与上次交易的时间是同一个周期当前信号在模型中是第几个指令的语句F_SigPos() 如果当前信号是模型中第5个含信号的语句发出的,返回5例:IF(F_SigPos()==5) 如果当前信号是第5行发出的三、下单接口最后一次下单的时间。

LastOrderTime() 返回最后一次下单的时间,以总秒数表示例:IF(LastOrderTime()-CurrentTime())=300)如果距离上次下单时间超过5分钟查询合约所属交易所的状态。

T_IsExchangeOpen(Code) 返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1.例:VAR Status;Status=T_IsExchangeOpen(“m1009”);Status为合约m1009所属交易所当前的开盘状态。

当Status为1时,说明该交易所开盘;当Status为0时,说明该交易所闭盘;当Status 为-1时,说明当前查询失败交易系统某合约多头持仓。

T_BuyPosition(Code) 返回交易系统中合约Code的多头持仓,Code为某合约的合约代码。

例:VAR BuyVol;BuyVol=T_BuyPosition(“m1009”);BuyVol为交易系统中合约代码为m1009的合约的多头持仓。

交易系统某合约的多头盈亏。

T_BuyProFitLoss(code) 返回交易系统合约code的多头盈亏例:VAR BuyEarn;BuyEarn=T_BuyProfitLoss(“m1009”); 定义一个变量BuyEarn,Buyearn的值为交易系统合约m1009的多头盈亏交易系统某合约的空头持仓。

T_SellPosition(Code)返回交易系统中合约Code的空头持仓,Code为某合约的合约代码。

例:VAR SellVol;SellVol=T_SellPosition(“m1009”); SVol 为交易系统中合约代码为m1009的合约的空头持仓。

交易系统某合约空头持仓成本价。

T_SellAvgPrice(code)返回交易系统合约code的空头持仓成本价,code为某合约合约代码,例:VAR SellPriceSellPrice=T_SellAvgPrice(“m1009”);定义一个变量SellPrice,SellPrice的值为交易系统合约m1009空头持仓成本价交易系统某合约的空头盈亏。

T_SellProfitLoss(code)返回交易系统合约code的空头盈亏例:VAR SellEarn;SellEarn=T_SellProfitLoss(“m1009”) 定义一个变量SellEarn,SellEarn的值为交易系统合约m1009的空头盈亏发出委托。

T_Deal(Code,bs,kp,Vol,price),发出委托。

Code(字符串):合约编码,bs(整数0,1):0买1卖,bk(整数0,1,2):0开1平2平今Vol(整数):下单手数,Price(整数或小数):下单价格,0为市价返回唯一委托标识OrderID(字符串)例:VAR orderID=T_Deal(“m1009”,0,0,5,2900);发出委托:m1009买开5手限价2900可用资金。

T_Freemargin(Type),返回可用资金。

Type(整数0,1)0期货1股票,返回可用资金数(小数)例:VAR margin;Margin=T_freeMargin(0); 返回当前期货账户的可用资金数权益T_Equity(Type),返回权益。

Type (整数0,1)0期货1股票,返回权益(小数)例:VAR margin;Margin=T_Equity(0); 返回当前期货账户的权益数某品种最大可开仓手数。

T_MaxOpen(Code,margin,bs),某品种最大可开仓手数。

Code(字符串):合约编码,margin(小数):保证金比例bs(整数0,1):0买1卖返回该品种在当前可用资金,当前价格下的可开仓手数(整数)例:VAR vol;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:交易编码,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_DeleteOrder(Code,Tyep)委托撤单。

相关主题