![交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标](https://c.mql5.com/i/articles/overlay.png)
交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标
目录
简介
您可以为了不同目的在MetaTrader 5策略测试器中以可视化模式运行,例如,有时您也许想看到在测试期间,交易账户的余额和净值如何改变,有时候,您也许需要在"根据真实订单的每一订单"模式下可视化地监控可能出现的趋势,这意味着独立的 LifeHack 指标在每种情况下都是需要的。我们将在MetaTrader 5策略测试器中运行不同的指标,并把图标模板另存为 tester.tpl (显示测试结果的图表的模板)。
在测试器中使用指标的通用规则:
- 在图表上运行一个 LifeHack 指标,
- 把模板另存为 tester.tpl,
- 开始可视化测试。
还有保存模板的另外一类方法 - 通过运行以下追随的脚本:
//+------------------------------------------------------------------+ //| ChartSaveTemplateTester_tpl.mq5 | //| Copyright © 2016, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2016, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { ResetLastError(); //--- 在模板中保存当前的图表 if(!ChartSaveTemplate(0,"tester")) MessageBox("保存模板出错 #"+IntegerToString(GetLastError())); else MessageBox("模板 \"tester.tpl\" 被覆盖!"); } //+------------------------------------------------------------------+
在这个脚本程序中,写死了模板的名称 "tester",因为这段脚本非常独特,您可以设置脚本的热键:
图 1. 赋予一个热键
LifeHack 订单指标
LifeHack 订单指标显示了最近的300个订单时刻:
//--- 指标缓冲区 double AskBuffer[]; double BidBuffer[]; double AskBufferTemp[]; double BidBufferTemp[]; //--- 参数 int InpVisible=300; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit()
您可以修改 InpVisible 参数,然而,我不会推荐使用大于1000的数值,因为这会使得终端载入不必要的数据,
另外,本指标也会显示真实与模拟订单时刻的差别:
图 2. "基于真实订单时刻的每一订单模式"
图 3. "每一订单时刻"
下面的视频演示了两类订单生成时的差别:
另外,LifeHack 订单指标在其子窗口中显示了最新订单的时间。这使得可以在策略测试器中跳到需要的日期并以单步模式查看对应的订单,
例如,您可以在 EURUSD H1图表上查看从 2016.06.03 15:00开始的订单
图 4. 从 2016.06.03 15:00 开始分析订单
过程:
1. 运行LifeHack 订单指标并把图表模板另存为tester.tpl. 鼠标右键点击图表并选择"模板 - "保存模板...". 在文件管理器中,选择tester.tpl (如果没有这个模板,您应该输入这个名称)并点击"保存":
图 5. 保存图表模板
2. 在 MetaTrader 5 策略测试器中, 指定包含 2016.06.03 的时间间隔, 选择 EURUSD, 选择测试时间框架为 H1 并设置测试模式为 "基于真实订单的每一订单":
图 6. 测试.
3. 开始可视化测试。
4. 在测试器中,点击"暂停可视化, 空格" (①), 在 "跳到" 栏位指定 2016.06.03 14:59 (②), 然后在单步模式下切换订单 (③):
图 7. 跳到想要的日期
或者以低速开始测试。
LifeHack 余额净值指标
LifeHack 余额净值指标显示了交易账户的余额和净值是怎样改变的。
图 8. LifeHack 余额净值指标
LifeHack 回撤与负载指标
LifeHack 回撤与负载指标使您可以在可视化测试过程中查看回撤和存款负载。回撤(drawdown)是按照以下公式计算的:
drawdown=(balance-equity)/balance*100.0
在MetaTrader 5策略测试器中同时运行LifeHack 回撤负载和 LifeHack 余额净值指标:
图 9. LifeHack 回撤负载指标
为方便起见,绘图的类型(线形和柱形图)加在指标标签名称中了,另外一个重要事项: "Drawdown (line)" 和 "Load (histogram)" 保存了它们在当前柱的最高值,也就是说,如果当前柱的最大存款负载是80%,然后又下降到10%,"Load (histogram)"标签还是显示着最大值 80%。
结论
我希望这种使用LifeHack系列指标来创建tester.tpl模板的方法能够帮您侦测您所测试的应用程序的优点和弱点。
本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/2501
![交易者的 LifeHack: 四次回测比一次好](https://c.mql5.com/2/23/ava__3.png)
![EA交易的自我优化: 进化与遗传算法](https://c.mql5.com/2/22/images__2.png)
![以横盘和趋势行情为例强化策略测试器的指标优化](https://c.mql5.com/2/22/Optimize-Indicators-Only.png)
![交易员的正则表达式](https://c.mql5.com/2/23/ava.png)