收藏 分享(赏)

麦语言自编下单组件函数列表.doc

上传人:精品资料 文档编号:11098156 上传时间:2020-02-07 格式:DOC 页数:33 大小:228.50KB
下载 相关 举报
麦语言自编下单组件函数列表.doc_第1页
第1页 / 共33页
麦语言自编下单组件函数列表.doc_第2页
第2页 / 共33页
麦语言自编下单组件函数列表.doc_第3页
第3页 / 共33页
麦语言自编下单组件函数列表.doc_第4页
第4页 / 共33页
麦语言自编下单组件函数列表.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、麦语言自编下单组件函数列表目录自编下单组件支持的函数 21.引用数据函数 (8) .22.逻辑判断函数(1) .33.辅助函数 (24) .34.数学运算函数(6) .85.指令状态函数(33) .96.下单接口函数(36) .157.套利函数(10) .241自编下单组件支持的函数1.引用数据函数 (8)AvPrice(Code)某合约当前的均价某合约当前均价。用法:AvPrice(Code)返回合约 Code 的当前均价,Code 为某合约的合约代码例:VAR avprice;/定义一个变量 avpriceavprice=AvPrice(“m1109“); /price 的值为合约 m11

2、09 的当前均价High(Code)某合约当前最高价某合约当前最高价。用法:High(Code)返回合约 Code 的当前最高价,Code 为某合约的合约代码例:VAR high;/定义一个变量 highhigh=High(“m1109“); /high 的值为合约 m1109 的当前最高价Low(Code)某合约当前最低价某合约当前最低价。用法:Low(Code)返回合约 Code 的当前最低价, Code 为某合约的合约代码例:VAR low;/定义一个变量 lowlow=Low(“m1109“); /low 的值为合约 m1109 的当前最低价MinPrice(Code)某合约最小变动价

3、位某合约最小变动价位。用法:MinPrice(Code)返回合约 Code 的最小变动价位,Code 为某合约的合约代码例:VAR minprice;/定义一个变量 minpriceminprice=MinPrice(“m1009“); /minprice 的值为合约 m1009 的最小变动价位Offers(Code,strContent)某合约的买卖盘报价或买卖量某合约的盘口数据。用法:Offers (Code,strContent) 返回某合约某种盘口数据 Code为某合约的合约代码(字符串 ), strContent 为所要取得内容,可选以下内容“bid1“,“bid2“,“bid3“,

4、“bid4“,“bid5“,“ask1“,“ask2“,“ask3“,“ask4“,“ask5“,“bidvol1“,“bidvol2“,“bidvol3“,“bidvol4“,“bidvol5“,“askvol1“,“askvol2“,“askvol3“,“askvol4“,“askvol5“,分别表示买 1-买 5 卖 1-卖 5 买 1 量- 买 5 量 卖 1 量-卖 5 量。例:VAR bid1;bid1= Offers (“m1109“,“bid1“);/bid1 为豆粕 1009 的当前买 1 价2Open(Code)某合约当前开盘价某合约当天开盘价。用法:Open(Code)返

5、回合约 Code 的当天开盘价,Code 为某合约的合约代码例:VAR open;/定义一个变量 openopen=Open(“m1405“); /open 的值为合约 m1405 的当天开盘价Price(Code)某合约当前价格某合约当前价格。用法:Price(Code)返回合约 Code 的当前价格,Code 为某合约的合约代码例:VAR price;/定义一个变量 priceprice=Price(“m1109“); /price 的值为合约 m1109 的当前价格Volume(Code)某合约当前成交量某合约当前成交量。用法:Volume(Code)返回合约 Code 的当前成交量,C

