文华财经程序化交易

合集下载

文华赢智wh8特色功能说明..

文华赢智wh8特色功能说明..

有效控制下单成本
滑点设置,滑点就是委托价格和成交价格的差值 滑点原理:分批下单时,每一批次下单之前,系统自动判断 最新价差是否偏离交易触发时的价差,当最新价差超过设定 的范围时,后面批次自动停止。当最新价差回到设定的范围 内时,后面的批次自动继续下单,从而将交易成本控制在一 定的范围内。
祝交易愉快
第二部分日内高频交易系统 介绍
系统的打开: “程序化”“日内高频”便可调出 “日内高频”窗口。 窗口分类: “合约列表”、“图表窗口”、“模型 信号列表”及“持仓信息列表”。
合约的建立
点击窗口左侧“添加”按钮,设置好合约、图表日 期等内容后便完成了“日内高频”图表的建立。

合约名称:确定建立某个合约的图表; 大单设置:设置后图表会在满足“大单”条件位置进行标注,此 处可以由系统“自动”判断,也可以选择“手动”自己填写; 申请日期:调用该合约某一天数据(今天或历史数据); 显示密度:图表数据的显示密度可以根据实际需要在疏、中及密 三档中进行调整; 重复以上操作可完成多个“日内高频”图表的建立,所添加图表 都会显示在窗口左侧“合约列表”中,双击列表或点击“图表窗 口”上方的标签可完成图表间切换。
模组测试与运行
在模组中有三个组群每个组群可加载36个模型,利用大量的模 型和理论的资金可以实现程序化交易的研究与改进。 模组的加载方式:程序化自动交易运行模组一号组群 模组新建第一步,定义数据区第二步,加载参数第 三步,下单精细控制第四步,模型参数修改第五步,保证 金参数。
模组加载与运行中的注意事项
注意:分批策略 A 每批下一份:当一份套利合约的两腿手数全 部成交以后,下一份才开始下单,保证每一批次结束时双边持 仓。 分批策略 B 每批份数根据盘面买卖量自动确定:每一批次, 系统根据两腿合约盘面的买卖量自动调整,每批次根据较小的 买量或者卖量发出委托,保证双边持仓的同时,提高分批下单 效率。 程序化组件下单:由程序化下单组件来对下单进行控制。

文华财经程序化交易应用指南

文华财经程序化交易应用指南

⽂华财经程序化交易应⽤指南⼀、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、可以主观⼲预。

文华财经程序化指标

文华财经程序化指标

文华财经程序化指标程序化交易是指利用计算机程序进行交易决策和执行交易的一种交易方式。

程序化交易的发展可以追溯到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线)和慢速移动平均线(信号线)组成。

MACD指标的交叉和MACD柱的变化可以用来判断价格的趋势反转和确认市场的转势。

当MACD线上穿信号线时,表示市场处于多头行情;当MACD线下穿信号线时,表示市场处于空头行情。

最后是布林带指标(Bollinger Bands)。

文华财经wh8程序化半自动82版使用说明后台程序化工作机理当我们

文华财经wh8程序化半自动82版使用说明后台程序化工作机理当我们

文华财经wh8程序化半自动8.2版使用说明后台程序化工作机理当我们进行程序化交易的时候可能还想做点儿别的事情,比如看盘、做些技术分析、看些新闻等。

那么问题来了,程序化要占用K 线图,界面不能动,怎么做其他事情呢?这个时候,后台程序化的优势就体现出来了。

这种后台运行技术相当于在运行程序化时单独再开启一个工作台,和主窗口K线图之间相互独立,要看它时把它从后台调出来,不看时放到后台,它会自己运行。

类似于我们在手机上使用QQ、微信等软件,既可以用手机做别的事情,又不影响他们在后台运行。

随时使用随时调取并能够清楚的看到程序化运行的信号,交易信息才能算的上市真正的后台运行。

