收藏 分销(赏)

文华财经策略编写、下单组件编写新增函数.docx

上传人:精*** 文档编号:10161361 上传时间:2025-04-24 格式:DOCX 页数:11 大小:24.08KB
下载 相关 举报
文华财经策略编写、下单组件编写新增函数.docx_第1页
第1页 / 共11页
文华财经策略编写、下单组件编写新增函数.docx_第2页
第2页 / 共11页
文华财经策略编写、下单组件编写新增函数.docx_第3页
第3页 / 共11页
文华财经策略编写、下单组件编写新增函数.docx_第4页
第4页 / 共11页
文华财经策略编写、下单组件编写新增函数.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、文华wh3中策略编写、下单组件编写新增函数汇总2二.下单组件编写新增函数1. 引用数据函数AvPrice(Code)*合约当前均价。用法:AvPrice(Code返回合约Code的当前均价,Cod。为*合约的合约代码例:VAR avprice定义一个变量avpriceavprice=AvPrice(m1109);的值为c合约m1109的当前均价High(Code)*合约当前最高价。用法:High(Code返回合约Code的当前最高价,Code为*合约的合约代码例:VAR high;定义一个变量highhigh=High(m1109); /!的值为合约m1109的当前最高价Low(Code)*合

2、约当前最低价。用法:Low(Code)返回合约Code的当前最低价,Code为*合约的合约代码例:VAR low;/定义一个变量lowlow=Low(m1109); /l的w值为合约m1109的当前最低价Position(Code,strContent)*合约的盘数据。用法:Position(Code,strConte返回*合约*种盘 数据 Code为*合约的合约代码(字符串),strCont为所要取得容,可选以下容bid1,bid2,bid3,bid4,bid5,ask1,ask2,ask3,ask4,ask5,bidvol1,bidvol2,bidvol3,bidvol4,bidvol5,

3、askvol1,askvol2,askvol3,askvol4,askvol5,分别表示买1-买5卖1-卖5买1量-买5量卖1量-卖5量。例:VAR bid1;bid1=Position(m1109,bid1);为豆粕119 的当前买 1 价Price(Code)*合约当前价格。用法:Price(Cod返回合约Code的当前价格,Code为*合约的合约代码例:VAR price;定/义一个变量 priceprice=Price(m1109); /的值(为合约m1109的当前价格Volume(Code)*合约当前成交量。用法:Volume(Code)返回合约Code的当前成交量,Code为*合约

4、的合约代码例:VAR volume;/定义一个变量 volumevolume=Volume(m1109); /volume为合约 m1109 的当前成交量MinPrice*合约最小变动价位。用法:MinPrice(Cod返回合约Code的最小变动价位,Code为*合约的合约代码例:VAR minprice;定/义一个变量 minpriceminprice=MinPrice(m19); /minp值为合约 m19 的最小变动价位2. 逻辑判断函数SamePeriod(Code,PeriodStr,T1,T2)判断两个时间是否是同一个周期。用法:SamePeriod(Code,PeriodStr,

5、T1如果T1,T2是同一个周期返回1,否则返回0,Code合约的合约代码,PeriodSt可以取以下值的其中之一:min1,min3,min5,min10,min15,min30,1hour,3hour,8hour,1day,week,month和T2是以总秒数表示的时间例:IF(SamePeriod(m1109,min10,LastOrderTime(),Time(0合约为(MDD09,周期为 10 分钟情况下,如果最后一次下单时间与09:0在同一个周期3. 辅助函数CurrentTime()当前时间。用法:CurrentTime返回当前时间例:VAR CurTime;CurTime=Cur

6、rentTime()定义/一个变量CurTime,CurTime的值为当前时间。注意返回值是1970年1月1日至今的总秒数DateToStr(nSec)日期转换为字符串。用法:DateToStr(nSe把整形数值表示的时间nSec转换为字符串,nSec为时间的总秒数,返回的字符串格式为:YY:MM:DD例:MessageOut(DateToStr(CurrentTime()输出;当/前日期E*it()退出程序。用法:E*it退出程序。例:E*it()退出程序。当组件设置为循环时,遇到E*it将停顿循环,请慎重使用。当组件未设置为循环执行时,应该使用RETURN语句退出。Itoa(Value)数

7、字转换为字符。用法:Itoa(Valu将 Value转换成字符串,Value的为整形数值例:VAR str; st数字+Itoa(5); /的值为数字 5MessageOut(Content)输出容。用法:MessageOut(Content输出Content的容。注意:Content可以是字符串也可以是数字ReadGlobal(strName)返回已注册的整形变量的值用法:ReadGlobal(strName返;回注册的strName的值,strName为已注册的整形变量的注册名称(字符串)。如果strName未被注册过,返回0例:WriteGlabal(limit,20);VAR limi

8、tValue;limitValue=ReadGlobal(limit);l 的值为l20。ReadGlobalF(strNameF)返回已注册的浮点型变量的值用法:ReadGlobalF(strName返;回注册的strNameF的值,strNameF为已注册的浮点型变量的注册名称(字符串),如果strNameF未被注册过,返回0.0f例:WriteGlabalF(Rate,0.5);VAR fRate;fRate=ReadGlobal(Rate);fRa值为 0.5。ReadGlobalStr(NameStr)返回已注册的字符串变量的值用法:ReadGlobalStr(NameSti)回注册

9、的NameStr的值,NameStr为已注册的字符串变量的注册名称。如果NameStr未被注册过,返回(空字符串)例:WriteGlabalStr(showS上升);VAR str;str=ReadGlobal(showStr);的值为上升。Time(strTime)转换字符串为时间。用法:Time(strTime转换字符串strTime为时间(以总秒数表示),strTime的格式应为HH:MM:SS ,其中0=HH24,0=MM60,0=SS350如果信号发生的价格大于35F_SigVol取当前信号的手数。用法:F_SigVol()取当前的信号的手数,如果当前信号是BPK(5),则返回5.例

10、IF(F_SigVol() = VarO如果信号的仓位等于变量VarOpiF_SigVali当前信号是发出的,还是消失的用法:F_SigValid (返回模型信号存在两种类型之一信号发出,信号消失),返回1表示信号发出,返回0表示信号消失。例:IF(F_Sig()=BPK & F_SigValid()=i;果信/号是 BPK 且不是信号消失状态 F_SigTime 当前信号的发出时间。用法:F_SigTime()返回当前信号的发出时间似总秒数表示),例:IF(SamePeriod(nm19n,nmin10n,LastOrderTime(),F-Sig如m果 取得新信号的时间与上次交易的时间是

11、同一个周期F_SigPos当前信号在模型中是第几个有指令的语句。用法:F_SigPos()如果当前信号是模型中第5个含信号的语句发出的,返回5例:IF(F_SigPos()=5如果当前信号是第5行发出的F_Close当前模型*根K线的收盘价。用法:F_Close(n返回倒数第n+1根K线的收盘价例:VAR c;c=F_Close(0);为最后一根K线收盘价F_Open当前模型*根K线的开盘价。用法:F_Open(n)返回倒数第n+1根K线的开盘价例:VAR c;c=F_Open(0);/为最后一根K线开盘价F_High当前模型*根K线的最高价。用法:F_High(nM回倒数第n+1根K线的最高

12、价例:VAR c;c=F_High(0);/最后一根K线最高价F_Low当前模型*根K线的最低价。用法:F_Low(n)返回倒数第n+1根K线的最低价例:VAR c;c=F_Low(0);/为最后一根K线最低价F_Volume当前模型*根K线的成交量。用法:F_Volume(n返回倒数第n+1根K线的成交量例:VAR c;c=F_Volume(0);/为最后一根K线成交量F_Opi当前模型*根K线的持仓量。用法:F_Opi(nM回倒数第n+1根K线的持仓量例:VAR c;c=F_Opi(0);/为最后一根K线持仓量F_Avprice当前模型*根K线的均价。用法:F_Avprice (返回倒数第

13、n+1根K线的均价例:VAR c;c=F_Avprice(0); /最后一根K线均价F_Variant当前模型*变量在*根K线上的值。用法:F_Variant(varname,返回模型中变量varname在倒数第n+1根K线的值nvarname变量名类型为字符串例:/e*ample.trdMA5:=MA(CLOSE,5);/e*ample.stgVAR ma5;ma5=F_Variant(MA5, 0)拗盘价5个周期简单平均移动的最后一根K线值6. 下单接函数LastOrderTime()最后一次下单的时间。用法:LastOrderTime()回最后一次下单的时间,以总秒数表例如:IF(Las

14、tOrderTime() - CurrentTime()如果3离上次下单时间超过5分钟T_IsE*changeOpen查询合约所属交易所的状态。用法:T_IsE*changeOpen(Code返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1。例:VAR Status;Status=T_IsE*changeOpen(m19); /S为合u约m19所属交易所当前的开闭盘状态。当Statu为1时,说明该交易所开盘;当Statu为0时,说明该交易所闭盘;当Statu为-1时,说明当前查询失败。T_BuyPosition(Code)交易系统*合约多头持仓。用法:T_Bu

15、yPosition(Cod返回交易系统中合约Code的多头持仓,Cod。为*合约的合约代码。例:VAR BuyVol;BuyVol=T_BuyPosition(m1109); /B为yO易系统中合约代码为m1109的合约的多头持仓。T_BuyAvgPrice(Code)交易系统*合约多头持仓本钱价。用法:T_BuyAvgPrice(Code返回交易系统合约Code的多头持仓本钱价,Cod。为*合约合约代码。例:VAR BuyPrice; BuyPrice=T_BuyAvgPrice(m110定义一个变量 BuyPrice,BuyPri的值为交易系统合约m1109多头持仓本钱价T_BuyProf

16、itLoss(code)交易系统*合约的多头盈亏。用法:T_BuyProfitLoss(cod返回交易系统合约code的多头盈亏例:VAR BuyEarn;BuyEarn=T_BuyProfitLoss(m1109定义一个变量 BuyEarn,BuyEari的值为交易系统合约m1109的多头盈亏T_SellPosition(Code)交易系统*合约空头持仓。用法:T_SellPosition(Co返回交易系统中合约Code的空头持仓,Cod。为*合约的合约代码。例:VAR SellVol;SellVol=T_SellPosition(m1109);为交易d.系统中合约代码为m1109的合约的空

17、头持仓。T_SellAvgPrice(code)交易系统*合约空头持仓本钱价。用法:T_SellAvgPrice(co返回交易系统合约code的空头持仓本钱价,code%*合约合约代码。例:VAR SellPrice;SellPrice=T_SellAvgPrice(m1109定义一个变量 SellPrice,SellP的值为交易系统合约m1109空头持仓本钱价T_SellProfitLoss(code)交易系统*合约的空头盈亏。用法:T_SellProfitLoss(co返回交易系统合约code的空头盈亏例:VAR SellEarn;SellEarn=T_SellProfitLoss(m1

18、定义一个变量 SellEarn,SellE的值为交易系统合约 m1109的空头盈亏T_Deal(Code,bs,kp,vol,price)发出委托。用法:T_Deal(Code,bs,kp,vol,p发曲委托。Code (字符串)合约编码,bs整数0, 1):0买1卖,kp整数0, 1, 2):0开1平2平今Vol整数):下单手数,Price整数或小数):下单价格,0为市价返回唯一委托标识OrderlD字符串)例:VAR orderID=T_Deal(m1109, 0, 0, 5,发9出委托:m1109 买开 5 手限价 29T_FreeMargin(Type)可用资金。用法T_FreeMar

19、gin(Type)返回可用资金。Type 整数0, 1)期货1股票,返回可用资金数小数)例:VAR margin;margin=T_FreeMargin(0)返回/当前期货的可用资金数T_Equity(Type)权益。用法T_Equity(Type)返回权益。Type整数0, 1)期货1股票,返回权益小数)例:VAR margin;margin=T_Equity(0)返回/当前期货的权益数T_Ma*Open(Code, margin, bs)*品种最大可开仓手数。、用法:T_Ma*Open(Code, margin, bsV种最大可开仓手数。Code(字符串):合约编码,margin小数):保

20、证金比例bs整数0,1):0买1卖 返回该品种在当前可用资金,当前价格下的可开仓手数整数)例:VAR vol;vol=T_Ma*Open(m1109, 0.1,变;量/ol为m1109的 在保证金比例为0.1下的可开仓手数T_OrderState(OrderID)查询委托状态。用法:T_OrderState(OrderID据委托唯一标识OrderID字符串)查委托状态,返回值含义:-1查询失败0挂单1成交2被撤单3部份成交4其它例:IF(T_OrderState(*)=如)果委托*是挂单T_OpenOrder(Code,Type)查询挂单数量。用法:T_OpenOrder(Code,Type返

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

22、ode(Code,Type)委托撤单通过合约代码)。用法:T_DeleteOrderByCode(Code,Tyfb托撤单。Code:合约代码(字符串)Type:所有方向;1 买开;2卖平;3卖开;4买平返回0撤单发出成功,返回其它失败例:T_DeleteOrderByCode(ru19橡胶 19 的卖平委托T_DeleteOrderAll()撤掉所有未成交委托。用法:T_DeleteOrderAlJt(掉所有该模型相关的未成缴委托单,返回0撤单发出成功,返回其它失败例:IF(T_DeleteOrderAll()如果撤单失败T_AddBuyOpiTo(Code, Price, Vol)根据当前

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

24、e(字符串)合约代码,PriceJ(数)价格,Vol整数):成交量对合约代码为Code的字符串以Price价格下单到达多头vol手持仓例:T_AddSellOpiTo(m1109, Price(m1109)-5,卖开)使空头持仓到达 10 手T_ReduceBuyOpiTo(Code, Price, Vol)根据当前成交的量采用卖平的手段到达把仓位减少到*一数值的目的。用法:T_ReduceBuyOpiTo(Code, Price,把多)头仓位减少到*一数值。Code (字符串):合约代码,PriceJ(数)价格,Vol整数):成交量对合约代码为Code的字符串以Price价格下单到达多头vo

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

26、 手T_StgBuyVol(Code)当前算法交易模型产生的*品种的多头持仓。用法:T_StgBuyVol(CodeM回当前算法交易模型产生的合约代码为Code的合约的多头持仓数。Code(字符串):合约代码例:T_StgBuyVol(m1109);当前算法交易模型产生的*品种多头持仓数T_StgSellVol(Code)当前算法交易模型产生产生的*品种的空头持仓。用法:T_StgSellVol(Cod返)回当前算法交易模型产生的合约代码为Code的合约的空头持仓数。Code(字符串):合约代码例:T_StgSellVol(m1109当前算法交易模型产生的*品种空头持仓数T_OrderMatc

27、hVol(OrderID次委托已经成交的数量。用法:T_OrderMatchVol(Order根据委托唯一标识OrderID查询委托成交手数,返回成交手数。OrderID字 符串)例:VAR matchvol;matchvol=T_OrderMatchVol(*); /match*次 委托的已成交数量 T_IsNoOrder()该算法交易模型无挂单发出的所有委托都已经成交,或被撤单)。用法:T_IsNoOrder如果没有挂单返回1,否则返回0例:IF(T_IsNoOrder()如果没有挂单T_SHBuyRemainPosition交易系统市场*合约多头可用持仓。用法:T_SHBuyRemain

28、Position(code,Ty返回市场交易系统中合约Code的多头可用持仓,Cod。为*合约的合约代码。Type:0今仓1老仓例:VAR BuyRemainVol;BuyRemainVol=T_BuyRemainPosition(ru19,0); /BuyRen为i交易系 统中合约代码为ru19的合约的多头今仓可用持仓。T_SHSellRemainPositic交易系统市场*合约空头可用持仓。用法:T_SHSellRemainPosition(Code,T返回市场交易交易系统中合约Code的空头可用持仓,Code为*合约的合约代码。Type:0今仓1老仓例:VAR SellRemainVol

29、SellRemainVol=T_SellRemainPosition(ru19,0); /Sel 为1交易系 统中合约代码为ru19的合约的空头今仓可用持仓。T_SHBuyPosition交易系统市场*合约多头持仓。用法:T_SHBuyPosition(code,Ty返回市场交易系统中合约Code的多头持仓,Cod。为*合约的合约代码。Type: 0今仓1老仓例:VAR BuyVol;BuyVol=T_BuyPosition(ru19,0); /为交V易系统中合约代码为ru19的合约的多头今仓持仓。T_SHSellPositic交易系统市场*合约空头持仓。用法:T_SHSellPositio

30、n(Code,T返回市场交易交易系统中合约Code的空头持仓,Code为*合约的合约代码。Type:0今仓1老仓例:VAR SellVol;SellVol=T_SellPosition(ru19,0);为/交易系(统中合约代码为ru19的合约的空头今仓持仓。7. 套利函数Arbi_OpenPDiff根据套利表达式计算该套利组合的开盘价的价差或价比并返回。用法:Arbi_OpenPDiff,()计算并返回该套利组合的开盘价价差或价比。例:VAR OpenPD;/定义一个变量,用来保存开盘价价差或价比OpenPD = Arbi_OpenPDiff计算开盘价价差或价比并返回给OpenPDArbi_N

31、ewPDiff根据套利表达式计算该套利组合的最新价的价差或价比并返回。用法:Arbi_NewPDiff,()计算并返回该套利组合的最新价价差或价比。例:VAR NewPD;/定义一个变量,用来保存最新价价差或价比NewPD = Arbi_NewPDiff (计算最新价价差或价比并返回给NewPDArbi_BidPDiff根据套利表达式计算该套利组合的对价的价差或价比并返回。用法:Arbi_BidPDiff(计算并返回该套利组合的对价价差或价比。例:VAR BidPD;定义一个变量,用来保存对价价差或价比BidPD = Arbi_BidPDiff-K算对价价差或价比并返回给BidPDArbi_A

32、skPDiff根据套利表达式计算该套利组合的挂价的价差或价比并返回。用法:Arbi_AskPDiff()计算并返回该套利组合的挂价价差或价比。例:VAR AskPD;/定义一个变量,用来保存挂价价差或价比AskPD = Arbi_AskPDiff计算挂价价差或价比并返回给AskPDArbi_YSettlePDiff根据套利表达式计算该套利组合的昨日结算价的价差或价比并返回。用法:Arbi_YSettlePDiff计算并返回该套利组合的昨日结算价价差或价比。例:VAR YSettlePD;定义一个变量,用来保存昨日结算价价差或价比YSettlePD = Arbi_YSettlePDiff昨/日结

33、算价价差或价比并返回给YSettlePDArbi_YClosePDiff根据套利表达式计算该套利组合的昨日收盘价的价差或价比并返回。用法:Arbi_YClosePDiff(计算并返回该套利组合的昨日收盘价价差或价比。例:VAR YClosePD;定义一个变量,用来保存昨日收盘价价差或价比YClosePD = Arbi_YClosePDif计算昨日收盘价价差或价比并返回给YClosePDArbi_Add根据套利组合、买卖方向以及下单份数等信息添加一个持仓配对。用法:Arbi_AddO添加一个持仓配对,并返回是否成功。例:VAR Res;/定义一个变量,用来保存配对是否成功Res = Arbi_A

34、dd (添加套利配对并返回结果给Res如果Res是1,配对成功,如果Res是0,配对失败Arbi_F_DealCode返回套利对第一腿合约的交易编号。用法:Arbi_F_DealCode,()返回套利对第一腿的合约的交易编号。例:VAR Code;废义一个变量,用来保存交易编号Code = Arbi_F_DealCode()/第一腿合约的交易编号Arbi_S_DealCode返回套利对第二腿合约的交易编号。用法:Arbi_S_DealCode,)返回套利对第二腿的合约的交易编号。例:VAR Code;废义一个变量,用来保存交易编号Code = Arbi_S_DealCode返回第二腿合约的交易编号Arbi_T_DealCode返回套利对第三腿合约的交易编号。用法:Arbi_T_DealCode,()返回套利对第三腿的合约的交易编号。例:VAR Code;废义一个变量,用来保存交易编号Code = Arbi_T_DealCodeW第三腿合约的交易编号

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服