文章 "在 MetaTrader 5 中创建和测试自定义交易品种"

 

新文章 在 MetaTrader 5 中创建和测试自定义交易品种已发布:

创建自定义交易品种拓展了开发交易系统和金融市场分析的边界,现在,交易者可以在无限的金融资产工具上绘制图表和测试交易策略了。

在点击 "创建自定义交易品种" 之后, 设置它的名称,如有必要在合约规格中修改所需的参数。

作者:MetaQuotes Software Corp.

 

CustomTicksReplace

Полностью заменяет ценовую историю пользовательского инструмента в указанном временном интервале данными из массива типа  MqlTick

在脚本中,为一个已上传刻度历史记录的旧符号创建一个刻度克隆是非常昂贵的。CopyTicks 根本无法即时运行。

 
自 8 月 1 日起尝试回溯测试(任何模式),错误崩溃
2017.09.04 11:52:40.139 Tester  EURCHF_custom: history data begins from 2017.07.25 00:00
添加了故事,但没有成功
2017.09.04 11:57:50.498 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
 
fxsaber:
我尝试从 8 月 1 日起进行回溯测试(任何模式),结果出现错误添加历史记录,没有成功

测试的时间框架是什么? MetaTrader 5 测试基础》一文指出需要 100 个条形图:

测试代理只下载缺失的历史数据,并保留少量数据,以便在测试时提供计算指标所需的历史数据。对于 D1 及以下时间段,从交易服务器下载的最低历史数据量为一年。因此,如果您在 2010.11.01-2010.12.01 期间开始测试(测试间隔为一个月),测试周期为 M15(每个条形图等于 15 分钟),终端将请求 2010 年全年的历史数据。对于周时间框架, 将请求 100 个条形图 历史记录,约为两年(一年有 52 周)。对于月时间框架的测试,代理将请求 8 年的历史记录(12 个月 * 8 年 = 96 个月)。

 
Rashid Umarov:

测试的时间框架是什么? MetaTrader 5 测试基础》一文指出需要 100 个条形图:

M1.使用此脚本 创建一个符号。

 
fxsaber:

M1.我使用该脚本 创建了一个符号。

除了 EURCHF_custom,我还创建了 EURUSD_custom。在从 EURUSD_custom 提取数据的同时,继续对 EURCHF 进行回溯测试。

我以为删除 EURUSD_custom 后,反向测试将无法进行,但事实并非如此。 现在可以了。

我不清楚为什么要创建 EURUSD_custom,然后删除它才能使测试仪工作。


ZY Bug。

关于交易、自动交易系统和测试交易策略的论坛。

库:符号

fxsaber, 2017.09.04 13:54

新的交叉盘计数正确 - 它不转换利润。但出于某种原因,当它未在其他任何地方使用时,它却在拉动主力

2017.09.04 14:46:43.062 Core 1  EURCHF_custom: generate 975389 ticks in 0:00:00.063, passed to tester 3210 ticks
2017.09.04 14:46:43.062 Core 1  EURUSD: generate 979976 ticks in 0:00:00.062, passed to tester 8696 ticks
 
fxsaber:

除了 EURCHF_custom,我还创建了 EURUSD_custom。欧元兑瑞郎的回溯测试继续进行,从 EURUSD_custom 中提取数据。

我以为删除 EURUSD_custom 后,反向测试将无法运行,但事实并非如此。 现在可以了。

不清楚为什么要创建 EURUSD_custom,然后删除它才能使测试仪工作。

您没有提供所有详细信息 - 帐户货币、盈利货币。如果测试器试图通过某些符号获取历史记录,这意味着它需要这些符号进行计算。

 
Rashid Umarov:

您没有提供所有详细信息 - 帐户货币、利润货币。如果测试者试图通过一些符号来获取历史记录,这意味着这些符号是计算所必需的。

有趣的是,真实的 EURCHF 以瑞士法郎为盈利货币,以欧元为保证金货币,以欧元为基准货币。

因此,测试人员会遇到某种悖论。它必须计算出一手中包含多少欧元(基准货币),然后将其转换 为欧元(保证金货币)--在这里,它只是幸运地 计算出了比率(EUR/EUR = 1)。然后,他必须将保证金换算 成美元(账户货币),看看是否足够。计算利润时,应将瑞士法郎(利润货币)兑换 成美元(账户货币)。


总之,在最坏的情况下,测试人员应进行多达三次转换(如果有相应的主力合约)。当然,还要在交叉盘上额外加入三个主要货币,在此基础上进行测试!

 
fxsaber:

您是在外汇/交叉汇率模式下测试外汇工具。因此,对市场环境的要求是一样的。

在您的问题中,请一次性提供完整的日志,不要撕行。

 
Renat Fatkhullin:

您是在外汇/交叉汇率模式下测试外汇工具。因此,市场环境中的要求是一样的。

我不明白。

在您的问题中,请提供完整的日志,而不是撕行。

附后。

附加的文件:
Log.zip  3 kb
 
fxsaber:

我不明白。

附录。

根据日志,存款货币= 美元,测试在 EURCHF 符号上执行。 测试仪需要 EURUSD 或 USDEUR 报价来计算保证金。

2017.09.04 15:26:30.999 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
2017.09.04 15:26:31.000 Core 1  agent process started
2017.09.04 15:26:31.442 Core 1  connecting to 127.0.0.1:3000
2017.09.04 15:26:31.442 Core 1  connected
2017.09.04 15:26:31.448 Core 1  authorized (agent build 1653)
2017.09.04 15:26:31.452 Tester  EURCHF_custom,M1 (MetaQuotes-Demo): testing of Experts\Test.ex5 from 2017.08.01 00:00 to 2017.08.15 00:00
2017.09.04 15:26:31.468 Core 1  common synchronization completed
2017.09.04 15:26:31.529 Tester  quality of analyzed history is 100%
2017.09.04 15:26:31.683 Core 1  MetaTester 5 started on 127.0.0.1:3000
2017.09.04 15:26:31.683 Core 1  initialization finished
2017.09.04 15:26:31.683 Core 1  login (build 1653)
2017.09.04 15:26:31.683 Core 1  38520 bytes of account info loaded
2017.09.04 15:26:31.683 Core 1  1482 bytes of tester parameters loaded
2017.09.04 15:26:31.683 Core 1  2748 bytes of input parameters loaded
2017.09.04 15:26:31.683 Core 1  4356 bytes of symbols list loaded
2017.09.04 15:26:31.683 Core 1  expert file added: Experts\Test.ex5. 446309 bytes loaded
2017.09.04 15:26:31.683 Core 1  initial deposit 10000000.00 USD, leverage 1:500
2017.09.04 15:26:31.683 Core 1  successfully initialized

它在可用符号中搜索,找到 EURUSD,然后下载并同步它们

2017.09.04 15:26:31.683 Core 1  EURUSD: symbol to be synchronized
2017.09.04 15:26:31.683 Core 1  EURUSD: symbol synchronized, 3464 bytes of symbol info received
2017.09.04 15:26:31.683 Core 1  EURUSD: load 27 bytes of history data to synchronize in 0:00:00.000
2017.09.04 15:26:31.683 Core 1  EURUSD: history synchronized from 2016.01.04 to 2017.08.15