文华程序化交易
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D:SMA(K,M2,1);
J:3*K-2*D;
指标
文华程序化交易
用指标监测行情: K线上穿D线
文华程序化交易
模型
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; //以下是加入的交易指令 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;
求X在N个周期内的最高值。若N为0则从第一个有效值开始算起。 例:HHV(HIGH,13);求13个周期内的最高价的最大值。
该函数参数支持变量计算如HHV(HIGH,VAR1);//VAR1为变量
VALUEWHEN(COND,
当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。
程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收 益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环 境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不 再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储 能力,能节省时间,节省金钱。
文华程序化交易
程序化交易需求分析
具体细化思路: 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;
AUTOFILTER
对模型的所有信号按照先买后卖,先开后平的顺序过滤。 1.连续的同方向指令只有第一个有效,其他的将被过滤; 2.交易指令必须配对出现(例如:前面已经有了买开指令,则后面只允许出现卖 平指令,其他的指令都被滤掉。这也就意味着,第一个指令只能是买开或者卖开指
令,其他的都被过滤);
文华程序化交易
文华程序化交易
模型编写扩展: 学习跨周期模型的编写原理和编写步骤。
文华程序化交易
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。 用法: #IMPORT [CODE, PERIOD, FORMULA] AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。 CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名
引用开盘价,也可简写为O 。
求X在N周期内的简单移动平均。 计算方法: MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均
表示 X上穿Y; 例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线
MA5:=MA(C,5); MA10:=MA(C,10);
6、运用函数语言,也就是表达你的语言: 函数具有自己的表达式,运行它就需要将我们的思路,按照
函数的表达式套用表述。
文华程序化交易
命名
参数
文华程序化交易
CLOSE HIGH LOW OPEN MA(X,N)
CROSS(X,Y)
引用收盘价(在盘中指最新价),也可简写为 C 。 引用最高价,也可简写为 H 。 引用最低价,也可简写为L 。
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10);//金叉 CROSS(MA10,MA5);//死叉
文华程序化交易
其他:
注释或者舍去 想要在编写后,加入自己的语言注释,在结尾处用“//”
表示;或者想舍去某段,在某段在最前端加入“//”; 练习1:为函数做注释 IFELSE(C,A,B) //如果条件C成立则返回A值,否则返回B值
文华程序化交易
练习2 在K线上如何区分交易指令和交易信号
交易信号
文华程序化交易
交易指令
文华程序化交易
练习3 巩固训练
文华程序化交易
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
文华程序化交易
MY language 编写语法:
1、命名部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符内; 命名不能和已存在的公式名称重复。
文华程序化交易
解读常用函数:
DATE TIME REF(X,N) HHV(X,N) LLV(X,N)
取日期数(19700101-20331231)。 用法:DATE 返回某周期的日期数。
取周期的时数。 用法:TIME 取周期的时数。
引用X在N个周期前的值 例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价
CROSS(MA5,MA10); CROSS(MA10,MA5);
定义变量 运用函数
文华程序化交易
MY language 操作符
文华程序化交易
如何运用操作符:
A:(O+C)/2; B:C>O; //判断是否收阳;满足条件返回1,否则返回0 D:TIME>=0910&&C>O; //用于多条件逻辑关系
C>BKPRICE+50*MD;//最新价大于买开仓价位的50个点
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));
文华程序化交易
第二章 “麦语言”介绍
文华程序化交易
麦语言(My language)模型开发平台
赢智的“麦语言”源于2004年文华推出的国内第一套程序 化函数库,经过7年的发展,吸收几十万用户的意见反馈,一 点一点完善起来的的,是一套成熟稳定的模型开发平台。
麦语言倡导的是积木式的编程理念,把复杂算法封装到一个 个的函数里,采用“小语法,大函数”的构建模式。语法虽然 简单,但是配合专门的程序化数据结构,配合丰富的金融统计 函数库,同样可以支持逻辑复杂的金融应用。
文华程序化交易
练习2:
SETTLE REF(X,N)
引用结算价 引用X在N个周期前的值
MA(X,N)
求X在N周期内的简单移动平均。
定义变量: 结算价: 15周期收盘价均线(显示定义);
S:=SETTLE; MA15:MA(C,15);
衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;
DATA)
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的
最大值时返回当前最高价。
文华程序化交易
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));
、文字、图形。投资者需要按照信号指示去手动委托下单。 交易信号也是一个技术分析范畴的概念。
文华程序化交易
交易模型: 指能够发出BK、SP等交易指令,模型还包含下单方向
,交易手数,止盈止损等与交易、资金使用相关的参数设 置。交易模型是一个交易范畴的概念。
交易指令: 指交易模型自动发出的下单委托指令,可以不经过投资
REF(H,1); REF(MA15,1);
文华程序化交易
练习3:
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
2、定义变量名称 变量名称不能相互重复; 不能与参数名重复; 不能与函数名重复。
3、半角输入法的大写状态。
4、每个语句应该以分号结束。
文华程序化交易
MY language 编写语法:
5、参数部分: 可以设置六个参数; 首先是参数名称,然后是参数的最小值,最大值,最后是参
数的默认值; 在定义参数时要注意的是参数名称不可以重复,12个字符内。
文华程序化交易
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
学习编写跨指标、跨周期模型
文华程序化交易
理解并规范使用技术指标,交易模型等以下名词:
公式: 泛指指标、模型。没有具体指向性。
指标: 指能够绘出图线但不发交易指令的公式。指标是一个技术
分析范畴的概念。
交易信号: 指指标上出现的提示投资者买卖的指示,可以是图线交叉
MA5:=MA(C,5);
定义思路中涉及到的变量
MA10:=MA(C,10);
CROSS(MA5,MA10),BPK交; 易条件,写入交易指令 CROSS(MA10,MA5),SPK;
文华程序化交易
模型中使用的交易指令
文华程序化交易
练习编写1:
关键字:反手指令
均线上穿平空做多,均线下穿平多做空;
文华程序化交易
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外 的名称。
0+5*MD);
总结:清晰逻辑关系,可以用“()”来表示。
文华程序化交易
模型基本结构
指标、模型相关术语 模型编写的语法与操作符 模型编写的结构和编写方法
文华程序化交易
在编写前,需要将交易思想清晰量化后,通过语言函数编写 完成。 交易模型基本结构: 1.定义需要的每个变量 2.交易条件+交易指令
文华程序化交易
文华程序化交易
2020/11/21Fra bibliotek文华程序化交易
课程安排
文华程序化交易
第一章 程序化交易概念
文华程序化交易
什么是程序化交易?
程序化是一个交易的概念,用户可以把平时的交易思想,写成交易 策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算 能力和铁面无私,提高下单的速度和效率,避免交易收到情绪的影响, 理性交易。
具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;
MA5:MA(C,5); MA10:MA(C,10); CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;
文华程序化交易
练习编写2:
关键字:日内模型
日内交易:均线上穿平空做多,均线下穿平多做空;
者确认直接下单,也可以等待投资者回车确认再下单。交 易指令在K线图上以不同颜色和形状的箭头来代表。交易 指令是一个程序化交易范畴的概念。
文华程序化交易
练习1:如何区分指标和模型
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-
LLV(LOW,N))*100;
K:SMA(RSV,M1,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的次数
麦语言的函数库,是经常更新的,根据客户的新要求随时添 加新函数,来支持编程者的交易新思想和新应用。
麦语言,是国内使用人数最多的程序化模型开发平台。
文华程序化交易
第三章 模型基本结构和编写
文华程序化交易
本章学习目标:
1、了解指标、模型相关术语; 2、熟悉模型编写的语法; 3、理解模型编写的结构和编写方法。 4、学习如何编写跨周期策略模型