文华财经策略编写、下单组件编写新增函数
- 格式:doc
- 大小:17.50 KB
- 文档页数:4
文华财经“麦语言”函数手册(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)
色常数。
文华财经“麦语言”函数手册
(2011年10月更新)
文华财经资讯有限公司
“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用
一、自编策略模型支持的函数
1.历史数据引用
2.日内高频数据引用
3.行情数据引用
4.金融统计
5.数理统计
6.逻辑判断
7.数学运算
8.时间函数
9.绘图
10.颜色常数
11.头寸函数
二、自编下单组件支持的函数
1.引用数据函数
2.逻辑判断函数
3.辅助函数
4.数学运算函数
5.模型相关函数
6.头寸函数。
盘口模型函数列表前标的物价格*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值。
文华财经(一键通)程序化交易系统使用指南程序化交易是一种在计算机和网络技术的支持下,瞬间完成你预先设置好的组合交易指令的一种交易手段。
您可以将您的交易思路,通过文华提供的函数、语法及编辑平台,编写成交易模型,实现自动开仓、自动止损、自动止赢。
程序化交易在投资实战中不仅可以提高下单速度,而且可以帮助投资者在交易过程中避免受到情绪波动的影响,实现理性投资。
一键通2009的程序化交易功能在Webstock2008的基础上增加了追踪止损功能、在全自动状态下系统默认按照最后的信号方向执行,解决了交易指令消失不做任何处理的问题、使用算法交易确保下单成交、并且升级了效果测试和参数优化的功能,使程序化交易又前进了一步,让投资更加的轻松和快乐。
, 启动程序化交易进行自动交易, 打开交易软件,输入账号和密码, 启动自动交易模型,选择模型后点击加载或新建模型。
, 使用算法交易可以选择是否启用“追价下单”“分批下单”“超价下单”追价下单:如果下单没有成交,可以设置追价下单,单子在几秒钟之内没有成交,系统会自动撤单并按市场最新价追价下单,直至预设手数全部成交(也可设置追价范围,防范风险)。
(模型触发、价格价格条件单、画线条件单都可以支持追价下单) 分批下单:如果下单手数过大,启动分批下单,系统会根据默认的分批下单手数,将总手数分批下单。
超价下单: 在市价基础上调整[ ]最小变动价位,以提高成交几率。
算法交易参数的设置点击图中程序化交易窗口的红色方框可以对算法交易功能进行设置在下图中对算法交易参数进行设置“程序化交易自动下单”的其他设置说明:“按市价下单,下单手数” :模型每次下单的数量“只进行多头交易”:选择此项设置后,模型自动过滤掉卖开和买平的交易指令,只进行多头交易。
“只进行空头交易”:选择此项设置后,模型自动过滤掉买开和卖平的交易指令,只进行空头交易。
“双向交易”:选择此项设置后,模型可以发出买开、卖平、卖开和买平指令,进行双向交易。
文华 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取得当前模型的周期。
文华财经代码函数编写文华财经代码函数编写文华代码编写第三章一般模型编写示例软件提供扩展性更为强大的程式化交易模式,为此提供了一系列的功能和众多交易函数。
这些函数用户可以在【公式】菜单下的函数列表里找到。
程序化交易系统既可以实盘运行策略,又可以对历史数据进行回测。
实盘运行策略的载体有两个,分别是页面盒子(点击查看介绍)和运行模组(点击查看介绍)。
一些基础的策略模型需要在每根K线走完的时候按照出现的信号方向下单,我们把这种模型叫做收盘价模型。
页面盒子是运行收盘价策略模型的功能载体,适合需要部分手动辅助或结合图表分析的程序化用户。
运行模组则实现了更丰富的量化策略,例如头寸管理,指令价交易等。
这部分会在程序化交易高级教程中详细介绍。
3.1条件描述阶段涨幅:N日收盘价的差值的百分比。
(CLOSE-REF(CLOSE,N))/REF(CLOSE,N)*100再创新高:所谓再创新高就是指今日最高价是N日以来的最高价HIGH=HHV(HIGH,N)该函数在当日最高价创N日新高时为1,否者为0。
放量上攻:指价格上扬,成交量剧增价格上扬可以描述为:CLOSE/REF(CLOSE,5)>1.2;表示5日上涨20%成交量剧增可描述为:VOL>MA(VOL,5)*3;表示成交量超过5日均量的3倍所以公式可写成为:CLOSE/REF(CLOSE,5)>1.2ANDVOL>MA(VOL,5)*3窄幅整理:就是指近一段时期价格维持在一定幅度之内(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE<0.08;HHV(CLOSE,20)-LLV(CLOSE,20)表示20日收盘价振幅,即20日内价格振幅在8%以内波动。
均线多头排列:移动平均线(MA)是将一段时间的股票价格用数理统计的方法加以平均,再将这些平均价标于图上并用线连接起来即可。
它可以用来观察股价的趋势。
均线多头排列可以看做是上升趋势行情的表现。
文华wh3 中策略编写、下单组件编写新增函数汇总2二.下单组件编写新增函数1.引用数据函数AvPriceCode某合约当前均价。
用法:AvPriceCode返回合约Code 的当前均价,Code 为某合约的合约代码例:VAR avprice//定义一个变量avpriceavpriceAvPricequotm1109quot //price 的值为合约m1109 的当前均价HighCode某合约当前最高价。
用法:HighCode返回合约Code 的当前最高价,Code 为某合约的合约代码例:VAR high//定义一个变量highhighHighquotm1109quot//high 的值为合约m1109 的当前最高价LowCode某合约当前最低价。
用法:LowCode返回合约Code 的当前最低价,Code 为某合约的合约代码例:VAR low//定义一个变量lowlowLowquotm1109quot //low 的值为合约m1109 的当前最低价PositionCodestrContent某合约的盘口数据。
用法:PositionCodestrContent 返回某合约某种盘口数据Code为某合约的合约代码字符串strContent 为所要取得内容可选以下内容quotbid1quotquotbid2quotquotbid3quotquotbid4quotquotbid5quotquotask1quotquotask2 quotquotask3quotquotask4quotquotask5quotquotbidvol1quotquotbidvol2quotquotbidvol 3quotquotbidvol4quotquotbidvol5quotquotaskvol1quotquotaskvol2quotquotaskvol3quot quotaskvol4quotquotaskvol5quot分别表示买1-买5 卖1-卖5 买1 量-买5 量卖1 量-卖5 量。
麦语言函数手册文华财经“麦语言”函数手册(2011年10月更新)文华财经资讯有限公司“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过6年的发展,吸收几十万用户的意见反馈,一点一点完善起来的,是一套成熟稳定的模型开发平台。
麦语言,是国内使用人数最多的程序化模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。
语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。
麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用一、自编策略模型支持的函数1.历史数据引用AVPRICE 取得均价(在盘后对于国内三个期货交易所指结算价)SETTLE 取得结算价(只有在日线周期盘后才能取得当日的结算价)说明:如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.CLOSE 取得收盘价(在盘中指最新价),也可简写为 C 。
HIGH 求高价,也可简写为 H 。
LOW 求最低价,也可简写为L 。
OPEN 求开盘价,也可简写为O 。
OPI 取持仓量REF(X,N)引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价REFX(X,N) 引用N个周期后的数据。
(N为大于等于1的整数)『未来函数』例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!#IMPORT 引用某品种在某个周期上加载了某个指标的数据。
用法:#IMPORT [CODE, PERIOD, FORMULA] AS VAR。
文华 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()//返回第三腿合约的交易编号。