文章 "MetaTrader 中的多机器人:从单图表中启动多个机器人"

 

新文章 MetaTrader 中的多机器人:从单图表中启动多个机器人已发布:

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。

这个思路是不久前想到的,尽管我长期以来一直在观察专业卖家的类似决定。 换言之,我不是第一个也不是最后一位在这个领域提出思路的人,但与往常一样,程序员必须设定一些条件才能开始制定这样的决策。 在 MQL5 商店中开发此类智能系统的主要原因是满足用户对舒适度的渴望。 然而,就我而言,动机略有不同。 我的动机是,我首先必须同时测试若干金融产品的若干种策略,或者相同的策略,但为的是看看其多币种特征。

此外,在测试器中测试策略时,尤其是在多币种模式下,一个非常重要的因素是盈利能力一般曲线,这是在依据历史数据进行回测时,针对自动交易系统进行任何评估的基础。 当依据一种金融产品单独测试交易系统时,后期很难合并这些报告。 我不知道是否有这样的工具,至少对于 MetaTrader 5 是这样。 至于终端的第四个版本,有一个非官方的工具能完成此类操作。 我至少在一篇文章中用过它,但当然这种方法并不可取。

除了测试过程之外,自动交易过程本身还是一个同样重要的环节,以及与独立工作的类似 EA 的同步,每个 EA 都运行在各自的图表上。 如果这样的图表太多,可能需要额外的计算机资源,减慢或恶化交易性能,并导致意外错误和其它令人不快的事件,可能对最终交易结果产生不利影响。 对于这样的每个 EA,我们需要提供唯一的订单 ID、针对高频服务器请求的保护,以及许多其它乍一看不明显的事情。

作者:Evgeniy Ilin

 
MetaQuotes:

新文章:MetaTrader 中的多重机器人:从单一图表启动多个机器人》已发布:

作者: Evgeniy Ilin叶夫根尼-伊林

你好,这真的很酷。请问,有了这个模板,我是否可以使用 "BotsInstance "类从终端附加另一个专家(此EA之外的外部EA)?如果可以,那就意味着我们可以在StrategyTester中同时回测多个EA。

//+------------------------------------------------------------------+
//| 在图表上创建并悬挂所有虚拟机器人
//+------------------------------------------------------------------+
void CreateInstances()
   {
   for (int i = 0; i < ArraySize(S); i++)
      {
      for (int j = 0; j < ArraySize(Charts); j++)
         {
         if ( Charts[j].CurrentSymbol == S[i] )
            {
            Bots[i] = new BotInstance(i,j);
            break;
            } 
         }
      }
   }
 
Duc Anh Le #:

你好,这真的很酷。请问,使用该模板,我是否可以使用 "BotsInstance "类从终端附加另一个专家(该EA之外的外部EA)?如果可以,那就意味着我们可以在 StrategyTester 中同时回溯测试多个 EA。

是的,这是可能的,但您必须稍微重写一下顾问代码,为此制作了一个模板,它将允许您交易和测试这样一个多货币顾问。

 
看看还不错
 
Peng Peng Liu #:
还不错。
实际上是最初的版本。这个模板已经改进了很多,只需要抽出时间来写这篇文章。