Symbol - MetaTrader 5程序库
- 显示:
- 1711
- 等级:
- 已发布:
- 2017.11.16 09:54
- 已更新:
- 2018.08.30 12:58
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
这个库包含了是您理解自定义交易品种的基本功能,并且提供了可能有用的做好的方案。
实例
当您在交叉货币对上运行回溯测试时,测试器使用的是主交易品种,另一个可以把主交易品种的利润币别转换为账户币别. 访问另外的交易品种,生成它的分时,并且与主交易品种同步,在单次测试特别是优化时会花费太多的计算资源和时间。但是这种精确性几乎总是不必要的。所以,我想略过这个 MetaTrader 5 测试器的障碍/缺陷。它可以很容易在 MetaTrader 4 中做到, 因为它提供功能来在测试器中直接改变账户币别,MetaTrader 5 没有提供这个选项。
模拟脚本显示了尝试在测试器中跳过这个限制,也就是去掉不必要的计算。为此,它创建了一个交易品种的复制品来做回溯测试,并且把利润币别和账户币别设为相同。所以,就不需要转换测试结果了。在这种情况下,利润实际上是以点来计算的,这在一些情况下很有代表性。
// 创建交易品种的复制品,并且改变利润币别 #property script_show_inputs #include <Symbol.mqh> sinput string PostFix = "_custom"; void OnStart() { const SYMBOL Symb(_Symbol + PostFix); // 创建交易品种 Symb = _Symbol; // 复制所有属性和主交易品种的柱历史 Symb.SetProperty(SYMBOL_CURRENCY_PROFIT, AccountInfoString(ACCOUNT_CURRENCY)); // 使基础币别等于存款币别 Symb.On(); // 在市场报价中启用这个交易品种 ChartOpen(Symb.Name, PERIOD_CURRENT); // 打开新交易品种的图表 }
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/18855