页面盒子一些基础的策略模型需要在每根K 线走完的时候按照出现的信号方向下单,我们把这种模型叫做收盘价模型。

页面盒子是运行收盘价策略模型的功能载体,适合需要部分手动辅助或结合图表分析的程序化用户。

多窗口运行程序化交易模型在盒子中运行程序化交易模型(不可含资金管理函数),当需要同时管理多品种时,可将各盒子平铺显示。

全自动运行的盒子由电脑独立完成全部交易过程,半自动运行的盒子会在模型满足下单条件时提示下单,交易者手动确认执行。

控制多账号程序化全自动交易将多个帐号与盒子关联后,当模型向盒子发出自动交易指令时,被关联的帐号即可下单。

提示:关联了盒子的交易帐号可设置不同的交易手数加载页面盒子隐藏程序化运行窗口在程序化功能模块中有一个关闭(X )按钮,这个关闭按钮就可以让该模块到后台运行。

页面盒子的后台运行按钮在盒子列表的右上角:调出程序化运行窗口 图中红框内按钮为页面盒子,点击这个按钮就可以把他们从后来调出。

它在软件的最左侧边栏处。

套利交易套利交易是指在两个不同的市场中,以有利的价格同时买进或卖出同种或本质相同的证券的行为。

投资组合中的金融工具可以是同种类的也可以是不同种类的。

在市场实践中,套利一词有着与定义不同的含义。

实际中,套利意味着有风险的头寸,它是一个也许会带损失,但是有更大的可能性会带来收益的头寸。

文华财经程序化交易

文华财经程序化交易

