文章 "MetaTrader 5中的蒙特卡罗置换测试"

 

新文章 MetaTrader 5中的蒙特卡罗置换测试已发布:

在本文中,我们将了解如何仅使用 Metatrader 5在任何 EA 交易上基于修改的分时数据进行置换测试。

显然,导出文件后,记下文件的保存位置,并使用任何电子表格应用程序打开它。下图显示了免费的OpenOffice Calc的使用情况,其中在表底部添加了一个新行。在继续之前,明智的做法是删除不应包含在计算中的交易品种行。在每个相关的对应列下,使用自定义宏计算p值。宏的公式参考置换交易品种的性能度量(位于所示文档中的行18中)以及每列的置换交易品种的性能度量。宏的完整公式如图所示。

在 OpenOffice Calc 中计算P值

除了使用电子表格应用程序,我们还可以使用python,它有大量用于解析xml文件的模块。如果用户精通mql5,那么也可以使用简单的脚本来解析文件。从测试器导出优化结果时,只需记住选择一个可访问的目录。

作者:Francis Dube

 
您好!这篇文章提供了很有价值的见解,我一直在寻找它。不过,在使用您分享的示例时,我遇到了一个问题。由于卖出价的原因,价差似乎很大。能否请您告诉我是否有遗漏或错误之处?
 
Le Huu Hai #:
您好!这篇文章提供了很有价值的见解,我一直在寻找它。不过,在使用您分享的示例时,我遇到了一个问题。由于卖出价的原因,价差似乎很大。能否请您告诉我是否有遗漏或错误之处? 。

就我所知,我找不到任何错误。在我自己的测试中,我也遇到了价差较大的价格序列变化。这种情况有可能发生。如果这种情况无法接受,您可以做更多的排列,并在价差更实际的系列上进行测试。

 
在期货合约上试用了几次脚本,包括最新合约和连续合约,都没有成功。不仅在图表上生成的符号在视觉上完全相同,而且它们的勾选成交量/实际 成交量值全天只集中在几根蜡烛上,测试器在这些符号上窒息并冻结,没有任何结果。
 
Firstly, time and tick flag information will be left untouched so our permutation routine should not alter this information. We are interested in only the bid, ask and volume.
完全不清楚您为何决定取交易量的对数。尤其是刻度线体积
 
作者,您没有使用该语言的很多功能,因此您的代码要大很多倍,也更难阅读。

例如,这些行可以用一行来代替。
 //---swap tick data randomly
      tempvalue.bid_d=m_differenced[i].bid_d;
      tempvalue.ask_d=m_differenced[i].ask_d;
      tempvalue.vol_d=m_differenced[i].vol_d;
      tempvalue.volreal_d=m_differenced[i].volreal_d;

      m_differenced[i].bid_d=m_differenced[j].bid_d;
      m_differenced[i].ask_d=m_differenced[j].ask_d;
      m_differenced[i].vol_d=m_differenced[j].vol_d;
      m_differenced[i].volreal_d=m_differenced[j].volreal_d;

      m_differenced[j].bid_d=tempvalue.bid_d;
      m_differenced[j].ask_d=tempvalue.ask_d;
      m_differenced[j].vol_d=tempvalue.vol_d;
      m_differenced[j].volreal_d=tempvalue.volreal_d;
Swap(m_differenced[i], m_differenced[j]);


template < typename T>
void Swap( T &Value1, T &Value2 )
{
  const T Value = Value1;
  
  Value1 = Value2;
  Value2 = Value;
}


同样的说法也适用于结构数据的对数和逆变换方法。等等。

 

Tick 转换是一个罕见的话题。通常只在一个价格(例如出价)和条形图上进行。

感谢作者提出这个话题。


最近,俄语线程中有一个关于这个主题的话题。在那里,他们使用最好的机器学习方法,试图生成刻度线历史记录,以便不会丢失市场模式。有一个明确的标准。

不幸的是,所有不丢失模式的尝试都以失败告终。除了混合刻度线,还有更复杂的方法。


只有在这里发生了成功的事情。

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Машинное обучение в трейдинге: теория, модели, практика и алготорговля

fxsaber, 2023.09.07 07:33

我尝试了几种算法。为了清楚起见,下面是其中几种。

以平均价格建立 PO,条件是固定。

  • 绿点是柚木数组3Z 个顶点的 指数。
  • 紫色--顶点之间的平均指数。

这样做的目的是在刻度数组中运行,并在找到的索引位置随机分配增量。

结果发现,时间戳、增量的绝对值(Avg-price)和价差都被完全保留了下来。


结果显示

  1. 我只在绿色索引上运行 - 排水口。显然,这种随机化会拉直(减少 ZZ 数量)最终图形。
  2. 我只在紫色指数上运行--圣杯越强 最小条件越高。
  3. 我在两种颜色--梅花--上运行。
我认为,如果同时根据买入价/卖出价构建 3Z,那么第 2 点的圣杯会更强。

反向时间 可以很好地保留市场模式。
Проверка обратного времени.
Проверка обратного времени.
  • 2023.09.03
  • www.mql5.com
Мною была поставлена задача разобраться в причинах получения прибыли определенной ТС (торговая система). Для этого требовалось изучить историю котировок, подтвердив или опровергнув возникающие
 
是否有办法进行蒙特卡罗 分析,但用多货币 ea 代替?