文华程序化交易(资金管理)
文华财经程序化指标
文华财经程序化指标
程序化交易是指利用计算机程序进行交易决策和执行交易的一种交易
方式。程序化交易的发展可以追溯到20世纪80年代,随着计算机技术和
市场数据的不断发展,程序化交易已经成为当前金融市场的主要交易方式
之一、其中,财经程序化指标是程序化交易中的一种重要工具,有助于投
资者进行交易决策和优化投资组合。
财经程序化指标主要是通过对市场数据的统计和分析,提取出一些特
定的指标,用于评估和预测股票、外汇、商品等金融产品的走势。这些指
标可以帮助投资者识别市场的趋势、判断价格的波动和变化,以及预测未
来的市场走势。下面将介绍几种常用的财经程序化指标。
首先是移动平均线(Moving Average,简称MA)。移动平均线是根
据一段时间内的收盘价计算出来的平均值,用于平滑价格数据,以便更清
晰地看到价格走势的趋势。常用的移动平均线包括简单移动平均线(SMA)和指数移动平均线(EMA)。移动平均线可以帮助投资者判断价格的长期
和短期趋势变化,并确定买入或卖出的时机。
其次是相对强弱指标(Relative Strength Index,简称RSI)。RSI
是衡量价格走势的动能(Momentum)指标,用于判断市场的超买和超卖情况。RSI的取值范围一般在0到100之间,当RSI值超过70时,表示市
场超买,可能会出现调整或反转;当RSI值低于30时,表示市场超卖,
可能会出现反弹或反转。投资者可以根据RSI指标的数值来调整仓位或入
场离场的时机。
再次是MACD指标(Moving Average Convergence Divergence)。MACD指标是一种趋势追踪指标,由快速移动平均线(MACD线)和慢速移
文华财经wh8程序化半自动82版使用说明后台程序化工作机理当我们
文华财经wh8程序化半自动8.2版使用说明
后台程序化工作机理
当我们进行程序化交易的时候可能还想做点儿别的事情,比如看盘、做些技术分析、看些新闻等。那么问题来了,程序化要占用K 线图,界面不能动,怎么做其他事情呢?这个时候,后台程序化的优势就体现出来了。
这种后台运行技术相当于在运行程序化时单独再开启一个工作台,和主窗口K线图之间相互独立,要看它时把它从后台调出来,不看时放到后台,它会自己运行。类似于我们在手机上使用QQ、微信等软件,既可以用手机做别的事情,又不影响他们在后台运行。
随时使用随时调取并能够清楚的看到程序化运行的信号,交易信息才能算的上市真正的后台运行。
页面盒子
一些基础的策略模型需要在每根K 线走完的时候按照出现的信号方向下单,我们把这种模型叫做收盘价模型。页面盒子是运行收盘价策略模型的功能载体,适合需要部分手动辅助或结合图表分析的程序化用户。
多窗口运行程序化交易模型
在盒子中运行程序化交易模型(不可含资金管理函数),当需要同时管理多品种时,可将各盒子平铺显示。
全自动运行的盒子由电脑独立完成全部交易过程,半自动运行的盒子会在模型满足下单条件时提示下单,交易者手动确认执行。
控制多账号程序化全自动交易
将多个帐号与盒子关联后,当模型向盒子发出自动交易指令时,被关联的帐号即可下单。提示:关联了盒子的交易帐号可设置不同的交易手数
加载页面盒子
隐藏程序化运行窗口
在程序化功能模块中有一个关闭(X )按钮,这个关闭按钮就可以让该模块到后台运行。 页面盒子的后台运行按钮在盒子列表的右上角:
调出程序化运行窗口 图中红框内按钮为页面盒子,点击这个按钮就可以把他们从后来调出。它在软件的最左侧边栏处。
文华交易软件说明书
文华交易软件说明书
一、交易的登录和退出
1、交易的登录:登录文华行情后按F12或点击右下角的”trade”,在弹出的登录界面上填入资金账号和密码(建议使用软键盘输入密码,防止木马程序,保护账号安全),并选择相应站点登录,电信上网选择电信站点,网通上网选择网通站点,公司总部场内客户也可以选择内网站点。
注:交易软件打开后显示在屏幕的左下方,这样不影响对图表主图窗口的分析。
2、交易的退出:先将交易窗口关闭,然后在文华行情界面上点击程序化交
易\断开交易服务器。
二、普通下单
1、合约代码输入后,图表窗口自动切换显示该合约
2、两步实现下单。
第一步:屏幕抓价(自动输入交易代码和委托价格与手数)
双击买/卖/最新价可以自动在交易软件里填入委托信息和买/卖/最新价。双击买/卖量可以自动在交易软件里填入委托信息(不同品种合约下单手数可以在“帮助与设置”中分别设置)。也可以通过点交易窗口的买卖价显示框来抓价。
第二步:选择买开、平多单、卖开、平空单按钮确认下单。
3、价格联动功能
将“买价联动”、“卖价联动”或“最新价联动”的勾选上后。通过屏幕抓价后,交易软件中填入的价格会自动跟实时行情保持联动。系统默认是选上该项的。如果您想手动输入价格,可以先将该选项的勾去掉,再在报价栏中填入价格即可。
还可以直接点击涨/跌停价格进行委托。
4、双击持仓可以自动弹出平仓界面,并可反手开仓。平仓时仍可选择价格联动;可以选择追价平仓。
注:上海品种如果是今天开的仓会自动对应平今指令,老仓自动对应平仓指令。
4、界面介绍
●合约名称下显示最多可开仓手数,最新权益,可用资金。支持当前权益和可用资金动态刷新,支持当前合约的涨跌停价格显示;。
文华财经-程序化交易培训总
DATE
取日期数(19700101-20331231)。 用法:DATE 返回某周期的日期数。
TIME
取周期的时数。 用法:TIME 取周期的时数。
REF(X,N)
引用X在N个周期前的值 例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价
HHV(X,N) LLV(X,N)
求X在N个周期内的最高值。若N为0则从第一个有效值开始算起。 例:HHV(HIGH,13);求13个周期内的最高价的最大值。 该函数参数支持变量计算如HHV(HIGH,VAR1);//VAR1为变量
SETTLE
引用结算价 引用X在N个周期前的值
REF(X,N)
MA(X,N)
求X在N周期内的简单移动平均。
定义变量: 结算价: 15周期收盘价均线(显示定义);
S:=SETTLE; MA15:MA(C,15);
衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;
REF(H,1); REF(MA15,1);
跨周期跨合约模型的编写思路及案例
1.同一合约不同周期调用 示范1 2.同一合约不同周期调用 示范2 3.不同合约之间的数据调用
例1 同一合约不同周期的数据调用
要求
当日均线出现多头排列时, 5分钟KD线金叉,做多。 当日均线出现空头排列时, 5分钟KD线死叉,做空。
文华赢智程序化交易系统
策略模型组件——取消过滤机制
加仓减仓——有效利用可用资金
资金管理——有效控制开仓头寸
MONEY 返回虚拟资金余额。 MONEYTOT 返回当前虚拟总资金。
(虚拟资金余额+持仓保证金) MONEYRADIO 返回当前的虚拟资金的 使用率。
MARGIN 返回当前合约的保证金比例。 (用户启动模组时设置的)
1、可以设置止损(止赢)手数,在不同价位止损掉对应的手数,做好资金管理 2、跟盘浮动:以设置止损时间的盈亏为标准,从最大盈亏回撤N个价位后止损 3、附加保本策略:最新价必须超过设置的止损价再回落到这个止损价之下触发
止损
3.闪电炒单
闪电炒单,掌控瞬间价格波动,快进快出。
4.独立下单板—多窗口最佳下单方式
VOLMARGIN 计算当前的持仓保证金。
FEE 返回当前合约的手续费。 (用户启动模组时设置的)
Wh3模型资金管理
MA5:=MA(C,5); MA10:=MA(C,10); N:=(MONEY*0.3)/(C*MARGIN*5); CROSS(MA5,MA10)&&BUYVOL=0,BK(N); EVERY(MA5>MA10,3)&&BUYVOL>0,BK(1); CROSS(MA10,MA5),SP(BUYVOL);
基本操作简介
专业的程序化交易平台
3、文华财经程序化交易编程函数
GETPRICE(N)
根据文华码取出某一品种的最新价。 例:GETPRICE(1209);返回文华码为 1209 的合约品 种的最新价。
PARAM [参数名称,最小值,最大值,缺省值]
在源码中定义参数。 例:PARAM[N,1,100,12] MAN:MA(CLOSE,N); 表示参数为 N,最小值为 1,最大值为 100,缺省 值为 12.
支持)
[TEST.FML] 的数据 使用的方法:
如当前存在一个指标 TEST.FML
//TEST.FML
CL:=CLOSE;
OP:=OPEN;
我想在新建的指标 TEST1 中 引用[豆粕 1005] 五
Biblioteka Baidu
分钟周期 上指标[TEST.FML] 的数据 可以如下编写 TEST1 指标 //TEST1.FML #IMPORT [1205,MIN5,TEST] AS VARTEST DD:VARTEST.CL; DF:VARTEST.OP; 引用的约束 1.只能引用 .FML 文件 2.只能引用如下周期 MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 HOUR3 HOUR8 DAY WEEK MONTH 3.只能短周期引用长周期 比如不能日线周期上加 载引用了分钟数据的指标。 4.被引用的指标中不能存在引用
量化经典 文华程序化交易设计精要
交易模型: 指能够发出BK、SP等交易指令,模型还包含下单方向, 交易手数,止盈止损等与交易、资金使用相关的参数设置 。交易模型是一个交易范畴的概念。
交易指令: 指交易模型自动发出的下单委托指令,可以不经过投资 者确认直接下单,也可以等待投资者回车确认再下单。交 易指令在K线图上以不同颜色和形状的箭头来代表。交易指 令是一个程序化交易范畴的概念。
S:=SETTLE; MA15:MA(C,15);
衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;
REF(H,1); REF(MA15,1);
5日均线上穿10日均线的同时收盘价大于20日均线,或者5日 均线上穿10日均线的5个点; MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); A:(CROSS(MA5,MA10)&&C>MA20)||CROSS(MA5,MA10+5*MD);
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外 的名称。
文华程序化交易(资金管理)
0+5*MD);
总结:清晰逻辑关系,可以用“()”来表示。
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
BKPRICE
返回最近一次模型买开位置的买开信号价位。
BARSBK BARSLAST(X) COUNT(X,N)
返回上一次买开仓距离当前k线的k线数。
求上一次X条件成立到当前的周期数
表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申请到的数据的 第一天开始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)); COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数
AUTOFILTER
对模型的所有信号按照先买后卖,先开后平的顺序过滤。 1.连续的同方向指令只有第一个有效,其他的将被过滤; 2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖 平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指
令,其他的都被过滤);
C>BKPRICE+50*MD;//最新价大于买开仓价位的50个点
文华期货自动化交易模型编写教程
一、程序化交易的编写
㈠、交易模型编写规范和一般原则
1、编辑平台支持的操作符
:= 只定义一个局部变量
(这个变量在画图时是不画的) TMP1:=(OPEN+CLOSE)/2;
:MA(TMP1,10);
上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句MA10所求出的结果。相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为A VP,第二条线是均价的简单移动平均线。
A VP:(OPEN+CLOSE)/2;
MA(A VP,10);
:声明了一个变量,
在画图时画出它并且按这个名字显
示。
2、编辑平台支持的函数
⑴引用数据
A VPRICE 引用均价(在盘后对于国内三个期货交易
所指结算价)
SETTLE 引用结算价(只有在日线周期盘后才能引
用当日的结算价)
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个周期的收盘价
VOL 引用成交量,也可简写为V 。
GETPRICE(N) 根据文华码取出某一品种的最新价。
例:GETPRICE(1209);返回文华码为1209
文华财经3程序化交易部分函数
L2_ASKVOL5
取秒周期末卖 5 量(K 线图)或该笔 TICK 时刻的卖 5 量(Tick 图) 。 用法: L2_ASK5 K 线图时返回当前秒周期最后时刻的卖 5 量。TICK 图时返回该 笔 TICK 时刻的卖 5 量。
Байду номын сангаас
L2_PRICE
取 Tick 图中该笔 TICK 的成交价。
用法: L2_PRICE 返回 TICK 图中该笔 TICK 的成交价。 L2_VOLUME 取 TICK 图中该笔 TICK 的成交量。 用法: L2_VOLUME 返回 TICK 图中该笔 TICK 的成交量。 ASKBIGVOLPRICE TICK 图中该笔 Tick 盘口中空头满足大单条件的与最新价的最近价格。 用法: ASKBIGVOLPRICE 返回 TICK 图中该笔 Tick 盘口满足大单条件的与最新 价的最近价格, 注模型中需调用一次 CALVOLPRICELIST 函数 BIDBIGVOLPRICE TICK 图中该笔 Tick 盘口中多头满足大单条件的与最新价的最近价格。 用法: BIDBIGVOLPRICE 返回 TICK 图中该笔 Tick 盘口满足大单条件的与最新 价的最近价格, 注模型中需调用一次 CALVOLPRICELIST 函数 CALVOLPRICELIST TICK 图 中 初 始 化 盘 口 大 单 价 格 表 , 主 要 在 BIDBIGVOLPRICE 与 ASKBIGVOLPRICE 前使用,提供初始化。 用法: CALVOLPRICELIST L2_SETBIGVOL 设置大单成交手数阈值 用法: L2_SETBIGVOL( nVol ) 成交手数大于 nVol 的为大单, 例:L2_SETBIGVOL( 10 ); // 大于 10 手的是大单 L2_BKBIGCOUNT; L2_BIDVOL // 查看买开的大单成交次数;
6-0文华程序化交易使用指南
文华程序化交易使用
指南
目录
一、程序化交易的原理 (3)
二、程序化交易的启用 (3)
㈠、一键通版本程序化交易的启用: (4)
1、启动交易软件............................ 错误!未定义书签。
2、启用交易模型(打开程序化交易窗口) (4)
3、设置相关参数 (6)
㈡、Webstock版本程序化交易的启用 (7)
1、启动交易软件 (7)
2、启用交易模型(打开程序化交易窗口) (8)
3、设置相关参数 (11)
三、程序化交易的编写 (13)
㈠、交易模型编写规范和一般原则 (13)
1、编辑平台支持的操作符 (13)
2、编辑平台支持的函数 (14)
⑴引用数据 (14)
⑵金融统计 (15)
⑶数理统计 (18)
⑷逻辑判断 (19)
⑸数学运算 (21)
⑹时间函数 (22)
⑺绘图 (23)
3、编辑平台可以使用的常数 (25)
4、编辑平台的语法 (26)
5、编辑平台使用的交易指令 (26)
6、快速入门 (27)
(二)、交易模型编写示范和注意事项 (32)
1、趋势类交易模型编写示范 (32)
⑴均线类 (32)
⑵通道类 (34)
⑶其他类 (35)
2、振荡类交易模型编写示范 (37)
⑴主动买与主动卖模型 (37)
⑵ROC(变动速率)与价格趋势变动背离: (37)
⑶三减六日乖离模型: (38)
3、日内交易模型编写示范 (38)
⑴开盘价突破模型 (38)
⑵开盘后前三十分钟最高最低价突破模型 (39)
⑶单均线模型。 (40)
4、套利交易模型编写示范 (40)
5、常见编写错误............................ 错误!未定义书签。
文华财经程序化交易应用指南
一、WH8(8.1.203)程序化交易应用指南
我们把程序化应用,从初级应用到高级应用,分成6个级别来介绍wh8的程序化功能。(一)一级:信号预警盒子
信号预警盒子是一种为程序化半自动下单的用户提供的功能,客户可以在信号预警盒子自己设定预警的模型,在条件满足的时候,系统能够会弹出弹出预警窗口,确认就可以直接下单了。
这个功能类似以前版本的半自动,但是增加了显示加载模型运行情况的列表,我们叫做盒子。盒子还可以后台运行,加载了信号预警以后,可以做看盘等其他操作,不影响模型出信号的。
信号预警盒子的主要功能:
1、点击盒子列表中的一行,可以打开k线图上查看设定预警模型的信号。
2、支持设置信号持续时间和信号消失确认时间
(二)二级:公式条件单
公式条件单是为只按照某种特定条件进行交易的用户,提供的一种灵活的程序化执行方式。公式条件单让条件单不再停留在简单的价格条件和时间条件上,可以利用文华麦语言编写出思路更广的条件。
客户可以在组群中加载条件单模组,系统根据写入的条件进行自动交易。
公式条件单的主要功能:
1、只写开仓条件,按照条件自动开仓;
2、只写平仓条件,将初始化带入模组的持仓自动平掉;
3、信号独立,没有过滤机制。
4、可以随意进行主观干预。
5、可以后台运行。
公式条件单在WH8中的运行规则,请参考下面链接
/popwin/tiaojiandan-sm.htm
(三)三级:趋势跟踪策略(过滤模型)
为有完整交易策略的投资者提供的全自动程序化交易。交易策略中一开一平,且交易手数开平对应,不会出现锁仓和加仓的情况。
客户自己在组群中加载模组后,出现信号按照信号执行方式确认后自动下单交易。
程序化交易高级教程文华
(增加阅读软件的页面放大率可查看清晰图片) 做空代码如下: MA1:=MA(C,5); MA2:=MA(C,10); CROSS(MA2,MA1)&&PANZHENG=0,SK; CROSS(MA1,MA2),BP; AUTOFILTER; 加入盘整函数后,做空亏损 44100 元 ,如下图所示
5
(增加阅读软件的页面放大率可查看清晰图片) 加入 PANZHENG 函数后,代码如下 MA10:=MA(C,10); C>MA10&&PANZHENG=0,BPK;//非盘整行情中,价格大于 10 周期均线,做多 C<MA10 &&PANZHENG=0,SPK;//非盘整行情中,价格小于 10 周期均线,做空 ቤተ መጻሕፍቲ ባይዱUTOFILTER; 如下图所示 胜率提升 14% 盈利率提升 37% 最大回撤减少 45% 年化盈利率提升 21% 单次交易盈利能力提升 40% 减少盘整行情中的交易次数后,不仅仅盈利能力得到提升,模型的稳定性同时也得到大幅度提升, 大大提高了模型的可执行性
第七章 后台程序化.........................................................................................................................71 7.1 运行模组.........................................................................................................................71 7.2 盘口模型运行池.............................................................................................................80
程序化交易__文华专业教程
TMP1:=(OPEN+CLOSE)/2; MA1:MA(TMP1,10); 上面的公式的第一个语句定义了一个局部变量TMP1, 在下面一行中引用了这个局部变量,但是要注意的 是这个公式在画图的时候只画了第二条语句所求出 的结果。
指标 编写结构
定义需要的 变量
变量名称 :=或者: 解释 分号结尾
标注文字 画图形
DRAWTEXT 其他绘图函数
交易模型 编写结构
定义需要的 变量
变量名称 :=或者: 解释 分号结尾
形成交易条 件和指令
交易条件 逗号 BK SP SK BP 分号结尾
注意事项: 1.模型中必须使用‘:=’定义变量名称。不允许只使用‘:’。 2.容易引起歧义的条件,最好用括号把完整条件括起来在和其他条件进行对比。 3.函数不允许作为变量名称 4.结尾一定要用分号 5.不要忘记写函数,例如(CLOSE,5)是错误的 6.涉及到引用系统指标的时候,一定要记得加等号去除画线;如果有参数一定要
SMA(X,N,M)
得到X在N个周期内的移动平均,M为权重(M为 常数)。 计算方法:SMA(N)=SMA(N-1)*(NM)/N+X(N)*M/N。
HHV(X,N)
得到X在N周期内的最高值,如果N=0,则从本 地数据的第一个有效周期开始算起。 例:HHV(HIGH,13);求13个周期内的最高价的最 大值。
文华财经程序化交易 操盘必会技巧
操盘必会技巧
1、发现趋势
关于技术分析,您首先听说的可能会是下面这句箴言:“趋势是您的朋友”。找到主导趋势将帮助您统观市场全局导向,并且能赋予您更加敏锐的洞察力--特别是当更短期的市场波动搅乱市场全局时。每周和每月的图表分析最适合用于识别较长期的趋势。一旦发现整体趋势,您就能在希望交易的时间跨度中选择走势。这样,您能够在涨势中买跌,并且在跌势中卖涨。
2、支撑和阻力你我必须承认:在这世界上,100%保证能绝对赚钱的交易方法是不存在的。如果有这样的方法,那么满街都是百万富翁了,但留心便可发现,市场中总有那么一部分人能稳定赢利、在长期交易中不败……难道他们都是能预知未来的交易之神?请百度搜索“云易汇智能交易系统”为您独家揭秘!
支撑和阻力水准是图表中经受持续向上或向下压力的点。支撑水准通常是所有图表模式(每小时、每周或者每年)中的最低点,而阻力水准是图表中的最高点(峰点)。当这些点显示出再现的趋势时,它们即被识别为支撑和阻力。买入/卖出的最佳时机就是在不易被打破的支撑/阻力水准附近。一旦这些水准被打破,它们就会趋向于成为反向障碍。因此,在涨势市场中,被打破的阻力水准可能成为对向上趋势的支撑;然而在跌势市场中,一旦支撑水准被打破,它就会转变成阻力。
3、线条和通道
趋势线在识别市场趋势方向方面是简单而实用的工具。向上直线由至少两个连继低点相连接而成。很自然,第二点必须高于第一点。直线的延伸帮助判断市场将沿以运动的路径。向上趋势是一种用于识别支持线/水准的具体方法。反而言之,向下线条是通过连接两点或更多点绘成。交易线条的易变性在一定程度上与连接点的数量有关。然而值得一提的是,各个点不必靠得过近。通道被定义为与相应向下趋势线平行的向上趋势线。两条线可表示价格向上、向下或者水平的走廊。支持趋势线连接点的通道的常见属性应位于其反向线条的两连接点之间。
文华财经程序化策略加载步骤
优选文库
文华 8.2 版本策略加载步骤:
加载策略可按以下重点进行:
导入策略—打开K 线—增补数据—设置手数—设置时间—加载策略
下面介绍详尽操作方法:
1.启动软件,单击“账户” |“登录” |“国内期货下单”
菜单,登录账号。
4. 在弹出的窗口中选择“文件”| “导入”命令。
2.弹出登录窗口,输入资本账号、密码及考据码,单
击“注册 / 找回模拟交易登录账号”超链接,在弹出的网
页里注册模拟账号。
5.选择发给您的策略,单击“打开”按钮(不用解压
缩)。导入成功后关闭策略编写窗口。
3.单击“编写” | “编写趋向策略”命令
—
6. 打开合约,系统默以为日K 线,在 K 线图空白地点10.返回K线图,再次右击,选择“增补历史数据”命
右击,在弹出的快捷菜单中选择“解析周期”| “自定义令
解析周期”命令。(常用周期可在“解析周期”子菜单下
直接选择)
11. 单击“下载”按钮,使本机数据最少在30 天以上。
7. 启用自定义解析周期,输入周期数,这里设置为2
分钟周期,单击“应用”按钮,关闭该对话框。
8.切换到 2 分钟周期上,在 K 线图空白地点右击,在
弹出的快捷菜单中选择“设置技术指标”命令。12.下载达成单击“确立”按钮。
13. 返回 K 线图,在回测工作区中单击“重设回测参数”
9. 弹出对话框,选择“MA 组合”选项,单击“卸载”按钮。
按钮,单击“确立”按钮。
—
14.设置回测手数,也许需要开仓的手数。实盘中,资
本和手续费不用管。
18.设置达成,单击“重新回测”按钮。
15.返回 K 线图右击,在弹出的快捷菜单中选择“设置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DATE TIME REF(X,N) HHV(X,N) LLV(X,N)
取日期数(19700101-20331231)。 用法:DATE 返回某周期的日期数。
取周期的时数。 用法:TIME 取周期的时数。
引用X在N个周期前的值 例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价
求X在N个周期内的最高值。若N为0则从第一个有效值开始算起。 例:HHV(HIGH,13);求13个周期内的最高价的最大值。
关键字:日内模型
日内交易:均线上穿平空做多,均线下穿平多做空;
具体细化思路: 3分钟周期 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空; CROSS(MA5,MA10)&&TIME>=0900&&TIME<1457,BK; CROSS(MA10,MA5)||TIME>=1457,SP; CROSS(MA10,MA5)&&TIME>=0900&&TIME<1457,SK; CROSS(MA5,MA10)||TIME>=1457,BP;
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外 的名称。
跨周期跨合约模型的编写思路及案例
1.同一合约不同周期调用 示范1 2.同一合约不同周期调用 示范2 3.不同合约之间的数据调用
例1 同一合约不同周期的数据调用
要求
当日均线出现多头排列时, 5分钟KD线金叉,做多。 当日均线出现空头排列时, 5分钟KD线死叉,做空。
例1:
先建立一个指标 名称AAA MA5:=MA(C,5); MA10:=MA(C,10); MA30:=MA(C,30); 再建立你的模型 #IMPORT [ , DAY,AAA] AS VAR DM5:=VAR.MA5; DM10:=VAR.MA10; DM30:=VAR.MA40; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; DM5>DM10&&DM10>DM30&&CROSS(K,D),BPK; DM5<DM10&&DM10<DM30&&CROSS(D,K),SPK; AUTOFILTER;
最大值时返回当前最高价。
DATE<>REF(DATE,1)//今天第一根K线 VALUEWHEN(DATE<>REF(DATE,1),O);//当天开盘价 VALUEWHEN(TIME=1030,O);//10点半那根K线的开盘价 昨天的收盘价? VALUEWHEN(DATE<>REF(DATE,1),REF(C,1));
BKPRICE BARSBK BARSLAST(X) COUNT(X,N)
返回最近一次模型买开位置的买开信号价位。
返回上一次买开仓距离当前k线的k线数。
求上一次X条件成立到当前的周期数
表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申请到的数据的 第一天开始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N)); COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数
HHV(H,BARSBK+1);//开仓到目前为止最高价
N:=BARSLAST(DATE<>REF(DATE,1))+1;//今天开盘到目 前为止的周期数 ——》HH:HHV(H,N);//开盘到目前为止的最高价
昨天开盘的最高价? 表达式一:REF(HH,N); 表达式二: VALUEWHEN(DATE<>REF(DATE,1),REF(HH,1));
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D;
用指标监测行情: K线上穿D线
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)LLV(LOW,N))*100; Baidu Nhomakorabea:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; //以下是加入的交易指令 CROSS(K,D),BK;//K向上穿越D,发出买开交易指令 CROSS(J,100),SP;//J向上穿越100,发出卖平交易指令 CROSS(D,K),SK;//K向下穿越D,发出卖开交易指令 CROSS(0,J),BP;//J向下穿越0,发出买平交易指令 AUTOFILTER;
定义思路中涉及到的变量
CROSS(MA5,MA10),BPK交; 易条件,写入交易指令 CROSS(MA10,MA5),SPK;
关键字:反手指令
均线上穿平空做多,均线下穿平多做空;
具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;
MA5:MA(C,5); MA10:MA(C,10); CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;
交易模型: 指能够发出BK、SP等交易指令,模型还包含下单方向
,交易手数,止盈止损等与交易、资金使用相关的参数设 置。交易模型是一个交易范畴的概念。
交易指令: 指交易模型自动发出的下单委托指令,可以不经过投资
者确认直接下单,也可以等待投资者回车确认再下单。交 易指令在K线图上以不同颜色和形状的箭头来代表。交易 指令是一个程序化交易范畴的概念。
赢智的“麦语言”源于2004年文华推出的国内第一套程序 化函数库,经过7年的发展,吸收几十万用户的意见反馈,一 点一点完善起来的的,是一套成熟稳定的模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个 个的函数里,采用“小语法,大函数”的构建模式。语法虽然 简单,但是配合专门的程序化数据结构,配合丰富的金融统计 函数库,同样可以支持逻辑复杂的金融应用。
模型编写扩展: 学习跨周期模型的编写原理和编写步骤。
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。 用法: #IMPORT [CODE, PERIOD, FORMULA] AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。 CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
学习编写跨指标、跨周期模型
公式: 泛指指标、模型。没有具体指向性。
指标: 指能够绘出图线但不发交易指令的公式。指标是一个技术
分析范畴的概念。
交易信号: 指指标上出现的提示投资者买卖的指示,可以是图线交叉
、文字、图形。投资者需要按照信号指示去手动委托下单。 交易信号也是一个技术分析范畴的概念。
程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收 益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环境 下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需 要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力, 能节省时间,节省金钱。
程序化交易需求分析
麦语言(My language)模型开发平台
衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;
REF(H,1); REF(MA15,1);
5日均线上穿10日均线的同时收盘价大于20日均线,或者5 日均线上穿10日均线的5个点;
MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); A:(CROSS(MA5,MA10)&&C>MA20)||CROSS(MA5,MA1
练习1:为函数做注释 IFELSE(C,A,B) //如果条件C成立则返回A值,否则返回B值
SETTLE REF(X,N)
引用结算价 引用X在N个周期前的值
MA(X,N)
求X在N周期内的简单移动平均。
定义变量: 结算价: 15周期收盘价均线(显示定义);
S:=SETTLE; MA15:MA(C,15);
表示 X上穿Y; 例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线
MA5:=MA(C,5); MA10:=MA(C,10);
CROSS(MA5,MA10); CROSS(MA10,MA5);
定义变量 运用函数
A:(O+C)/2;
B:C>O; //判断是否收阳;满足条件返回1,否则返回0
文华财经 研究部
1 • 程序化交易概念 2 • “麦语言”介绍 3 • 模型基本结构和编写 4 • 如何编写带有资金管理和止损的策略模型 5 • 如何进行多维的模型评估 6 • 如何编写基于Tick逐笔数据的日内高频模型 7 • 如何编写下单组件对下单过程进行精细控制
什么是程序化交易?
程序化是一个交易的概念,用户可以把平时的交易思想,写成交易 策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能 力和铁面无私,提高下单的速度和效率,避免交易收到情绪的影响,理 性交易。
4、每个语句应该以分号结束。
5、参数部分: 可以设置六个参数; 首先是参数名称,然后是参数的最小值,最大值,最后是参
数的默认值; 在定义参数时要注意的是参数名称不可以重复,12个字符内。
6、运用函数语言,也就是表达你的语言: 函数具有自己的表达式,运行它就需要将我们的思路,按照
函数的表达式套用表述。
0+5*MD);
总结:清晰逻辑关系,可以用“()”来表示。
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
在编写前,需要将交易思想清晰量化后,通过语言函数编写 完成。
交易模型基本结构: 1.定义需要的每个变量 2.交易条件+交易指令
MA5:=MA(C,5); MA10:=MA(C,10);
该函数参数支持变量计算如HHV(HIGH,VAR1);//VAR1为变量
VALUEWHEN(COND,
当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。
DATA)
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的
命名
参数
CLOSE HIGH LOW OPEN MA(X,N)
CROSS(X,Y)
引用收盘价(在盘中指最新价),也可简写为 C 。 引用最高价,也可简写为 H 。 引用最低价,也可简写为L 。
引用开盘价,也可简写为O 。
求X在N周期内的简单移动平均。 计算方法: MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均
麦语言的函数库,是经常更新的,根据客户的新要求随时添 加新函数,来支持编程者的交易新思想和新应用。
麦语言,是国内使用人数最多的程序化模型开发平台。
本章学习目标:
1、了解指标、模型相关术语; 2、熟悉模型编写的语法; 3、理解模型编写的结构和编写方法。 4、学习如何编写跨周期策略模型
模型基本结构
AUTOFILTER
对模型的所有信号按照先买后卖,先开后平的顺序过滤。 1.连续的同方向指令只有第一个有效,其他的将被过滤; 2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖 平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指
令,其他的都被过滤);
C>BKPRICE+50*MD;//最新价大于买开仓价位的50个点
D:TIME>=0910&&C>O; //用于多条件逻辑关系
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10);//金叉 CROSS(MA10,MA5);//死叉
注释或者舍去 想要在编写后,加入自己的语言注释,在结尾处用“//”
表示;或者想舍去某段,在某段在最前端加入“//”;
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
1、命名部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符内; 命名不能和已存在的公式名称重复。
2、定义变量名称 变量名称不能相互重复; 不能与参数名重复; 不能与函数名重复。
3、半角输入法的大写状态。