B3统测试MT4平台智能交易系统(图文教程)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
报告中色彩的含义
灰色- 原有的模型 粉色- 完全的不规则碎片模型 H4模型 H1模型 M30模型 M15模型 M5模型 M1模型
总结
1、针对1个EA要做多种时间周期、多种时间段的测试。每个时间周期、时间段 的报告都要做个记录。历史总有很多相似之处,系统测试是必要的。 2、由于历史记录不含时间点的数据,因此测试结果并不十分可信,只要是大致 符合你的要求就行。 3、网上有大量兜售EA的信息,而且都附有图表,号称20天翻番,半年翻100倍 的比比皆是,请慎重对待。最好是自己能懂得编写一点EA程序,让EA更加符合 自己的意愿。 4、请务必相信“电脑不如人脑”这句话,我的建议是半自动化使用EA,即时使 用了EA自动交易,也要认真盯盘。 5、在投入到真钱操盘前,切记先用模拟帐号反复演练。
新增测试报告标签
结果
“结果”标签中显示了测试的每个交易记录
净值图
“净值图”标签中显示了测试的资金变化过程
报告
“报告”标签中显示EA在指定时间段内的全部财务情况
报告中各项指标说明1
经过测试的柱数(Bars in test):以模型为基础,显示历史的深度。 用于复盘的即时价数量(Ticks modelled):显示模型次序的大小。 每一个记录的 次序代表柱的当前或另一时刻状态 (OHLCV)。 不同柱的状态取决于时间范围,模 型方法,和从较小时间段内的柱的历史数据。 复盘模型的质量(Modelling quality):按照以下的公式进行计算: ModellingQuality = ((0.25*(StartGen-StartBar) + 0.5 *(StartGenM1-StartGen) + 0.9 *(HistoryTotal-StartGenM1)) / (HistoryTotal-StartBar))*100%; 其中: HistoryTotal - 在历史中的总数额; StartBar - 开始测试柱的数字。模型开始于最小的第101个柱或者测试水平 初始日期相关的柱; StartGen - 在最近的时间范围内开始测试柱的数字; StartGenM1 - 在原有分钟内开始测试柱的数字; 另外: 对于最近时间范围数据库模型的开始和最近时间范围数据模型的开始存在 重量系数0. 25的区别; 对于最近时间范围数据库模型的开始和最近时间范围数据模型的开始在 原有分钟内存在重量系数0. 5的区别; 在原有时间上模型的开始和历史数据的末尾之间重量系数0.9的区别。
赢利与最大资金回撤比
评价一种交易模型的获利能力,不能单纯看收益率,而应 该同时更加关注赢利与最大资金回撤比。比值越高说明赢 利能力越强。
盈亏比:一定时间段内赢利值与亏损值的比率。 赢利与最大资金回撤比:
人工神经网络
报告中各项指标说明4
最大获利交易(Largest profit trade):赢利交易中获得的最大获利。 最大亏损交易(Largest loss trade):亏损交易中获得的最大亏损。 平均获利交易(Average profit trade):赢利交易中赢利的平均数 (净赢利值 / 赢 利交易)。 平均亏损交易(Average loss trade):亏损交易中亏损的平均数(净亏损值 / 亏损 交易)。 最大连续获利金额(Maximum consecutive wins (profit in money)):在这一系列 赢利总数和交易的赢利系列中最大连续盈利。 最大连续亏损金额(Maximum consecutive losses (loss in money)):在这一系列 亏损总数和交易的亏损系列中最大连续损失。 最多连续获利次数(Maximal consecutive profit (count of wins)):在交易总数中 最大连续交易的赢利。 最多连续亏损次数(Maximal consecutive loss (count of losses)):在交易总数中 最大连续交易的赢利。 平均连续获利数(Average consecutive wins):赢利系列中连续盈利的平均数。 平均连续亏损数(Average consecutive losses):亏损系列中连续损失的平均数。
怎么样,有点“蠢蠢欲动”了吧,敬请期待下一个PPT: 《MT4编程入门》
附录:几个Fra Baidu bibliotek学概念
虽然汇市千变万化,但是任然有规律可循。我们需要从历史数据中寻 找规律,面对庞大的数据,唯有统计数学的理论能使我们理清头绪。 我们经常使用的技术指标其实就是统计数学的实际应用。 我们不能保证自己每单都赢,但能确保长期从汇市获利。 了解一点统计数学的概念,对评判EA、系统测试都有极大的帮助。下 面列举了4个数学概念,并尽量给予简单的介绍,起到一个抛砖引玉 的作用。 1. 2. 3. 4. 过适 k-折交叉验证 赢利与最大资金回撤比 人工神经网络
历史数据准备3
记录每个时间周期的起始时间: 货币对:USDJPY 时间周期 起始时间
月线 MN 周线 W1
日线 D1 4小时线 H4 1小时线 H1 30分钟线 M30 15分钟线 M15 5分钟线 M5 1分钟线 M1
1988-12-1 1990-6-29
1993-5-25 2006-4-21 2009-2-27 2009-8-27 2009-11-26 2009-12-29 2010-2-4
系统测试 MT4平台智能交易系统
图文教程
本PPT采用Office2007编制
预备知识1
什么是EA? 英文Expert Advisors 的缩写,中文意思专家顾问,俗称智能交易系统。它 是一种操盘软件,大多基于MT4平台,运行时可由电脑代替交易员下单, 从而实现机器自动交易。 为什么要用EA? 做过外汇的人都知道许多订单输在了人性的弱点上,该斩仓的不斩仓, 该获利的不获利。利用EA制定一套符合自己交易习惯和交易计划的程序, 就是能最大限度的回避人性弱点,加强做单的计划性和纪律性。 什么是好的EA? 严格地说,没有“好”的EA,只有“合适”的EA。市场是千变万化的, 我们不能迷信任何一种EA。要想拥有一套合适自己的EA,都必须经过两 个阶段,一是系统测试,二是模拟演练。
设置
选择要测试的EA 选择要测试的货币对 选择要测试的时间周期 初始化测试参数
选择要测试的EA 一般选择“即时价位”
滑条移动位置 决定了复盘速度
选择测试时间段 根据历史数据做选择
显示所选货币对的交易 属性
做完所有的设置后,按“开始”
开始测试
选择M1做测试
模拟交易过程中发 生交易的点被标注
不看过程,滑条拉 倒最右边
报告中各项指标说明3
绝对亏损(AbsoluteDrawDown):在一定程度上从最初的平衡显示减少原始的 价值:AbsoluteDrawDown = InitialDeposit – MinimalBalance 最大亏损(MaximalDrawDown):最大借款值和当前最小借款值的最大差距: MaximalDrawDown = Max of (Maximal Peak - next Minimal Peak) 最大借款百分比的比率等于最大借款和它的各自价值的商: MaxDrawDown % = MaxDrawDown / its MaxPeak * 100% 在报告中显示的其他结果可以应用简单的数学方法计算。 交易单总计(Total trades):在测试里的交易总数。 卖单获利百分比(Short positions (won %)): 卖空仓位总数额和其中赢利百分 比(卖空仓位/卖空仓位总数*100%)。 买单获利百分比(Long positions (won %) ):- 看涨仓位总数额和其中赢利百分 比(看涨仓位/看涨仓位总数*100%)。 盈利交易(占总百分比)(Profit trades (% of total)):赢利交易总数和交易总 数的百分比(赢利交易/交易总数*100%)。 亏损交易(占总百分比)(Loss trades (% of total)):亏损交易总数和交易总 数的百分比(亏损交易/交易总数*100%)。
进入测试界面
1、选择一个EA加载到图表 2、点击工具栏的“智能交易”停止智能交易 3、按F6,打开测试窗口
测试窗口
历史数据准备1
从统计数学的角度来评判MT4提供的数据,基本不符合要求。毕竟我们不是数学专家,不需要精准的结果,所以采用我推荐的方法就够用了。
点击MN按 钮,等待 一会儿, 将数据图 表拉到最 左边,我 们会看到 月线数据 从1988年 12月开始
月线数据从1988年12月开始 用同样的方法,顺序点击W1、D1、H4……M1,就得到了USDJPY各 种时间周期的历史数据。如果测试其他货币对,就照样做一遍。
历史数据准备2
打开货币对从MN到M1时间周期9个窗口接收数据,等待时间越长,数据越多 但也别傻等,因为交易商服务器提供不了从1970年1月1日以来的所有数据, 而且,不同的服务器对应其帐号,跨服务器的数据不能使用。
过适overfit
在统计学中,过适(overfitting)现象是指在调试一个统计模型时, 使用过多参数。 对于可取得的数据总量来说,一个荒谬的模型只要足够复杂,就可 以完美地展现结果。 这下你就知道网上那些翻几倍的EA是怎么来的了。
k-折交叉验证
k-折交叉验证(K-fold cross-validation)是指将样本集分为k份,其中 k-1份作为训练数据集,而另外的1份作为验证数据集。用验证集来验 证所得分类器或者回归的错误码率。一般需要循环k次,直到所有k 份数据全部被选择一遍为止。 对于外汇EA的测试,我们举例说明如下: 1、把历史数据分成10份,先用1-5份数据优化参数(训练模型) 2、测试第6份数据,得出测试结果 3、继续选用第2-6份数据优化参数(训练模型) 4、测试第7份数据 这样一直循环测试所有的数据,最后把测试结果平均,就是你的交 易系统的真实的测试结果
预备知识2
什么是系统测试? MT4提供了一个强大的系统测试模块。利用历史数据测试EA策略的效果, 并提交报告,根据报告调整EA的策略和参数,反复进行,以期达到最佳 的模式。 历史数据怎么构成? 历史数据包含了开盘价、收盘价、最高价、最低价、成交量、时间等6项 指标,分为M1、M5、M15、M30、H1 、H4、D1、W1、MN等9个周期。 系统测试需要做那些准备? 准备好要测试的EA和需要测试的货币对的历史数据即可。如果可能,最 好了解一下统计数学的几个概念:过适、 k-折交叉验证、赢利与最大资 金回撤比、人工神经网络。后面有简单的介绍。 MT4历史数据情况如何? MT4服务器提供各种货币对及其时间周期的历史数据,而实际上不同的 服务器提供的数据都是很不完全的。后面有解决办法。
报告中各项指标说明2
总净盈利(Total net profit):净赢利值和净亏损值之间的差。 TotalNetProfit = GrossProfit - GrossLoss 总获利(Gross profit):所有赢利交易总数的净赢利值。 总亏损(Gross loss):所有亏损交易总数的净亏损值。 盈利比(Profit factor):赢利原因显示在多少时间内净赢利值超过净亏损值。 ProfitFactor = GrossProfit / GrossLoss 预期盈利(Expected payoff):预期盈利使用以下公式进行计算: Expected Payoff = (ProfitTrades / TotalTrades) * (GrossProfit / ProfitTrades) (LossTrades / TotalTrades) * (GrossLoss / LossTrades) 其中: TotalTrades - 交易总数; ProfitTrades - 赢利交易总数; LossTrades - 亏损交易总数; GrossProfit - 净赢利交易总数; GrossLoss - 净亏损交易总数.