最新文华期货自动化交易模型编写教程
量化经典麦语言程序化模型的编写(精).
关键词:多个交易条件 1:以均线结合KD交叉指标为例: 2:练习编写:MACD、KDJ指模型。
MA5:=MA(C,5);
MA10:=MA(C,10);
均线模型
MA5>MA10,BK;//5日均线大于10日均线买入 。
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代 码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头 的名称之外的名称。
总结:多条件下用“()”明确逻辑关系
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。 用法:
#IMPORT [CODE, PERIOD, FORMULA] AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA
的数据。
CODE 文华码,PERIOD 周期,FORMULA 引用指标名, VAR 定义变量名
5、参数部分: 可以设置六个参数 首先是参数名称,然后是参数的最小值,最大值,最后是参数
的默认值。 在定义参数时要注意的是参数名称不可以重复,12个字符内
6、运用函数语言,也就是表达你的语言 函数具有自己的表达式,运行它就需要将我们的思路,按照函
数的表达式套用表述。
模型源码 命名
参数
A:(O+C)/2; B:C>O; //判断是否收阳;满足条件返回1,否则返回0 D:TIME=0900&&C>O; //用于多条件逻辑关系
文华期货自动化交易模型编写教程
文华期货自动化交易模型编写教程自动化交易模型是一种利用计算机程序进行交易决策和操作的交易方式,它可以根据事先设定的规则和策略,在不需要人工干预的情况下执行交易。
文华期货是一家国内知名的期货公司,其交易软件提供了编写自动化交易模型的功能,下面是一个关于如何编写文华期货自动化交易模型的教程。
1.确定交易策略在编写自动化交易模型之前,首先需要确定你的交易策略。
交易策略是指根据市场的变化和交易者的预期制定的一系列操作规则,可以是技术指标的判断、基本面数据的分析,或者是一些特殊的交易信号。
你可以根据自己的交易经验和市场分析来确定适合自己的交易策略。
2.学习文华期货交易API文华期货提供了一套API(Application Programming Interface)来支持自动化交易模型的编写和执行。
你需要学习这些API的使用方法,了解如何连接到交易软件,获取市场数据,以及如何进行交易操作。
文华期货的官方网站和交易手册中可能会提供相关的文档和示例代码,你可以参考这些资料进行学习。
3.编写交易模型在了解了API的使用方法之后,你可以开始编写自己的交易模型。
根据你确定的交易策略,你可以编写一些逻辑判断和操作指令,来实现你的交易决策。
比如,你可以通过API获取最新的行情数据,在特定的条件下执行买入或卖出操作。
4.测试和优化完成交易模型的编写后,你需要对其进行测试和优化。
你可以使用历史数据来回测你的交易模型,看看它在不同市场条件下的表现如何。
通过回测,你可以找出模型的优点和不足之处,并对其进行相应的调整和优化。
5.实盘运行在进行了充分的测试和优化之后,你可以将交易模型部署到实盘上运行。
在运行过程中,你需要密切关注市场的变化和模型的表现,及时进行调整和修改。
总结:编写文华期货自动化交易模型需要以下几个步骤:确定交易策略、学习文华期货交易API、编写交易模型、测试和优化以及实盘运行。
通过不断的实践和经验积累,你可以开发出一个稳定、高效的自动化交易模型,为你的交易增添一份智能和便利。
文华公式编写
CLOSE>600&&CROSS(D,K),SKBK;{当价差大于600并且D上穿K时,卖出开仓前一品种,买入开仓后一品种}
CROSS(400,CLOSE)||CROSS(K,D),BPSP;{当价差下穿400或者K上穿D时,买入平仓前一品种,卖出平仓后一品种}
RSV:=(CLபைடு நூலகம்SE-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;{以上为KDJ公式}
CLOSE<300&&CROSS(K,D),BKSK;{当价差小于300并且K上穿D时,买入开仓前一品种,卖出开仓后一品种}
文华财经交易编程快速入门
1、如何把熟悉的技术指标转换成交易模型?
第一步:把KDJ指标公式COPY过来。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;{算出(收盘价-N周期内的最低价)/(N周期的最高价—N周期内的最低价)*100的值,用RSV来表示。}
REF(CLOSE,1)>REF(CLOSE,2)&&REF(CLOSE,2)>REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,4)&&CLOSE<=A,SPK;{连续四个周期的收盘价大于前一周期的收盘价并且当前周期的收盘价小于等于A时,发出卖平并且卖开(反手)交易指令}
期货程序化自动交易教程
期货程序化自动交易教程自动化交易教程历经16年金融风雨,经历了全球市场所有商品的真实磨练准确、迅速、无所不能是投资家的目标自动化交易教程 ..................................................................... ............ 错误~未定义书签。
1. 把交易思路告诉计算机 --- 交易公式的创造 ......................... 错误~未定义书签。
2. 让公式跑起来 --- 组装交易策略........................................... 错误~未定义书签。
3. 多种入仓方式 --- 灵活使用先进的武器 ................................ 错误~未定义书签。
入仓...................................................................... ............... 错误~未定义书签。
出仓...................................................................... ............... 错误~未定义书签。
4. 各取所需 --- 价位驱动和时间驱动 ....................................... 错误~未定义书签。
5. 不可或缺的所见所得的创作手段 --- 仿真测试...................... 错误~未定义书签。
6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作错误~未定义书签。
7. 附录一博雅语言教材 .......................................................... 错误~未定义书签。
文华赢智程序化交易系统
模型源码 命名
参数
Mytrader模型回顾
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10),BK; CROSS(MA10,MA5),SP;
定义变量 指令 条件
Wh3模型加仓
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10)&&BUYVOL=0,BK(5); EVERY(MA5>MA10,3)&&BUYVOL>0,BK(1); CROSS(MA10,MA5),SP(BUYVOL);
No
No
Image Image
赢智程序化交易系统
No Image
No Image
软件学习途径
No Image
祝交易顺利
谢谢
画线下单—对行情超快速反馈交易
画画线线开开仓仓
上 下穿穿价 买突突格 入破破上 开箱箱破 仓体体箱 成卖买体 功出入
买卖线触发规则: 画于最新价上方,最新价上穿即触发, 画于最新价下方,最新价下穿即触发。
画线止损止赢
止损止盈触发规则: 多单:下穿触发止损,上穿触发止盈 空单:上穿触发止损,1、下计穿划触突发破前止期盈高点
基本操作简介
专业的程序化交易平台
1.竖式下单
2.横式下单
1、开仓、平仓 逻辑清晰,点按
钮即可完成 2、买平、卖平 智能判断,不必 再为此浪费时间
注:止损单设置保存在本地电脑,电脑断网、断电、软件没有正常开启都会导致止损单无法触发
横式下单
1
2 3
1、开仓、平仓 逻辑清晰,点按
钮即可完成 2、买平、卖平 智能判断,不必 再为此浪费时间
第10讲 日内交易模型和tick模型的编写
日内交易模型编写要点
开仓时间控制(区分夜盘&非夜盘合约)
MID:=MA(CLOSE,26); TMP2:=STD(CLOSE,26); TOP:=MID+2*TMP2; BOTTOM:=MID-2*TMP2;//布林通道 UPBAND:=HV(HIGH,5); DNBAND:=LV(LOW,5);//唐奇安通道 CLOSEMINUTE>1&&C>TOP&&H>=UPBAND,BPK;//在1分钟周期下,当天最后一根K线不开仓 CLOSEMINUTE>1&&C<BOTTOM&&L<=DNBAND,SPK; //在1分钟周期下,当天最后一根K线不开仓 TIME>=1450&&TIME<=1500||TIME<=0100,CLOSEOUT; AUTOFILTER;
日内交易模型编写要点
尾盘清仓语句的编写
CLOSEMINUTE1,返回距离收盘前的分钟数。
注: 1、该函数只能用于指令价模型。 2、 历史K线:该函数返回K线结束时间距离收盘的分钟数。 盘中:该函数返回K线当前时间距离收盘的分钟数。 3、该函数需要在分钟,小时,日线周期使用;不支持在TICK周期,秒周 期,量能周期,周线及以上周期使用。 4、该函数返回值包含小结和午休的时间。 5、CLOSEMINUTE1返回的是交易所的时间,不是本机的时间。 6、对于夜盘合约,夜盘收盘不是当日收盘,15点收盘才算作当日收盘。 7、CLOSEMINUTE1在合约交割日,返回实际收盘时间。 8、CLOSEMINUTE1加载到主力合约上,主力换月和合约交割在同一天,则 按照交割日的收盘时间计算,主力换月和合约交割不在同一天,那么按 照正常的非交割日进行计算。 9、该函数不支持和CLOSESEC1同时使用。
最新文华期货自动化交易模型编写教程
一、程序化交易的编写㈠、交易模型编写规范和一般原则1、编辑平台支持的xx2、编辑平台支持的函数⑴引用数据⑵金融统计⑶数理统计更多期货股票学习资料点击:⑷逻辑判断⑸数学运算更多期货股票学习资料点击:⑹时间函数⑺绘图8、level-2函数(只有xx版本支持)更多期货股票学习资料点击:9、头寸函数(连接文华服务器才能使用)10、信号记录函数(连接文华服务器才能使用)3、编辑平台可以使用的常数注:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。
更多期货股票学习资料点击:4、编辑平台的语法(1)关于公式名称:公式的名称不可以和已经存在的公式重复。
(2)关于参数:每个自编公式最多可以在参数设置栏中定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。
在定义参数时要注意的是参数名称不可以重复。
(3)关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。
(4)关于公式内容:公式的每个语句应该以分号结束,包括最后一条语句。
在数据公式的时候请您注意一定要使用半角输入。
在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
(5)如果您在编写公式之后,想给这个公式加上注释,说明之类的xx,可以使用公式说明来输入。
(6)IF ELSE:该语句只有Mytrader2009和Myadvisor(赢智)支持MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{IF(MA10>MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;}以上内容表达 MA5、MA10、MA30三者中最大的数值。
期货程序化自动生意业务教程
自动化交ห้องสมุดไป่ตู้教程
历经 16 年金融风雨,经历了全球市场所有商品的真实磨练
准确、迅速、无所不能是投资家的目标
自动化交易教程................................................................................................................................1 1. 把交易思路告诉计算机 --- 交易公式的创造................................................................1 2. 让公式跑起来 --- 组装交易策略....................................................................................5 3. 多种入仓方式 --- 灵活使用先进的武器......................................................................10 入仓..................................................................................................................................11 出仓..................................................................................................................................13 4. 各取所需 --- 价位驱动和时间驱动..............................................................................14 5. 不可或缺的所见所得的创作手段 --- 仿真测试..........................................................15 6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作..........................16 7. 附录一 博雅语言教材....................................................................................................19 Boya 说明 ........................................................................................................................19 变量、数组与序列变量..................................................................................................19 系统关键词、注释和说明..............................................................................................20 输入数据..........................................................................................................................21 运算符、表达式和赋值..................................................................................................22 控制语句..........................................................................................................................23 系统函数..........................................................................................................................24 子程序..............................................................................................................................25 隐含执行过程和自控循环..............................................................................................26 DLL 方式.........................................................................................................................26 举例..................................................................................................................................27 8. 附录二 多周期共振公式代码........................................................................................44
量化麦语言程序化模型的编写精
关键词:多个交易条件 1:以均线结合KD交叉指标为例: 2:练习编写:MACD、KDJ指标模型。
MA5:=MA(C,5);
MA10:=MA(C,10);
均线模型
MA5>MA10,BK;//5日均线大于10日均线买入 。
课程内容
一、模型的基本结构和跨指标模型的编写 二、跨周期模型的编写 三、模型中资金管理的编写
MY 语言的编写基于文华财经wh3平台中。通过本节课 的学习,了解文华公式编写平台的基本函数与语法,设计 自己的指标和程序化交易策略模型,实现全自动的委托发 单交易。
公式:
泛指指标、模型。没有具体指向性。
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代 码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头 的名称之外的名称。
MY language 编写语法 MY language 操作符
1、命名部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符内。 命名不能和已存在的公式名称重复;
2、定义变量名称 变量名称不能相互重复; 不能与参数名重复; 不能与函数名重复;
3、半角输入法的大写状态;
4、每个语句应该以分号结束;
MA5<MA10,SP;/模型中加入KD指标思路:
DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG); DEA := EMA(DIFF,N); MACD:=2*(DIFF-DEA); RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M1,1); J:=3*K-2*D; (CROSS(K,D)&&J<30)||(CROSS(DIFF,DEA)&&MACD>1),BK; (CROSS(D,K)&&REF(J,1)>70)||(CROSS(DEA,DIFF)&&MACD<-1),SP; (CROSS(D,K)&&J>70)||(CROSS(DEA,DIFF)&&MACD<-1),SK; (CROSS(K,D)&&REF(J,1)<30)||(CROSS(DIFF,DEA)&&MACD>1),BP; AUTOFILTER;
文华WH8量化交易软件算法交易模型操作符及语法及常用函数及语法举例
二、基本语法1. 算法组件构成:全局变量定义、主函数定义、自定义函数定义。
注:a.全局变量定义要在主函数和自定义函数之外,主函数和自定义函数定义不分先后顺序。
b.运行原理:先读取全局变量,后直接运行主函数,在主函数运行过程中如果遇到自定义函数,在跳出主函数运行自定义函数。
2、变量定义与赋值:利用VAR函数对变量进行定义,定义好的变量可以对其进行赋值,让变量有具体的意义。
VAR N1; -----------------------//定义变量N1VAR N2; -----------------------//定义变量N2VAR N3; -----------------------//定义变量N3N1=3000; -----------------------//整型赋值N2=88.888; -----------------------//浮点型赋值N3=“股指期货”; -----------------------//字符串型赋值N4[0] = 1; -----------------------//数组型赋值N4[1] = 2; -----------------------//数组型赋值N4[2] = 3; -----------------------//数组型赋值3、主函数定义:VOID/VAR MAIN() -----------------------//定义主函数{主函数内容}例:VAR N; -----------------------//定义变量NVOID MAIN() -----------------------//定义主函数{N=“文华财经”; -----------------------//对N赋值MessageOut(N); -----------------------//输出N}4、自定义函数定义A、带返回值的函数VAR BDEAL() -----------------------//带返回值的函数{RETURN(10); -----------------------//返回值}例:带返回值函数定义VAR BDEAL(A,B) -----------------------//带返回值的函数{VAR M; -----------------------//定义变量MM=A+B;RETURN(M); -----------------------//返回值}……S=BDEAL(15,20) ; -----------------------//使用函数……B、不带返回值的函数VOID BDEAL() -----------------------//不带返回值函数{…}例:不带返回值函数定义VOID BDEAL() -----------------------//不带返回值的函数{T_Deal(“IF1312”,0,0,1,0);}……IF(…) -----------------------//当条件成立{BDEAL() -----------------------//运行函数}C、有返回值有参数的自定义函数定义例:VAR ADDTEST(VAR a,VAR b){VAR x;VAR y;x=a+b;y=a-b;MessageOut(x);MessageOut(y);RETURN(x*y);}5、循环语句while的用法:6、循环语句FOR的用法三、常用函数判断函数:IF,ELSE IFIF (F_Sig()==BK) -----------------------//如果当前是BK信号{BKDeal(); -----------------------//运行开多仓函数}ELSE IF (F_Sig()==SK) -----------------------//如果当前是SK信号{SKDeal(); -----------------------//运行开空仓函数}信号函数:F_FreshSig():取一个新信号(如果模型已经发出了多个信号,取最近发出的信号,信号消失也是一种新信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取。
最新文华期货自动化交易模型编写教程
一、程序化交易的编写㈠、交易模型编写规和一般原则1、编辑平台支持的操作符2、编辑平台支持的函数⑴引用数据⑵金融统计⑶数理统计更多期货股票学习资料点击:item.taobao./item.htm?id=⑷逻辑判断⑸数学运算更多期货股票学习资料点击:item.taobao./item.htm?id=⑹时间函数⑺绘图8、level-2函数(只有嬴智版本支持)更多期货股票学习资料点击:item.taobao./item.htm?id=10、信号记录函数(连接文华服务器才能使用)3、编辑平台可以使用的常数注:在公式即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。
更多期货股票学习资料点击:item.taobao./item.htm?id=4、编辑平台的语法(1)关于公式名称:公式的名称不可以和已经存在的公式重复。
(2)关于参数:每个自编公式最多可以在参数设置栏中定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。
在定义参数时要注意的是参数名称不可以重复。
(3)关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。
(4)关于公式容:公式的每个语句应该以分号结束,包括最后一条语句。
在数据公式的时候请您注意一定要使用半角输入。
在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
(5)如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。
(6)IF ELSE:该语句只有Mytrader2009和Myadvisor(赢智)支持MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{IF(MA10>MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;}以上容表达 MA5、MA10、MA30三者中最大的数值。
量化经典麦语言程序化模型编写(精)
关键词:多个交易条件 1:以均线结合KD交叉指标为例: 2:练习编写:MACD、KDJ指标模型。
MA5:=MA(C,5);
MA10:=MAΒιβλιοθήκη C,10);均线模型MA5>MA10,BK;//5日均线大于10日均线买入 。
MA5<MA10,SP;//10日均线大于5日均线卖出 。
——》模型中加入KD指标思路:
CROSS(MA10,MA5),SP;
CROSS(MA10,MA5),SK;
CROSS(MA5,MA10),BP;
均线上穿平空做多,均线下穿平多做空;
具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;
CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;
跨周期跨合约模型的编写规则
1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代 码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头 的名称之外的名称。
课程内容
一、模型的基本结构和跨指标模型的编写 二、跨周期模型的编写 三、模型中资金管理的编写
MY 语言的编写基于文华财经wh3平台中。通过本节课 的学习,了解文华公式编写平台的基本函数与语法,设计 自己的指标和程序化交易策略模型,实现全自动的委托发 单交易。
公式:
泛指指标、模型。没有具体指向性。
用指标监测行情: 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;
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、常见编写错误............................ 错误!未定义书签。
一、程序化交易的原理“程序化交易”为文华财经和金仕达/恒生联合开发。
原理图如下:图1从以上原理图可以看出,程序化交易是文华财经软件和金仕达/恒生自助委托软件协同工作来实现的。
客户通过程序化交易系统发出的委托指令仍然是通过金仕达/恒生远程交易系统进入期货公司和交易所的撮合中心的。
文华财经期货软件指标公式源码自动画笔画段
G:=MA(C,5);DY:=MA(C,10);NNH:=BARSLAST(H=HHV(H,15)) ,NODRAW;NNL:=BARSLAST(L=LLV(L,15)) ,NODRAW;NN:=IF(REF(G,NNH)>REF(DY,NNH) AND NNH<=12,NNH,IF(REF(G,NNL)<REF(DY,NNL) AND NNL<=12,NNL,13)) ,NODRAW;YN:=IF(ISLASTBAR AND NN>0,NN,13) ,NODRAW;HHY:=REF(H,YN)=HHV(H,14);LL Y:=REF(L,YN)=LLV(L,14);FG01:=BACKSET(HHY,YN+1)>BACKSET(HHY,YN),NODRAW;//只设置前面第6个FD01:=BACKSET(LL Y,YN+1)>BACKSET(LL Y,YN) ,NODRAW;FG02:=FG01=FD01 AND G>DY,NODRAW;FD02:=FG01=FD01 AND G<DY,NODRAW;TTTT:=BARSLAST(FD01),NODRAW;FG0:=FG01 AND IF(FG02=1,H=HHV(H,BARSLAST(REF(FD01,1))+1),H=HHV(H,IF(BARSLAST(L=LLV(L,7)) >=5,5,BARSLAST(FD01)))) AND FD02=0 ,NODRAW;FD0:=FD01 AND IF(FD02=1,L=LLV(L,BARSLAST(REF(FG01,1))+1),L=LLV(L,IF(BARSLAST(H=HHV(L,7))> =5,5,BARSLAST(FG01)))) AND FG02=0 ,NODRAW;GT:=BARSLAST(FG0),NODRAW;DT:=BARSLAST(FD0),NODRAW;LLLL:=DT=0 AND REF(DT,1)<GT AND L>REF(L,REF(DT,1)+1),NODRAW;FG1:=BACKSET(REFX(GT,1)=0 AND GT<DT AND REFX(H,1)>=REF(H,GT),GT+1),NODRAW;FD1:=BACKSET(REFX(DT,1)=0 AND DT<GT AND REFX(L,1)<=REF(L,DT),DT+1),NODRAW;FG11:=IF(GT=0 AND REF(GT,1)<DT AND IF(REF(G,BARSLAST(L=LLV(L,7)))>REF(DY,BARSLAST(L=LLV(L,7))),BARSLAST(L=LL V(L,7))<5,1) AND H<REF(H,REF(GT,1)+1),1,0),NODRAW;FD11:=IF(DT=0 AND REF(DT,1)<GT AND IF(REF(G,BARSLAST(H=HHV(H,7)))<REF(DY,BARSLAST(H=HHV(H,7))),BARSLAST(H= HHV(H,7))<5,1) AND L>REF(L,REF(DT,1)+1),1,0),NODRAW;GT1:=BARSLAST(FG11<>1 AND FG1<>1 AND FG0),NODRAW;DT1:=BARSLAST(FD11<>1 AND FD1<>1 AND FD0),NODRAW;FD2:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)>LLV(L,GT1+5),DT1+1),NODRAW;FG2A:=BACKSET(REFX(GT1,1)=0 AND DT1<3 AND GT1-DT1<4 AND REF(L,DT1)<=LLV(L,GT1+5) AND REF(H,GT1)>HHV(H,GT1+5),GT1+1),NODRAW;FG2B:=IF(GT1=0 AND DT1<4 AND REF(GT1,1)-DT1<4 AND REF(L,DT1)<=LLV(L,REF(GT1,1)+6) AND H>HHV(H,REF(GT1,1)+6),1,0),NODRAW;FG2:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)<HHV(H,DT1+5),GT1+1),NODRAW;FD2A:=BACKSET(REFX(DT1,1)=0 AND GT1<3 AND DT1-GT1<4 AND REF(H,GT1)>=HHV(L,DT1+5) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;FD2B:=IF(DT1=0 AND GT1<4 AND REF(DT1,1)-GT1<4 AND REF(H,GT1)>=HHV(H,REF(DT1,1)+6) AND L>LLV(L,REF(DT1,1)+6),1,0),NODRAW; TTTTTT:= H<REF(H,REF(GT1,1)+1) AND DT1<4,NODRAW;HHHHHH:=REF(LLV(L,10),DT1),NODRAW;FG21:=IF(GT1=0 AND DT1<4 AND H<=REF(H,REF(GT1,1)+1) ,1,0),NODRAW;FD21:=IF(DT1=0 AND GT1<4 AND L>=REF(L,REF(DT1,1)+1) ,1,0),NODRAW;FD231:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 ANDREFX(H,1)>REF(H,GT1) AND REF(L,DT1)>REF(LLV(L,10),DT1),DT1+1),NODRAW;FG23:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)>REF(H,GT1) AND (REF(H,GT1)<REF(HHV(H,13),GT1) OR REF(FD231,DT1)=0),GT1+1),NODRAW;FG231:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND REF(H,GT1)<REF(HHV(H,10),GT1) ,GT1+1),NODRAW;FD23:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)<REF(L,DT1) AND ( REF(L,DT1)>REF(LLV(L,13),DT1) OR REF(FG231,GT1)=0),DT1+1),NODRAW;FDD23:=REF(H,GT1)<REF(HHV(H,10),GT1) OR REF(FD23,DT1)=0,NODRAW;FD24:=BACKSET(REFX(GT1,1)=0 AND DT1>3 AND GT1>DT1 AND GT1-DT1<4 AND REFX(H,1)<HHV(H,GT1+3) AND REF(L,DT1)>LLV(L,DT1+5),DT1+1),NODRAW;FG24:=BACKSET(REFX(DT1,1)=0 AND GT1>3 AND DT1>GT1 AND DT1-GT1<4 AND REFX(L,1)>LLV(L,DT1+3) AND REF(H,GT1)<HHV(H,GT1+5),GT1+1),NODRAW;GT2:=BARSLAST(FG21<>1 AND FG23<>1 AND FG231<>1 AND FG24<>1 AND FG2<>1 AND FG2A<>1 AND FG2B<>1 AND GT1=0),NODRAW;DT2:=BARSLAST(FD21<>1 AND FD23<>1 AND FD231<>1 AND FD24<>1 AND FD2<>1 AND FD2A<>1 AND FD2B<>1 AND DT1=0),NODRAW;FG3:=BACKSET(REFX(GT2,1)=0 AND GT2<DT2 AND REFX(H,1)>=REF(H,GT2),GT2+1),NODRAW;FD3:=BACKSET(REFX(DT2,1)=0 AND DT2<GT2 AND REFX(L,1)<=REF(L,DT2),DT2+1),NODRAW;FG31:=IF(GT2=0 AND REF(GT2,1)<DT2 AND H<REF(H,REF(GT2,1)+1),1,0),NODRAW;FD31:=IF(DT2=0 AND REF(DT2,1)<GT2 AND L>REF(L,REF(DT2,1)+1),1,0),NODRAW;GT3:=BARSLAST(GT2=0 AND FG3<>1 AND FG31<>1 ),NODRAW;DT3:=BARSLAST(DT2=0 AND FD3<>1 AND FD31<>1),NODRAW;FG4:=BACKSET(REFX(GT3,1)=0 AND GT3<DT3 AND REFX(H,1)>=REF(H,GT3),GT3+1),NODRAW;FD4:=BACKSET(REFX(DT3,1)=0 AND DT3<GT3 AND REFX(L,1)<=REF(L,DT3),DT3+1),NODRAW;FG41:IF(GT3=0 AND REF(GT3,1)<DT3 AND H<REF(H,REF(GT3,1)+1),1,0),NODRAW;FD41:IF(DT3=0 AND REF(DT3,1)<GT3 AND L>REF(L,REF(DT3,1)+1),1,0),NODRAW; HHH:=GT3=0 AND FG31<>1 AND FG3<>1,NODRAW;LLL:=DT3=0 AND FD31<>1 AND FD3<>1,NODRAW;DRAWLINE1(HHH,H,LLL,L,0),COLORWHITE;DRAWLINE1(LLL,L,HHH,H,0),COLORWHITE;DX:=HHH||LLL;L1:CROSS(BACKSET(ISLASTBAR,SUMBARS(DX,3)),0.5);L2:CROSS(BACKSET(ISLASTBAR,SUMBARS(DX,2)),0.5);L3:CROSS(BACKSET(ISLASTBAR,SUMBARS(DX,1)),0.5);PP:=IF(HHH,H,IF(LLL,L,H));A1:=V ALUEWHEN(L1,PP);A2:=V ALUEWHEN(L2,PP);A3:=V ALUEWHEN(L3,PP);/*DRAWW A VERULER(L1,PP,L2,PP,L3,PP,0.382,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,0.5,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,0.618,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,1,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,1.5,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,1.618,COLORGRAY); DRAWW A VERULER(L1,PP,L2,PP,L3,PP,1.382,COLORGRAY);*/DRAWGOLDENLINE(L2,PP,L3,PP,0.382,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,0.5,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,0.618,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,1,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,1.5,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,1.618,COLORGRAY); DRAWGOLDENLINE(L2,PP,L3,PP,1.382,COLORGRAY);AA1:=REFX1((A2-A3)*0.382+A3,10000);AA2:=REFX1((A2-A3)*0.5+A3,10000);AA3:=REFX1((A2-A3)*0.618+A3,10000);AA4:=REFX1((A2-A3)+A3,10000);AA5:=REFX1((A2-A3)*1.5+A3,10000);AA6:=REFX1((A2-A3)*1.618+A3,10000);AA7:=REFX1((A2-A3)*1.382+A3,10000);DRAWNUMBER(ISLASTBAR,AA1,AA1,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA2,AA2,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA3,AA3,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA4,AA4,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA5,AA5,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA6,AA6,0,COLORWHITE),ALIGN0; DRAWNUMBER(ISLASTBAR,AA7,AA7,0,COLORWHITE),ALIGN0;DRAWNUMBER(L2,AA1,0.382,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA2,0.5,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA3,0.618,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA4,1,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA5,1.5,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA6,1.618,3,COLORWHITE),ALIGN2; DRAWNUMBER(L2,AA7,1.382,3,COLORWHITE),ALIGN2;。
文华财经(一键通)程序化交易系统使用指南
文华财经(一键通)程序化交易系统使用指南程序化交易是一种在计算机和网络技术的支持下,瞬间完成你预先设置好的组合交易指令的一种交易手段。
您可以将您的交易思路,通过文华提供的函数、语法及编辑平台,编写成交易模型,实现自动开仓、自动止损、自动止赢。
程序化交易在投资实战中不仅可以提高下单速度,而且可以帮助投资者在交易过程中避免受到情绪波动的影响,实现理性投资。
一键通2009的程序化交易功能在Webstock2008的基础上增加了追踪止损功能、在全自动状态下系统默认按照最后的信号方向执行,解决了交易指令消失不做任何处理的问题、使用算法交易确保下单成交、并且升级了效果测试和参数优化的功能,使程序化交易又前进了一步,让投资更加的轻松和快乐。
, 启动程序化交易进行自动交易, 打开交易软件,输入账号和密码, 启动自动交易模型,选择模型后点击加载或新建模型。
, 使用算法交易可以选择是否启用“追价下单”“分批下单”“超价下单”追价下单:如果下单没有成交,可以设置追价下单,单子在几秒钟之内没有成交,系统会自动撤单并按市场最新价追价下单,直至预设手数全部成交(也可设置追价范围,防范风险)。
(模型触发、价格价格条件单、画线条件单都可以支持追价下单) 分批下单:如果下单手数过大,启动分批下单,系统会根据默认的分批下单手数,将总手数分批下单。
超价下单: 在市价基础上调整[ ]最小变动价位,以提高成交几率。
算法交易参数的设置点击图中程序化交易窗口的红色方框可以对算法交易功能进行设置在下图中对算法交易参数进行设置“程序化交易自动下单”的其他设置说明:“按市价下单,下单手数” :模型每次下单的数量“只进行多头交易”:选择此项设置后,模型自动过滤掉卖开和买平的交易指令,只进行多头交易。
“只进行空头交易”:选择此项设置后,模型自动过滤掉买开和卖平的交易指令,只进行空头交易。
“双向交易”:选择此项设置后,模型可以发出买开、卖平、卖开和买平指令,进行双向交易。
交易模型编写教程
一、程序化交易的编写㈠、交易模型编写规范和一般原则1、编辑平台支持的操作符2、编辑平台支持的函数⑴引用数据⑵金融统计⑶数理统计⑷逻辑判断⑸数学运算⑹时间函数⑺绘图3、编辑平台可以使用的常数注:在公式内即使你定义了某种颜色,在显示的时候也未必是此种颜色,取决于背景颜色当前页面里是否保了该指标的颜色及您是否在显示的时候改变了该指标的颜色设置。
4、编辑平台的语法(1)关于公式名称:公式的名称不可以和已经存在的公式重复。
(2)关于参数:每个自编公式最多可以在参数设置栏中定义四个参数,参数的定义如下,首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值。
在定义参数时要注意的是参数名称不可以重复。
(3)关于变量名称:变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。
(4)关于公式内容:公式的每个语句应该以分号结束,包括最后一条语句。
在数据公式的时候请您注意一定要使用半角输入。
在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
(5)如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。
(6)IF ELSE:该语句只有Mytrader2009和Myadvisor(赢智)支持MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA30:=MA(CLOSE,30);IF(MA5>MA10)MA5,COLORRED;ELSE{IF(MA10>MA30)MA10,COLORMAGENTA;ELSEMA30,COLORGREEN;}以上内容表达 MA5、MA10、MA30三者中最大的数值。
(7)IFELSE(C,A,B)如果条件C成立则返回A值,否则返回B值例:IFELSE(CLOSE>REF(CLOSE,1),1,0);表示若今日收盘价高于前一日收盘价,则返回1,否则返回05、编辑平台使用的交易指令交易模型中的交易指令如下:期货交易指令股票、权证、外汇交易指令套利模型中的交易指令如下:注:在效果测试使用如下机制:连续的开仓指令只使用第一个指令进行开仓,开仓时使用当时的全部资金,连续的平仓指令,只有第一个有效,平掉当时的全部持仓,其他的平仓指令算做错误指令!6、快速入门★以下模型源码内容仅供编写参考使用,如用于交易使用,风险自负。
文华赢智程序化交易(WH3)编程函数手册
赢智(WH3)算法交易编程函数手册一、引用数据某合约当前价格。
Price(Code)返回合约Code的当前价格,Code为某合约的合约代码例:V AR price;//定义一个变量priceprice=Price("m1009"); //price的值为合约m1009的当前价格某合约当前均价。
AvPrice(Code) 返回合约Code的当前均价,Code为某合约的合约代码例:V AR avprice;//定义一个变量avpriceavprice=AvPrice("m1009"); //price的值为合约m1009的当前均价某合约当前最高价。
High(Code)返回合约Code的当前最高价,Code为某合约的合约代码例:V AR high;//定义一个变量highhigh=High("m1009"); //high的值为合约m1009的当前最高价某合约当前最低价。
Low(Code)返回合约Code的当前最低价,Code为某合约的合约代码例:V AR low;//定义一个变量lowlow=Low("m1009"); //low的值为合约m1009的当前最低价某合约的买卖盘报价。
Offers(Code,strContent) 返回某合约的买卖盘报价Code为某合约的合约代码(字符串), strContent为所要取得内容,可选以下内容"bid1~5","ask1~5","bidvol1~5","askvol1~5",分别表示买1-5 卖1-5 买1量- 5量卖1量-5量。
例:V AR bid1;bid1=Offers("m1009","bid1");//bid1为豆粕1009的当前买1价某合约最小变动价位。
文华独特的形态箱体交易策略模型[文华财经公式]
文华独特的形态箱体交易策略模型[文华财经公式] 文华独特的形态箱体交易策略模型BAA:=1;MA4:=EMA(CLOSE,10)*BAA;HH:=HHV(HIGH,5)*BAA;LL:=LLV(LOW,5)*BAA;H1:=IFELSE(CLOSE>REF(HH,1),1,0)*BAA;L1:=IFELSE(CLOSE<REF(LL,1),-1,0)*BAA;H0:=REF(HIGH,1)*BAA;L0:=REF(LOW,1)*BAA;P7:=H1+L1*BAA;P8:=IFELSE(P7=0,REF(P7,1),P7)*BAA;P9:=IFELSE(P8=0,REF(P8,1),P8)*BAA;P10:=IFELSE(P9=0,REF(P9,1),P9)*BAA;P11:=IFELSE(P10=0,REF(P10,1),P10)*BAA;P12:=IFELSE(P11=0,REF(P11,1),P11)*BAA;P13:=IFELSE(P12=0,REF(P12,1),P12)*BAA;P14:=IFELSE(P13=0,REF(P13,1),P13)*BAA;P15:=IFELSE(P14=0,REF(P14,1),P14)*BAA;P16:=IFELSE(P15=0,REF(P15,1),P15)*BAA;P17:=IFELSE(P16=0,REF(P16,1),P16)*BAA;P18:=IFELSE(P17=0,REF(P17,1),P17)*BAA;P19:=IFELSE(P18=0,REF(P18,1),P18)*BAA;P20:=IFELSE(P19=0,REF(P19,1),P19)*BAA;P21:=IFELSE(P20=0,REF(P20,1),P20)*BAA;P22:=IFELSE(P21=0,REF(P21,1),P21)*BAA;P23:=IFELSE(P22=0,REF(P22,1),P22)*BAA;P24:=IFELSE(P23=0,REF(P23,1),P23)*BAA;P25:=IFELSE(P24=0,REF(P24,1),P24)*BAA; P26:=IFELSE(P25=0,REF(P25,1),P25)*BAA; P27:=IFELSE(P26=0,REF(P26,1),P26)*BAA; P28:=IFELSE(P27=0,REF(P27,1),P27)*BAA; P29:=IFELSE(P28=0,REF(P28,1),P28)*BAA; P30:=IFELSE(P29=0,REF(P29,1),P29)*BAA; T:=IFELSE(P30=0,REF(P30,1),P30)*BAA;T=1,BPK;T=-1,SPK;AUTOFILTER;//赢顺去掉该行源码解析:BAA赋值:1MA4赋值:收盘价的10日指数移动平均*BAA HH赋值:5日内最高价的最高值*BAALL赋值:5日内最低价的最低值*BAAH1赋值:IFELSE(收盘价>昨日HH,1,0)*BAA L1赋值:IFELSE(收盘价<昨日LL,-1,0)*BAA H0赋值:昨日最高价*BAAL0赋值:昨日最低价*BAAP7赋值:H1+L1*BAAP8赋值:IFELSE(P7=0,昨日P7,P7)*BAAP9赋值:IFELSE(P8=0,昨日P8,P8)*BAAP10赋值:IFELSE(P9=0,昨日P9,P9)*BAAP11赋值:IFELSE(P10=0,昨日P10,P10)*BAA P12赋值:IFELSE(P11=0,昨日P11,P11)*BAAP13赋值:IFELSE(P12=0,昨日P12,P12)*BAA P14赋值:IFELSE(P13=0,昨日P13,P13)*BAA P15赋值:IFELSE(P14=0,昨日P14,P14)*BAA P16赋值:IFELSE(P15=0,昨日P15,P15)*BAA P17赋值:IFELSE(P16=0,昨日P16,P16)*BAA P18赋值:IFELSE(P17=0,昨日P17,P17)*BAA P19赋值:IFELSE(P18=0,昨日P18,P18)*BAA P20赋值:IFELSE(P19=0,昨日P19,P19)*BAA P21赋值:IFELSE(P20=0,昨日P20,P20)*BAA P22赋值:IFELSE(P21=0,昨日P21,P21)*BAA P23赋值:IFELSE(P22=0,昨日P22,P22)*BAA P24赋值:IFELSE(P23=0,昨日P23,P23)*BAA P25赋值:IFELSE(P24=0,昨日P24,P24)*BAA P26赋值:IFELSE(P25=0,昨日P25,P25)*BAA P27赋值:IFELSE(P26=0,昨日P26,P26)*BAA P28赋值:IFELSE(P27=0,昨日P27,P27)*BAA P29赋值:IFELSE(P28=0,昨日P28,P28)*BAA P30赋值:IFELSE(P29=0,昨日P29,P29)*BAA T赋值:IFELSE(P30=0,昨日P30,P30)*BAA T=1,BPKT=-1,SPKAUTOFILTER//赢顺去掉该行。
最新版文华策略加载步骤【范本模板】
文华8。
2版本策略加载步骤:加载策略可按以下要点进行:导入策略—打开K 线-补充数据—设置手数—设置时间-加载策略下面介绍具体操作方法:1。
启动软件,单击“账户”|“登录”|“国内期货下单”菜单,登录账号。
2。
弹出登录窗口,输入资金账号、密码及验证码,单击“注册/找回模拟交易登录账号"超链接,在弹出的网页里注册模拟账号.3。
单击“编写”|“编写趋势策略"命令4。
在弹出的窗口中选择“文件"|“导入"命令。
5。
选择发给您的策略,单击“打开”按钮(不用解压缩)。
导入成功后关闭策略编写窗口.6. 打开合约,系统默认为日K 线,在K 线图空白位置右击,在弹出的快捷菜单中选择“分析周期”|“自定义分析周期”命令。
(常用周期可在“分析周期”子菜单下直接选择)7。
启用自定义分析周期,输入周期数,这里设置为2分钟周期,单击“应用”按钮,关闭该对话框。
8. 切换到2分钟周期上,在K 线图空白位置右击,在弹出的快捷菜单中选择“设置技术指标"命令。
9。
弹出对话框,选择“MA 组合”选项,单击“卸载”按钮,单击“确定”按钮。
10.返回K 线图,再次右击,选择“补充历史数据”命令11. 单击“下载"按钮,使本机数据至少在30天以上。
12.下载完毕单击“确定"按钮。
13。
返回K 线图,在回测工作区中单击“重设回测参数”按钮。
14. 设置回测手数,或者需要开仓的手数。
实盘中,资金和手续费不用管。
15。
返回K 线图右击,在弹出的快捷菜单中选择“设置技术指标”命令。
16。
选择导入的策略,单击“加载”按钮,单击“确定”按钮.17. 返回K 线图,在回测工作区设置“信号计算开始时间”参数,30个交易日左右即可,不能少于20个交易日。
18. 设置完毕,单击“重新回测”按钮。
19. 单击软件左下角“全自动运行模组”按钮。
20。
启动模组,然后将其最小化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、程序化交易的编写㈠、交易模型编写规范和一般原则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 引用收盘价(在盘中指最新价),也可简写为 CHIGH 引用最高价,也可简写为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的合约品种的最新价。
PARAM [参数名称,最小值,最大值,缺省值] 在源码中定义参数。
例:PARAM[N,1,100,12]MAN:MA(CLOSE,N);表示参数为N ,最小值为1,最大值为100,缺省值为12.#IMPORT [CODE,PERIOD,FORMULA] AS V AR (Mytrader2009和Myadvisor (赢智)支持) #IMPORT[CODE,PERIOD,FORMULA]ASV AR;CODE 文华码PERIOD 周期FORMULA引用模型名V AR 定义变量名例子:#IMPORT [1205,MIN5,TEST] AS M1005意思是引用[豆粕1005] 五分钟图上指标[TEST.FML] 的数据使用的方法:如当前存在一个指标TEST.FML//TEST.FMLCL:=CLOSE;OP:=OPEN;我想在新建的指标 TEST1中引用[豆粕1005] 五分钟周期上指标[TEST.FML] 的数据可以如下编写TEST1指标//TEST1.FML#IMPORT [1205,MIN5,TEST] ASV ARTESTDD:V ARTEST.CL;DF:V ARTEST.OP;引用的约束1.只能引用 .FML 文件2.只能引用如下周期 MIN1 MIN3 MIN5MIN10 MIN15 MIN30 HOUR1 HOUR3HOUR8 DAY WEEK MONTH3.只能短周期引用长周期比如不能日线周期上加载引用了分钟数据的指标。
4.被引用的指标中不能存在引用⑵金融统计BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。
『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1BARSLAST(X) 求上一次条件成立到当前的周期数。
COUNT(X,N) 表示统计在N周期内满足X条件的周期数。
如果N为0则表示从已申请到的数据的第一天开始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数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) 表示求X在N周期内的平滑移动平均。
(指数加权)计算方法:EMA(X,N)=[2*X+(N-1)*EMA(X,(N-1))]/(N+1) 其中EMA(X,(N-1))为第(N-1)天的EMA值EMA2(X,N) 表示求X在N周期内的加权平均。
(线性加权)计算方法:EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2+...+1*XN)/(N+(N-1)+(N-2)+...+1),X0表示本周期值,X1表示上一周期值...HHV(X,N) 得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHV(HIGH,13);求13个周期内的最高价的最大值。
HHVBARS(X,N) 得到X在N周期内的最高值位置到当前的周期数。
如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHVBARS(VOL,0); 求历史成交量最大的周期到当前的周期数LLV(X,N) 得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:LLV(LOW,25);表示求25个周期内最低价的最小值LLVBARS(X,N) 得到X在N周期内的最小值的位置到当前的周期数。
如果N=0则从本地数据的第一个有效周期开始算起。
例:LLVBARS(VOL,0); 求历史成交量最小的周期到当前的周期数MA(X,N) 求X在N周期内的简单移动平均。
计算方法:MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均ZIGZAG(X,P,N) 之字转向,当X变化量超过P时转向,当N取1,P为百分比数;当N取0,P为价位差值绝对值。
『未来函数』例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向PEAK(X,P,M,N) 取得ZIGZAG前M个波峰的值。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值PEAKBARS(X,P,M,N) 取得ZIGZAG前M个波峰到当前周期的周期数。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数TROUGH(X,P,M,N) 取得ZIGZAG前M个波谷的值。
其中X为数据,P为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值TROUGHBARS(X,P,M ,N) 取得ZIGZAG前M个波谷到当前周期的周期数。
其中X为数据,P 为转折值(如果N为1,这个值为百分比数,否则为价位差值绝对值),M为大于等于1的整数。
『未来函数』TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数SAR(N,Step,Max) 得到抛物转向值。
N为计算周期,Step为步长,Max为极值。
(系统函数,计算步骤后台自动完成)例:SAR(17,0.03,0.3);表示计算17个周期抛物转向,步长为3%,极限值为30%SMA(X,N,M) 得到X在N个周期内的移动平均,M为权重(M为常数)。
计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/NSUM(X,N) 得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起。
例: SUM(VOL,10);表示统计10周期内的成交量总和SUMBARS(X,A) 得到X向前累加直到大于A时的周期数。
TRMA(X,N) 求X在N周期内的三角移动平均。
TSMA(X,N) 求X在N周期内的时间序列移动平均。
计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)⑶数理统计A VEDEV(X,N) 求X在N周期内的平均绝对偏差。
DEVSQ(X,N) 数据偏差平方和。
FORCAST(X,N) 得到X的N周期线性回归预测值。
例:FORCAST(CLOSE,5);表示求5周期线性回归预测SLOPE(X,N) 得到X在N周期内的线性回归的斜率例:SLOPE(CLOSE,5);表示求5周期线性回归线的斜率STD(X,N) 得到X在N周期内的标准差STDP(X,N) 得到X在N周期内的总体标准差V AR(X,N) 得到X在N周期内的样本方差V ARP(X,N) 得到X在N周期内的总体样本方差数理统计举例说明:设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。
数列的内容为:{2766,2805,2814,2886,2885}。
1、算术平均值MA(CLOSE,5):数据总和除以总个数N。
(2766+2805+2814+2886+2885)/5=2831.20。
可以用公式MA(CLOSE,5),从今天的值上看出。
2、偏差:每个数据,减去算术平均值的结果。
2766-2831.20=-65.2,2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8, 2885-2831.20=53.8, 各偏差相加,应该是等于0的。
3、平均绝对偏差A VEDEV(X,N):将偏差的绝对值相加,除以总个数N。
(65.2+26.2+17.2+54.8+53.8)/5=43.44。
4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。
(-65.2)²+(-26.2)²+ (-17.2)²+ (54.8)²+ (53.8)²=11130.80。