6、ode 为某合约的合约代码例:VAR volume;/定义一个变量 volumevolume=Volume(“m1109“); /volume 的值为合约 m1109 的当前成交量2.逻辑判断函数(1)SamePeriod(Code,PeriodStr,T1,T2)判断两个时间是否是同一个周期判断两个时间是否是同一个周期。用法:SamePeriod(Code,PeriodStr,T1,T2)如果 T1,T2 是同一个周期返回 1,否则返回 0,Code:合约的合约代码, PeriodStr 可以取以下值的其中之一:“min1“,“min3“,“min5“,“min10“,“min15“,“mi

7、n30“,“1hour“,“3hour“,“8hour“,“1day“,“week“,“month“,T1 和 T2 是以总秒数表示的时间例:IF(SamePeriod(“m1009“,“min10“,LastOrderTime(),Time(“09:00:00“)合约为 m1009,周期为 10 分钟情况下,如果最后一次下单时间与09:00:00 在同一个周期内3.辅助函数 (24 )3CurrentTime()当前时间当前时间。用法:CurrentTime()返回当前时间(以总秒数表示)例:VAR CurTime; CurTime=CurrentTime(); /定义一个变量 CurTim

8、e,CurTime 的值为当前时间。注意返回值是 1970 年 1 月 1 日至今的总秒数CurrentServerTime取最后一笔行情的服务器时间取最后一笔行情上的服务器时间。用法:1、 CurrentServerTime()取最后一笔行情上的服务器时间2、该函数仅适用于被绑定运行的下单组件,不适用于独立运行的下单组件例:VAR CurrentServerTime; CurrentServerTime=CurrentServerTime(); /定义一个变量CurrentServerTime,CurrentServerTime 的值为最后一笔行情上的服务器时间。注意返回的是加载数据合约的最

9、后一笔行情上的服务器时间。DateToStr(nSec)日期转换为字符串日期转换为字符串。用法:DateToStr(nSec)把整形数值表示的时间 nSec 转换为字符串,nSec 为时间的总秒数,返回的字符串格式为:YY:MM:DD例:MessageOut(DateToStr(CurrentTime() ) ); /输出当前日期DYNINFO(Code, Type)获取某合约的 60 秒速涨、现增仓、现涨获取某合约的 60 秒速涨、现增仓、现涨。用法:DYNINFO(Code, Type) Code:合约代码 Type:1,60 秒速涨 2,现增仓 3,现涨例:MessageOut(DYNI

10、NFO(“IF1309“, 1); /输出股指 1309的 60 秒速涨。Exit()退出程序退出程序。用法:Exit()退出程序。例:Exit(); 退出程序。当组件设置为循环时,遇到 Exit 将停止循环,请谨慎使用。当组件未设置为循环执行时,应该使用 RETURN 语句退出。说明:退出组件程序后,组件后续不再运行。4GLOBAL_VAR定义全局变量GLOBAL_VAR 定义全局变量注:1、相当于原来注册、读取变量的写法2、可以自动识别 整形、浮点型、字符串类型3、函数参数中,不能使用 GLOBAL_VAR 类型变量例:GLOBAL_VAR A1;VOID MAIN() IF(A13500

11、) /如果当前信号发生时盘口对应的最新价格大于 3500F_SigVol()取当前信号对应的手数取当前信号对应的手数。用法:F_SigVol() 取当前的信号对应的手数 , 如果当前信号是 BPK(5), 则返回 5.例:IF(F_SigVol() = VarOpi) /如果信号的仓位等于变量 VarOpi注:取当前信号对应的手数,并非默认下单手数。F_SigValid()当前信号类型当前信号是发出的,还是消失的用法:F_SigValid() 返回模型信号存在两种类型之一( 信号发出,信号消失 ),返回 1 表示信号发出, 返回 0 表示信号消失。例:IF(F_Sig()=BPK c=F_Cl

12、ose(0);/c 为最后一根 K 线收盘价F_Open(n)当前模型某根 K 线的开盘价当前模型某根 K 线的开盘价。用法:F_Open(n)返回倒数第 n+1 根 K 线的开盘价 例:VAR c;c=F_Open(0);/c 为最后一根 K 线开盘价F_High(n)当前模型某根 K 线的最高价当前模型某根 K 线的最高价。用法:F_High(n)返回倒数第 n+1 根 K 线的最高价 例:VAR c;c=F_High(0);/c 为最后一根 K 线最高价F_Low(n)当前模型某根 K 线的最低价当前模型某根 K 线的最低价。用法:F_Low(n)返回倒数第 n+1 根 K 线的最低价

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

14、(n)返回倒数第 n+1 根 K 线的均价 例:VAR c;c=F_Avprice(0);/c 为最后一根 K 线均价F_Variant(varname, n)当前模型某变量在某根K 线上的值当前模型某变量在某根 K 线上的值。用法:F_Variant(varname, n) 返回模型中变量 varname 在倒数第 n+1 根K 线的值 nvarname 变量名 类型为字符串例:/example.trd.MA5:=MA(CLOSE,5); ./example.stgVAR ma5;ma5=F_Variant(“MA5“, 0);/c 收盘价 5 个周期简单平均移动的最后一根 K 线值6.下单

15、接口函数(36 )T_OrderMatchAvPrice(OrderID)根据委托唯一标识 OrderID 获取成交均价根据委托唯一标识 OrderID 获取成交均价注:OrderID 可参考 T_Deal()函数例:GLOBAL_VAR BKID,N;VOID MAIN()VAR AvPrice; IF(N=0)BKID=T_Deal(“RU0022“,0,0,10,20400);N=1;AvPrice = T_OrderMatchAvPrice(BKID);MessageOut(AvPrice);18LastOrderTime()最后一次下单的时间最后一次下单的时间。用法:LastOrde

16、rTime()返回最后一次下单的时间,以总秒数表示例:IF(LastOrderTime() - CurrentTime() = 300)如果距离上次下单时间超过 5 分钟 注:返回本组件最后一次下单的委托时间。(撤单不算)。T_IsExchangeOpen(Code)查询合约所属交易所的状态查询合约所属交易所的状态。用法:T_IsExchangeOpen(Code)返回合约 Code 所属的交易所的开闭盘状态,开盘返回 1,闭盘返回 0,查询失败返回-1。例:VAR Status;Status=T_IsExchangeOpen(“m1009“); /Status 为合约m1009 所属交易所当

17、前的开闭盘状态。当 Status 为 1 时,说明该交易所开盘;当 Status 为 0 时,说明该交易所闭盘;当 Status 为-1 时,说明当前查询失败。T_BuyPosition(Code)交易系统某合约多头持仓交易系统某合约多头持仓。用法:T_BuyPosition(Code)返回交易系统中合约 Code 的多头持仓,Code 为某合约的合约代码。例:VAR BuyVol;BuyVol=T_BuyPosition(“m1109“); /BuyVol 为交易系统中合约代码为 m1109 的合约的多头持仓。T_BuyRemainPosition(Code)交易系统某合约多头可用持仓交易系

18、统某合约多头可用持仓。用法:T_BuyRemainPosition(Code)返回交易系统中合约 Code 的多头仓,Code 为某合约的合约代码。例:VAR BuyRemainVol;BuyRemainVol=T_BuyRemainPosition(“m1009“); /BuyRemainVol 为交易系统中合约代码为 m1009 的合约的多头可用持仓。T_SellRemainPosition(Code)交易系统某合约空头可用持仓交易系统某合约空头可用持仓。用法:T_SellRemainPosition(Code)返回交易系统中合约 Code 的空仓,Code 为某合约的合约代码。19例:V

19、AR SellRemainVol;SellRemainVol=T_SellRemainPosition(“m1009“); /SellRemainVol 为交易系统中合约代码为 m1009 的合约的空头可用持仓。20T_SHBuyRemainPosition(code,Type)交易系统上海市场某合约多头可用持仓交易系统上海市场某合约多头可用持仓。用法:T_SHBuyRemainPosition(code,Type)返回上海市场交易系统中合约 Code 的多头可用持仓,Code 为某合约的合约代码。Type:0 今仓 1 老仓例:VAR BuyRemainVol;BuyRemainVol=T_

20、SHBuyRemainPosition(“ru1009“,0); /BuyRemainVol 为交易系统中合约代码为 ru1009 的合约的多头今仓可用持仓。T_SHSellRemainPosition(Code,Type)交易系统上海市场某合约空头可用持仓交易系统上海市场某合约空头可用持仓。用法:T_SHSellRemainPosition(Code,Type)返回上海市场交易交易系统中合约 Code 的空头可用持仓,Code 为某合约的合约代码。Type:0 今仓 1 老仓例:VAR SellRemainVol;SellRemainVol=T_SHSellRemainPosition(“r

21、u1009“,0); /SellRemainVol 为交易系统中合约代码为 ru1009 的合约的空头今仓可用持仓。T_SHBuyPosition(code,Type)交易系统上海市场某合约多头持仓交易系统上海市场某合约多头持仓。用法:T_SHBuyPosition(code,Type)返回上海市场交易系统中合约 Code 的多头持仓,Code 为某合约的合约代码。Type:0 今仓 1 老仓例:VAR BuyVol;BuyVol=T_SHBuyPosition(“ru1009“,0); /BuyVol 为交易系统中合约代码为 ru1009 的合约的多头今仓持仓。T_SHSellPositio

22、n(Code,Type)交易系统上海市场某合约空头持仓交易系统上海市场某合约空头持仓。用法:T_SHSellPosition(Code,Type)返回上海市场交易交易系统中合约 Code 的空头持仓,Code 为某合约的合约代码。Type:0 今仓 1 老仓例:VAR SellVol;SellVol=T_SHSellPosition(“ru1009“,0); /SellVol 为交易系统中合约代码为 ru1009 的合约的空头今仓持仓。T_BuyAvgPrice(Code)交易系统某合约多头持仓成本价交易系统某合约多头持仓成本价。用法:T_BuyAvgPrice(Code)返回交易系统合约 C

23、ode 的多头持仓成本价,Code 为某合约合约代码。例:VAR BuyPrice; BuyPrice=T_BuyAvgPrice(“m1109“);/ 定义21一个变量 BuyPrice,BuyPrice 的值为交易系统合约 m1109多头持仓成本价22T_BuyProfitLoss(code)交易系统某合约的多头盈亏交易系统某合约的多头盈亏。用法:T_BuyProfitLoss(code)返回交易系统合约 code 的多头盈亏例:VAR BuyEarn;BuyEarn=T_BuyProfitLoss(“m1109“);/ 定义一个变量BuyEarn,BuyEarn 的值为交易系统合约 m1

24、109 的多头盈亏T_SellPosition(Code)交易系统某合约空头持仓交易系统某合约空头持仓。用法:T_SellPosition(Code)返回交易系统中合约 Code 的空头持仓,Code 为某合约的合约代码。例:VAR SellVol;SellVol=T_SellPosition(“m1109“);/ SVol 为交易系统中合约代码为 m1109 的合约的空头持仓。T_SellAvgPrice(code)交易系统某合约空头持仓成本价交易系统某合约空头持仓成本价。用法:T_SellAvgPrice(code)返回交易系统合约 code 的空头持仓成本价,code 为某合约合约代码。

25、例:VAR SellPrice;SellPrice=T_SellAvgPrice(“m1109“);/ 定义一个变量SellPrice,SellPrice 的值为交易系统合约 m1109 空头持仓成本价T_SellProfitLoss(code)交易系统某合约的空头盈亏交易系统某合约的空头盈亏。用法:T_SellProfitLoss(code)返回交易系统合约 code 的空头盈亏例:VAR SellEarn;SellEarn=T_SellProfitLoss(“m1109“) 定义一个变量SellEarn,SellEarn 的值为交易系统合约 m1109 的空头盈亏23T_Deal(Code

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

27、), 返回可用资金。 Type( 整数 0, 1) 0 期货 1 股票,返回可用资金数(小数)例:VAR margin;margin=T_FreeMargin(0); /返回当前期货帐户的可用资金数T_Fee(Type)取交易里的手续费取交易里的手续费。用法 T_Fee(Type),返回交易里的手续费。 Type(整数 0, 1 2) 0 期货 1 股票 2 外盘,返回权益 (小数) 例:VAR margin; margin=T_Fee(0);/返回交易中的手续费。T_Equity(Type)权益权益。用法 T_Equity(Type), 返回权益。 Type(整数 0, 1) 0 期货 1

28、股票,返回权益(小数)例:VAR margin;margin=T_Equity(0); /返回当前期货帐户的权益数T_InitialEquity(type)期初权益取期初权益注:type 的取值:0 内盘 1 股票2 外盘例:MessageOut(T_InitialEquity(0);T_MaxOpen(Code, margin, bs)某品种最大可开仓手数某品种最大可开仓手数。用法:T_MaxOpen(Code, margin, bs),某品种最大可开仓手数。Code(字符串):合约编码,margin(小数) :保证金比例 bs(整数 0,1):0 买 1 卖 返回该品种在当前可用资金,当前

29、价格下的可开仓手数(整数 )例:VAR vol;vol=T_MaxOpen(“m1109“, 0.1, 0); /变量 vol 为 m1109 24的 在保证金比例为 0.1 下的可开仓手数25T_OffsetProfitLoss(Type)平仓盈亏平仓盈亏。用法:T_OffsetProfitLoss(Type)返回平仓盈亏。 Type(整数 0,1,2) 0 期货 1 股票 2 外盘,返回平仓盈亏( 小数) 例:VAR margin; margin=T_OffsetProfitLoss( );/返回平仓盈亏。T_OrderState(OrderID)查询委托状态查询委托状态。用法:T_Ord

30、erState(OrderID)根据委托唯一标识 OrderID(字符串)查委托状态,返回值含义: -1 查询失败 0 挂单 1 成交 2 被撤单 3 部份成交 4 表示委托发送成功了,还没有回来应答,不能进行操作,需要等应答回来再进行其它操作。7、委托失败,即委托列表状态中的 “废单”例:IF(T_OrderState(X)=0) 如果委托 X 是挂单T_OpenOrder(Code,Type)查询挂单数量查询挂单数量。用法:T_OpenOrder(Code,Type)返回未成交委托数量,Code:交易编码,Type:0 所有方向;1 买开;2 卖平;3 卖开;4 买平例:IF(LastOr

31、derTime() - CurrentTime = 300 1 买开;2 卖平;3 卖开;4 买平 返回 0 撤单发出成功,返回其它失败例:T_DeleteOrderByCode(“ru1009“,2)撤单橡胶 1009 的卖平26委托27T_DeleteOrderAll()撤掉所有未成交委托撤掉所有未成交委托。用法:T_DeleteOrderAll()撤掉所有该模型相关的未成缴委托单,返回 0 撤单发出成功,返回其它失败例:IF(T_DeleteOrderAll()!=0)/如果撤单失败T_AddBuyOpiTo(Code, Price, Vol)买开达到指定目标量根据当前成交的量采用买开的

32、手段达到把仓位增加某一数值的目的。用法:T_AddBuyOpiTo(Code, Price, Vol)把多头仓位增加到某一数值。Code(字符串 ):合约代码,Price(小数):价格,Vol( 整数):成交量 对合约代码为 Code 的字符串以 Price 价格下单达到多头 vol 手持仓例:T_AddBuyOpiTo(“m1109“, Price(“m1109“)+5, 10); /买开使多头持仓达到 10 手注:只算本模型所持仓位,交易系统持仓不算。T_AddSellOpiTo(Code, Price, Vol)卖开达到指定目标量根据当前成交的量采用卖开的手段达到把仓位增加到指定值的目的

33、。用法:T_AddSellOpiTo(Code, Price, Vol)把空头仓位增加到某一数值。Code(字符串 ):合约代码,Price(小数):价格,Vol( 整数):成交量 对合约代码为 Code 的字符串以 Price 价格下单达到多头 vol 手持仓例:T_AddSellOpiTo(“m1009“, Price(“m1009“)-5, 10); /卖开使空头持仓达到 10 手注:只算本模型所持仓位,交易系统持仓不算。T_ReduceBuyOpiTo(Code,Price, Vol)卖平达到指定剩余的买仓根据当前成交的量采用卖平的手段达到把仓位减少到某一数值的目的。用法:T_Redu

34、ceBuyOpiTo(Code, Price, Vol)把多头仓位减少到某一数值。Code( 字符串):合约代码,Price(小数):价格,Vol( 整数):成交量 对合约代码为 Code 的字符串以 Price 价格下单达到多头 vol 手持仓例:T_ReduceBuyOpiTo(“m1109“, Price(“m1109“)-5, 10); /卖平使多头持仓减少到 10 手注:只算本模型所持仓位,交易系统持仓不算。T_ReduceSellOpiTo(Code,Price, Vol)买平达到指定剩余的卖仓根据当前成交的量采用买平的手段达到把仓位减少到某一数值的目的。用法:T_ReduceSe

35、llOpiTo(Code, Price, Vol)把空头仓位减少到某28一数值。Code( 字符串):合约代码,Price(小数):价格,Vol( 整数):成交量 对合约代码为 Code 的字符串以 Price 价格下单达到空头 vol 手持仓例:T_ReduceSellOpiTo(“m1109“, Price(“m1109“)-5, 10); /卖开使空头持仓减少到 10 手注:只算本模型所持仓位,交易系统持仓不算。29T_StgBuyVol(Code)当前算法交易模型产生的某品种的多头持仓当前算法交易模型产生的某品种的多头持仓。用法:T_StgBuyVol(Code)返回当前算法交易模型产

36、生的合约代码为 Code 的合约的多头持仓数。Code(字符串):合约代码例:T_StgBuyVol(“m1109“); /当前算法交易模型产生的某品种多头持仓数T_StgSellVol(Code)当前算法交易模型产生产生的某品种的空头持仓当前算法交易模型产生产生的某品种的空头持仓。用法:T_StgSellVol(Code)返回当前算法交易模型产生的合约代码为 Code 的合约的空头持仓数。Code(字符串):合约代码例:T_StgSellVol(“m1109“); /当前算法交易模型产生的某品种空头持仓数T_OrderMatchVol(OrderID)某次委托已经成交的数量某次委托已经成交的

37、数量。用法:T_OrderMatchVol(OrderID)根据委托唯一标识 OrderID 查询委托成交手数,返回成交手数。OrderID(字符串)例:VAR matchvol;matchvol=T_OrderMatchVol(X); /matchvol 为某次委托的已成交数量T_IsNoOrder()该算法交易模型无挂单该算法交易模型无挂单(发出的所有委托都已经成交,或被撤单)。用法:T_IsNoOrder()如果没有挂单返回 1,否则返回 0例: IF(T_IsNoOrder() /如果没有挂单T_IsSHCode(Code)判断合约是否是上海市场合约判断合约是否是上海市场合约。用法:Code 为合约代码,T_IsSHCode(Code)返回值:为-1 异常 为 1 表示是上海市场合约为 0 表示不是上海市场合约例:IF(T_IsSHCode(F_DealCode()=1)T_Deal(F_DealCode(), 0, 2, 5,0); 如果合约为上海合约,则执行买平今的操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报