1、趋势转变如何表示?以均线拐头为例:MA10:=MA(CLOSE,10);{定义10周期均线}MA10>REF(MA10,1)&&REF(MA10,1)>REF(MA10,2)&&REF(MA10,3)>REF(MA10,2)&&R EF(MA10,4)>REF(MA10,3);{表示上拐}MA10<REF(MA10,1)&&REF(MA10,1)<REF(MA10,2)&&REF(MA10,3)<REF(MA10,2)&&R EF(MA10,4)<REF(MA10,3);{表示下拐}2、交*(金*/死*)如何表示?以均线交*为例:MA5:=MA(CLOSE,5);{5个周期收盘价的简单移动平均} MA10:=MA(CLOSE,10);{10个周期收盘价的简单移动平均} MA20:=MA(CLOSE,20);{20个周期收盘价的简单移动平均} CROSS(MA10,MA20),BK;{当MA10上穿MA20时,发出买入开仓交易指令} CROSS(MA10,MA5),SP;{当MA10上穿MA5时,发出卖出平仓交易指令} CROSS(MA20,MA10),SK;{当MA20上穿MA10时,发出卖出开仓交易指令} CROSS(MA5,MA10),BP;{当MA5上穿MA10时,发出买入平仓交易指令}3、价差如何表示?以最新价和均线价差为例: MA5:=MA(CLOSE,5);{5个周期收盘价的简单移动平均} MA10:=MA(CLOSE,10);{10个周期收盘价的简单移动平均}CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令} (MA5-CLOSE)>6,BP;{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令}CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令} (CLOSE-MA5)>6,SP;{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}{{}内为文字说明,编写模型时不用写出}4、如何在模型中限制开平仓时间?MA5:=MA(CLOSE,5); {定义5周期的简单移动平均线}MA10:=MA(CLOSE,10); {定义10周期的简单移动平均线}TIME>=0905&&CROSS(MA5,MA10),BK;{在9点05分后出现5周期线金*10周期线后买开} CROSS(TIME,1457),BP;{当时间到14点58分时自动发出买平指令} TIME>=0905&&CROSS(MA10,MA5),SK;{在9点05分后出现5周期线死*10周期线后卖开} CROSS(TIME,1457),SP;{当时间到14点58分时自动发出卖平指令}5、KDJ模型雏形RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;{定义RSV}K:=SMA(RSV,M1,1); {定义K} D:=SMA(K,M2,1); {定义D} J:=3*K-2*D; {定义J} J<30&&CROSS(K,D),BPK;{J值小于30并且K、D金*,买平并买开}J>70&&CROSS(D,K),SPK; {J值大于70并且K、D死*,卖平并卖开}6、MACD模型雏形DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);{定义DIFF}DEA := EMA(DIFF,M);{定义DEA}(DIFF<0)&&(DEA<0)&&(CROSS(DIFF,DEA)),BPK;{DIFF小于0并且DEA小于0并且DIFF上穿DEA,买平并买开}(DIFF>0)&&(DEA>0)&&(CROSS(DEA,DIFF)),SPK;{DIFF大于0并且DEA大于0并且DIFF下穿DEA,卖平并卖开}7、MTM模型雏形MTM:=CLOSE-REF(CLOSE,N);{定义MTM} CROSS(MTM,0),BPK;{MTM上穿0轴,买平并买开} CROSS(0,MTM),SPK;{MTM下穿0轴,卖平并卖开}8、RSI模型雏形LC:=REF(CLOSE,1);{定义LC}RSI1:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)*100;{定义RSI1} RSI2:=SMA(MAX(CLOSE-LC,0),M,1)/SMA(ABS(CLOSE-LC),M,1)*100;{定义RSI2} REF(RSI1,1)<40&&CROSS(RSI1,RSI2),BPK;{上一个周期的RSI1<40并且RSI1上穿RSI2,买平并买开} REF(RSI1,1)>60&&CROSS(RSI2,RSI1),SPK;{上一个周期的RSI1>60并且RSI1下穿RSI2,卖平并卖开}9、WM模型雏形RSV:= (CLOSE-HHV(HIGH,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;{定义RSV} LWR1:=SMA(RSV,3,1);{定义LWR1} LWR2:=SMA(LWR1,3,1);{定义LWR2} CROSS(LWR1,LWR2),BPK;{LWR1上穿LWR2,买平并买开}CROSS(LWR2,LWR1),SPK;{LWR1下穿LWR2,卖平并卖开}10、SAR模型雏形SARLINE:=ABS(SAR(N,STEP,MVALUE));{定义SARLINE}CROSS(CLOSE,SARLINE),BPK;{最新价上穿SARLINE,买平并买开}CROSS(SARLINE,CLOSE),SPK;{最新价下穿SARLINE,卖平并卖开}我所说的解决信号反复问题,是指那种K线运行中途交易信号来回反复的问题,K线走完之后信号即固定下来,也就是收盘价模型的信号在K线中途反复现象。

3、文华财经程序化交易编程函数

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

3、文华财经程序化交易编程函数

3、文华财经程序化交易编程函数
得到抛物转向值。N 为计算周期,Step 为步长,Max 为极值。 (系统函数,计算步骤后台自动完成) 例:SAR(17,0.03,0.3);表示计算 17 个周期抛物转向,步长为 3%,极限 值为 30%。
得到 X 在 N 个周期内的移动平均,M 为权重(M 为常数)。 计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N。
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 个价位的之字转向的上一个波谷的 数值。
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 个 价位的之字转向的上一个波峰到当前的周期数。
以上内容表达 MA5、MA10、MA30 三者中最大的数值。
3、编辑平台支持的函数 ⑴引用数据
AVPRICE
SETTLE
引用均价(在盘后对于国内三个期货交易所指结算 价)
引用昨天的结算价(只显示当天时间的上日结算 价。)

文华财经程序化交易初级教程

文华财经程序化交易初级教程

注:此教程适用于赢智Wh8和乐期Wh4。

目录第一章公式系统介绍 (1)第二章模型编写语法与规则 (4)2.1 数据引用 (4)2.2 模型编写语法 (8)2.3 模型基本结构 (14)第三章一般模型编写示例 (18)3.1 条件描述 (18)3.2 K线形态描述 (20)3.3 技术指标范例 (24)3.4 价量走势编写范例 (29)3.5 盘中动态编写范例 (31)3.6 趋势类模型编写范例 (32)3.7 振荡类模型编写范例 (36)3.8 公式条件单范例 (37)3.9 常见模型公式编写问题 (40)第四章复杂模型编写示例 (42)4.1 跨指标模型 (42)4.2 跨周期模型 (44)4.3 分组指令 (47)4.4 日内模型 (48)4.5 TICK模型 (51)4.6 止损模型 (54)第五章模型的回测 (56)5.1模型回测 (56)5.2 参数优化 (60)5.3 日志检索 (66)第六章如何优化你的策略 (67)6.1 PANZHENG函数, 减少盘整行情中的交易次数 (67)6.2 TRADE_OTHER函数,在指数交易中的应用 (73)6.3 CHECKSIG函数,实现更具有优势进场价格 (73)6.4 MULTSIG函数,在一根k线上灵活进出 (73)第七章后台程序化 (73)7.1 后台程序化工作机理 (74)7.2 页面盒子 (74)7.3 运行模组 (77)7.4 盘口模型运行池 (77)第八章多账号下单 (77)第九章套利交易 (81)第十章软件的一些基本操作 (91)附录1:麦语言趋势模型函数列表 (100)附录2:交易测评报告术语详解 (222)附录3:图表分析各图表项说明 (225)第一章公式系统介绍软件的公式系统是一套功能强大、使用方便的计算机描述系统。

可供引用的函数近500个。

可以说其它软件能做的,该软件都能做到,而且能做得更好,更贴近实盘。

用户可以通过期货交易所和证券交易所发送的实时行情数据和软件保存的历史数据按照简单、复杂的运算法则进行分析、筛选、系统测试和自动交易,在软件中提供了用于公式编写的编辑器:交易系统公式编辑器交易系统旨在建议一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等做出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、趋势转变如何表示?以均线拐头为例:MA10:=MA(CLOSE,10);{定义10周期均线}MA10>REF(MA10,1)&&REF(MA10,1)>REF(MA10,2)&&REF(MA10,3)>REF(MA10,2)&&R EF(MA10,4)>REF(MA10,3);{表示上拐}MA10<REF(MA10,1)&&REF(MA10,1)<REF(MA10,2)&&REF(MA10,3)<REF(MA10,2)&&R EF(MA10,4)<REF(MA10,3);{表示下拐}2、交*(金*/死*)如何表示?以均线交*为例:MA5:=MA(CLOSE,5);{5个周期收盘价的简单移动平均} MA10:=MA(CLOSE,10);{10个周期收盘价的简单移动平均} MA20:=MA(CLOSE,20);{20个周期收盘价的简单移动平均} CROSS(MA10,MA20),BK;{当MA10上穿MA20时,发出买入开仓交易指令} CROSS(MA10,MA5),SP;{当MA10上穿MA5时,发出卖出平仓交易指令} CROSS(MA20,MA10),SK;{当MA20上穿MA10时,发出卖出开仓交易指令} CROSS(MA5,MA10),BP;{当MA5上穿MA10时,发出买入平仓交易指令}3、价差如何表示?以最新价和均线价差为例: MA5:=MA(CLOSE,5);{5个周期收盘价的简单移动平均} MA10:=MA(CLOSE,10);{10个周期收盘价的简单移动平均}CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令} (MA5-CLOSE)>6,BP;{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令}CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令} (CLOSE-MA5)>6,SP;{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}{{}内为文字说明,编写模型时不用写出}4、如何在模型中限制开平仓时间?MA5:=MA(CLOSE,5); {定义5周期的简单移动平均线}MA10:=MA(CLOSE,10); {定义10周期的简单移动平均线}TIME>=0905&&CROSS(MA5,MA10),BK;{在9点05分后出现5周期线金*10周期线后买开} CROSS(TIME,1457),BP;{当时间到14点58分时自动发出买平指令} TIME>=0905&&CROSS(MA10,MA5),SK;{在9点05分后出现5周期线死*10周期线后卖开} CROSS(TIME,1457),SP;{当时间到14点58分时自动发出卖平指令}5、KDJ模型雏形RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;{定义RSV}K:=SMA(RSV,M1,1); {定义K} D:=SMA(K,M2,1); {定义D} J:=3*K-2*D; {定义J} J<30&&CROSS(K,D),BPK;{J值小于30并且K、D金*,买平并买开}J>70&&CROSS(D,K),SPK; {J值大于70并且K、D死*,卖平并卖开}6、MACD模型雏形DIFF := EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);{定义DIFF}DEA := EMA(DIFF,M);{定义DEA}(DIFF<0)&&(DEA<0)&&(CROSS(DIFF,DEA)),BPK;{DIFF小于0并且DEA小于0并且DIFF上穿DEA,买平并买开}(DIFF>0)&&(DEA>0)&&(CROSS(DEA,DIFF)),SPK;{DIFF大于0并且DEA大于0并且DIFF下穿DEA,卖平并卖开}7、MTM模型雏形MTM:=CLOSE-REF(CLOSE,N);{定义MTM} CROSS(MTM,0),BPK;{MTM上穿0轴,买平并买开} CROSS(0,MTM),SPK;{MTM下穿0轴,卖平并卖开}8、RSI模型雏形LC:=REF(CLOSE,1);{定义LC}RSI1:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)*100;{定义RSI1} RSI2:=SMA(MAX(CLOSE-LC,0),M,1)/SMA(ABS(CLOSE-LC),M,1)*100;{定义RSI2} REF(RSI1,1)<40&&CROSS(RSI1,RSI2),BPK;{上一个周期的RSI1<40并且RSI1上穿RSI2,买平并买开} REF(RSI1,1)>60&&CROSS(RSI2,RSI1),SPK;{上一个周期的RSI1>60并且RSI1下穿RSI2,卖平并卖开}9、WM模型雏形RSV:= (CLOSE-HHV(HIGH,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;{定义RSV} LWR1:=SMA(RSV,3,1);{定义LWR1} LWR2:=SMA(LWR1,3,1);{定义LWR2} CROSS(LWR1,LWR2),BPK;{LWR1上穿LWR2,买平并买开}CROSS(LWR2,LWR1),SPK;{LWR1下穿LWR2,卖平并卖开}10、SAR模型雏形SARLINE:=ABS(SAR(N,STEP,MVALUE));{定义SARLINE}CROSS(CLOSE,SARLINE),BPK;{最新价上穿SARLINE,买平并买开}CROSS(SARLINE,CLOSE),SPK;{最新价下穿SARLINE,卖平并卖开}我所说的解决信号反复问题,是指那种K线运行中途交易信号来回反复的问题,K线走完之后信号即固定下来,也就是收盘价模型的信号在K线中途反复现象。

将收盘价模型通过模型编写,改成K线中途出现信号即固定不再反复的即时指令价自动交易模型。

在谈到过收盘价模型与指令价模型的优缺点,各有利弊。

收盘价模型有两种执行方法:一是等到K线即将走完的瞬间手工执行它,执行出来的交易与模型没什么偏差,仅有正常的执行滑点而已;二是选择“K线走完再发出指令”的方法,可以做到自动交易,不过,所有的交易全部都移到下一个K的开盘价上了。

这样做,执行的交易与模型偏差过大,纯日内小周期还好,若是周期偏大的隔夜交易模型,信号在当天最后一个K出现,则自动交易点落在隔夜的次日开盘价上,期货品种都有特殊的隔夜跳空特点,这无法回避,可以想到采用这个方法做自动交易的结果如何了。

有人要问是否有比这个选项更好的方法呢?当然是有,就是通过模型编写,使交易信号在K线运行的中途,一旦出现则立刻固定下来不再有任何变化,且对应信号触发的唯一价。

这样做出来的全自动交易模型,实盘执行出来的交易与模型就没有偏差了,也仅是正常的执行滑点而已。

其实彻底解决这个信号反复问题,并不深奥也并不是想象的真那么复杂,所以我所提供的全部彻底解决方案,学费也不高。

有些朋友也跟我一样早就彻底解决了,并一直应用在自己的实盘全自动上。

讲义&&学习笔记第一节交易模型的编写方法主讲人:文华财经资讯有限公司培训部总监施巍巍第二节交易模型的实践精析主讲人:中航期货经纪有限公司总经理王建斌第三节如何应用程序化交易主讲人:北京国瑞煊投资管理有限公司总经理李斌第四节交易模型的实战与交流主讲人:文华财经资讯有限公司培训部总监施巍巍第一节交易模型的编写方法ABC文华财经资讯有限公司培训部总监施巍巍一、关于程序化交易的基本概念规范交易模型:指能够发出BK、SP等交易指令但是不绘出图线的公式,模型还包含止损、止赢,交易手数等与交易、资金使用相关的参数设置。

交易模型是一个交易范畴的概念。

指标:也叫技术指标,指能够绘出图线但是不发出交易指令的公式。

指标是一个技术分析范畴的概念。

公式:泛指指标、模型。

不建议大家使用这个词,因为大家搞不明白你说的到底是指标还是交易模型。

交易系统:这个词太笼统,不建议使用这个词。

有时候指的是指标,有的时候指的是模型,有的时候指的是存在心中的交易思想和经验,有的时候还指交易软件。

交易信号:指技术指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。

投资者需要按照信号指示去手动委托下单。

交易信号是一个技术分析范畴的概念。

交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。

交易指令在K线图上以不用颜色和形状的箭头来代表。

交易指令是一个程序化交易范畴的概念。

二、关于交易模型的优化迷思⒈交易模型是否应当分品种,还是包打天下?⒉交易模型是否应当分市况:振荡市、趋势市,但如何是的话如何来界定振荡市和趋势市呢?⒊交易模型是否应当进行参数优化,是不是最优参数就能最适合未来呢?(目前文华公布优化结果时只显示最优参数,下一步改版将给出全部结果)⒋日内交易信号出现后又消失,如何解决?⒌如何处理趋势交易系统在振荡市中给出的错误信号带来的交易损失?⒍不同交易时间框架的交易模型,发生信号对立,是否锁仓?三、如何编制“金叉、死叉类”交易模型?以5日均线、10日均线、20日均线为例:MA5:=MA(CLOSE,5);{定义了一个变量,代表5个周期收盘价的移动平均,带=号的不画线,否则将成为技术指标中的一条线,CLOSE代表收盘价的意思,MA代表取平均值的意思}MA10:= MA(CLOSE,10);MA20:= MA(CLOSE,20);CROSS(MA10,MA20)&&TIME>0910,BK;{CROSS为常用函数,代表穿越;&&表示“并且”的关系;TIME表示时间,此处意即9:10前不开多仓;BK 代表买入开仓}CROSS(MA10,MA5)||CROSS(TIME,1450),SP;{||表示“或者”的关系,此处意即14:50前平仓,日内冲销;SP代表卖出平仓}CROSS(MA20,MA10),SK;{SK代表卖出开仓}CROSS(MA5,MA10)||CROSS(TIME,1450),SP,BP;{BP为买入平仓}四、如何将自己熟悉的技术指标转换为交易模型?技术分析的主要工具是技术指标,而期市投机者大多都有自己的指标偏好,程序化交易的最大好处除了克服人性的弱点之外,就是一致性与高效率,只要将自己对技术指标的应用理念转换为交易模型,早上打开电脑、晚上回家数钱即可,人生到此境界,复复何求?!以MACD指标为例:第一步:将文华技术指标MACD的源代码COPY到交易模型中。

相关文档
最新文档