文华财经策略编写、下单组件编写新增函数
麦语言函数手册

文华财经“麦语言”函数手册(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
11.头寸函数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
文华财经程序化交易应用指南

⽂华财经程序化交易应⽤指南⼀、WH8(8.1.203)程序化交易应⽤指南我们把程序化应⽤,从初级应⽤到⾼级应⽤,分成6个级别来介绍wh8的程序化功能。
(⼀)⼀级:信号预警盒⼦信号预警盒⼦是⼀种为程序化半⾃动下单的⽤户提供的功能,客户可以在信号预警盒⼦⾃⼰设定预警的模型,在条件满⾜的时候,系统能够会弹出弹出预警窗⼝,确认就可以直接下单了。
这个功能类似以前版本的半⾃动,但是增加了显⽰加载模型运⾏情况的列表,我们叫做盒⼦。
盒⼦还可以后台运⾏,加载了信号预警以后,可以做看盘等其他操作,不影响模型出信号的。
信号预警盒⼦的主要功能:1、点击盒⼦列表中的⼀⾏,可以打开k线图上查看设定预警模型的信号。
2、⽀持设置信号持续时间和信号消失确认时间(⼆)⼆级:公式条件单公式条件单是为只按照某种特定条件进⾏交易的⽤户,提供的⼀种灵活的程序化执⾏⽅式。
公式条件单让条件单不再停留在简单的价格条件和时间条件上,可以利⽤⽂华麦语⾔编写出思路更⼴的条件。
客户可以在组群中加载条件单模组,系统根据写⼊的条件进⾏⾃动交易。
公式条件单的主要功能:1、只写开仓条件,按照条件⾃动开仓;2、只写平仓条件,将初始化带⼊模组的持仓⾃动平掉;3、信号独⽴,没有过滤机制。
4、可以随意进⾏主观⼲预。
5、可以后台运⾏。
公式条件单在WH8中的运⾏规则,请参考下⾯链接/doc/a0117679f90f76c660371a4b.html /popwin/tiaojiandan-sm.htm(三)三级:趋势跟踪策略(过滤模型)为有完整交易策略的投资者提供的全⾃动程序化交易。
交易策略中⼀开⼀平,且交易⼿数开平对应,不会出现锁仓和加仓的情况。
客户⾃⼰在组群中加载模组后,出现信号按照信号执⾏⽅式确认后⾃动下单交易。
趋势跟踪策略的主要功能:1、可以通过麦语⾔,编写各类技术分析指标、形态、⽌损⽌盈等策略;2、模型中必须加⼊AUTOFILTER函数以实现交易指令的开平对应;3、可以主观⼲预。
麦语言函数手册

文华财经“麦语言”函数手册(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用。
麦语言自编策略模型函数列表

麦语言自编策略模型函数列表
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过8年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
目录
自编策略模型支持的函数1.数学运算(24)
融统计函数(25)
理统计函数(8)
4.逻辑判断函数(22)
间函数(15)
图函数(26)
线函数(10)
峰波谷统计函数(7)
来函数(2)
寸函数(47)
史数据引用(18)
内高频数据引用(46)
用其他合约价格(1)
色常数。
3、文华财经程序化交易编程函数

图时是不画的) 上面的公式的第一个语句定义了一个局部变量 TMP1,在的是这个公式在画图的时候只
声明了一个 画了第二条语句所求出的结果。
变量,
相反下面这个公式则需要画出两条线,第一条是自己定义的均价
在画图时画 线,同时显示了均价的名称为 AVP,第二条线是均价的简单移动平均 : 出它并且按 线。
引用成交量,也可简写为 V 。
GETPRICE(N)
根据文华码取出某一品种的最新价。 例:GETPRICE(1209);返回文华码为 1209 的合约品 种的最新价。
PARAM [参数名称,最小值,最大值,缺省值]
在源码中定义参数。 例:PARAM[N,1,100,12] MAN:MA(CLOSE,N); 表示参数为 N,最小值为 1,最大值为 100,缺省 值为 12.
3. 关于变量名称。变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称 重复。
4. 关于公式内容。公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的 时候请您注意一 定要使用半角输入。在编写公式的过程中,如果您不记得某个函数的确切 写法,可以选择插入函数来插入函数。
5. 如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说 明来输入。
这个名字显 AVP:(OPEN+CLOSE)/2;
示。
MA(AVP,10);
2、编辑平台支持的自编语法
1. 关于公式名称。公式的名称不可以和已经存在的公式重复。
2. 关于参数。每个自编公式最多可以定义四个参数,参数的定义如下,首先是参数名称, 然后是参数 的最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名 称不可以重复。
VOL
麦语言函数手册

文华财经“麦语言”函数手册
(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
11.头寸函数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
麦语言函数手册

取Tick图中该笔TICK的成交价。用法:L2_PRICE返回TICK图中该笔TICK的成交价。
L2_VOLUME
取TICK图中该笔TICK的成交量。用法:L2_VOLUME返回TICK图中该笔TICK的成交量。
ASKBIGVOLPRICE
TICK图中该笔Tick盘口中空头满足大单条件的与最新价的最近价格。用法:ASKBIGVOLPRICE返回TICK图中该笔Tick盘口满足大单条件的与最新价的最近价格,注模型中需调用一次CALVOLPRICELIST函数
L2_ASK4
取秒周期末卖4价(K线图)或该笔TICK时刻的卖4价(Tick图)。用法:L2_ASK4K线图时返回当前秒周期最后时刻的卖4价。TICK图时返回该笔TICK时刻的卖4价。
L2_ASK5
取秒周期末卖5价(K线图)或该笔TICK时刻的卖5价(Tick图)。用法:L2_ASK5K线图时返回当前秒周期最后时刻的卖5价。TICK图时返回该笔TICK时刻的卖5价。
DMA(X,A)
返回X的动态移动平均,其中A为常数,并且必须介于0及1之间。计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A其中DMA(N-1)为第(N-1)天的DMA值。
EMA(X,N)
L2_BIDVOL5
取秒周期末买5量(K线图)或该笔TICK时刻的买5量(Tick图)。用法:L2_BID5K线图时返回当前秒周期最后时刻的买5量。TICK图时返回该笔TICK时刻的买5量。
L2_ASKVOL1
取秒周期末卖1量(K线图)或该笔TICK时刻的卖1量(Tick图)。用法:L2_ASK1K线图时返回当前秒周期最后时刻的卖1量。TICK图时返回该笔TICK时刻的卖1量。
文华财经WH82盘口模型函数列表.docx

盘口模型函数列表前标的物价格*100.0卖出期权的溢价率-(当前标的物价格-(期权执行价-期权最新价))/当前标的物价格*100.0例:VAR qqPremiumRate;//定义一个变量 qqPremiumRate qqPremiumRate二PremiumRate(〃101404-1)-2450"); //qqPremiumRate 的值为合约号为I01404-P-2450的期权合约的溢价率。
Price 根据文华码取报价列表窗口某一个合约的行情报价数据。
用法:Price(〃CODE〃,“DATA");取合约名为CODE的合约的DATA数据。
DATA可以取以下数据:Code文华码Open开盘价High最高价Low最低价New最新价Del tai涨跌Bid买价BidVol买量Ask卖价AskVol卖量DeltaVol 现手DeltaOpI 增仓Volume成交量 OpTorSize持仓量Ratio日增仓UpDown涨幅Settle结算价YSettle昨结算YClose昨收 Capital沉淀资金Direction资金流向Speculation 投机度期权:PremiumRate 溢价率ActualLcvcragc真实杠杆率Leverage杠杆比率StrikePrice 行权价CallPut 涨/跌 HistoricalVolatility 历史波动率Stdderiation隐含波动率Internal Value 内在价值TimeValue时间价值ThcoryPricc理论价格Rho Rho 值Theta Theta 值 Vega Vega值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文华 wh3中策略编写、下单组件编写新增函数汇总2
二.下单组件编写新增函数
1.引用数据函数
AvPrice(Code)
某合约当前均价。
用法:
AvPrice(Code)返回合约Code的当前均价,Code为某合约的合约代码
例:VAR avprice;辑判断函数
SamePeriod(Code,PeriodStr,T1,T2)
判断两个时间是否是同一个周期。
用法:
SamePeriod(Code,PeriodStr,T1,T2)如果T1,T2是同一个周期返回1,
否则返回0,Code:合约的合约代码,PeriodStr可以取以下值的其中之一:
"min1","min3","min5","min10","min15","min30","1hour","3hour",
"8hour","1day","week","month",T1和T2是以总秒数表示的时间
例:
IF(SamePeriod("m1109","min10",LastOrderTime(),Time("09:00:00"))合约为m1109,周期为10分钟情况下,如果最后一次下单时间与09:00:00在同一个周期内
3.辅助函数
CurrentTime()
当前时间。
用法:
CurrentTime()返回当前时间
例:
VAR CurTime;
CurTime=CurrentTime(); 学运算函数
ABS(Value)
取整形绝对值。
用法:
ABS(Value)返回Value的绝对值,Value是整形值
例:
VAR X;
X=ABS(5);
F_Period
取得当前模型的周期。
用法:
F_Period() 返回当前模型的周期(字符串)
例:
VAR period;
period=F_Period();
F_InitBuyVol
取已经初始化的多头持仓。
用法:
F_InitBuyVol() 返回模型初始化的多头持仓(整数).
例:
VAR initBuyVol;例:
VAR initSellVol;例:
IF(F_SigPrice()>3500) 例:
IF(F_SigVol() == VarOpi) .
MA5:=MA(CLOSE,5);
...
单接口函数
LastOrderTime()
最后一次下单的时间。
用法:
LastOrderTime()返回最后一次下单的时间,以总秒数表示
例:
IF(LastOrderTime() - CurrentTime() >= 300)如果距离上次下单时间超过5分钟
T_IsExchangeOpen 查询合约所属交易所的状态。
用法:
T_IsExchangeOpen(Code)返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1。
例:
VAR Status;
Status=T_IsExchangeOpen("m1009"); 利函数
Arbi_OpenPDiff
根据套利表达式计算该套利组合的开盘价的价差或价比并返回。
用法:
Arbi_OpenPDiff(),计算并返回该套利组合的开盘价价差或价比。
例:
VAR OpenPD;//定义一个变量,用来保存开盘价价差或价比
OpenPD = Arbi_OpenPDiff()//计算开盘价价差或价比并返回给OpenPD
Arbi_NewPDiff
根据套利表达式计算该套利组合的最新价的价差或价比并返回。
用法:
Arbi_NewPDiff(),计算并返回该套利组合的最新价价差或价比。
例:
VAR NewPD;//定义一个变量,用来保存最新价价差或价比
NewPD = Arbi_NewPDiff()//计算最新价价差或价比并返回给NewPD
Arbi_BidPDiff
根据套利表达式计算该套利组合的对价的价差或价比并返回。
用法:
Arbi_BidPDiff(),计算并返回该套利组合的对价价差或价比。
例:
VAR BidPD;//定义一个变量,用来保存对价价差或价比
BidPD = Arbi_BidPDiff()//计算对价价差或价比并返回给BidPD
Arbi_AskPDiff
根据套利表达式计算该套利组合的挂价的价差或价比并返回。
用法:
Arbi_AskPDiff(),计算并返回该套利组合的挂价价差或价比。
例:
VAR AskPD;//定义一个变量,用来保存挂价价差或价比
AskPD = Arbi_AskPDiff()//计算挂价价差或价比并返回给AskPD
Arbi_YSettlePDiff
根据套利表达式计算该套利组合的昨日结算价的价差或价比并返回。
用法:
Arbi_YSettlePDiff(),计算并返回该套利组合的昨日结算价价差或价比。
例:
VAR YSettlePD;//定义一个变量,用来保存昨日结算价价差或价比
YSettlePD = Arbi_YSettlePDiff()//计算昨日结算价价差或价比并返回给YSettlePD Arbi_YClosePDiff
根据套利表达式计算该套利组合的昨日收盘价的价差或价比并返回。
用法:
Arbi_YClosePDiff(),计算并返回该套利组合的昨日收盘价价差或价比。
例:
VAR YClosePD;//定义一个变量,用来保存昨日收盘价价差或价比
YClosePD = Arbi_YClosePDiff()//计算昨日收盘价价差或价比并返回给YClosePD Arbi_Add
根据套利组合、买卖方向以及下单份数等信息添加一个持仓配对。
用法:
Arbi_Add(),添加一个持仓配对,并返回是否成功。
例:
VAR Res;//定义一个变量,用来保存配对是否成功
Res = Arbi_Add()//添加套利配对并返回结果给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_DealCode()//返回第三腿合约的交易编号。