初学者的问题 MQL5 MT5 MetaTrader 5 - 页 238

 
forexman77:

MQL4相比 它需要大量的时间来优化

在4中,我使用了新的条形检查,在它上面我写了自定义指标 的值,并且一直在计算止损和利润跟踪条。

由于这种设计,优化时间大大减少。

MQL5还不清楚它是否能发挥作用

如果我理解正确的话,第五版没有 Close[]数组 ,我需要请求数据并将其复制到数组中以获得价格数组,就像对一个指标而言。

2.我将逻辑地假设,首先你应该请求报价并将其写入缓冲区,然后才在检查一个新的条形图后,更新指标的值?

3.我在此附上我用作模板的EA。看看吧,也许我在某处有一些明显的错误,增加了测试时间。

4.我注意到的另一件事是,单次跑步的前半段比后半段快得多。这可能与什么有关?

5.我还可以如何减少优化时间?

4.我还注意到,测试过程开始时非常快,然后变慢,到最后就非常慢。
 
paladin800:
4.我还注意到,测试过程在开始时非常快,但随后放慢速度,到最后就非常慢了。
这可能与此有关
 
Reshetov:
  1. 也是正确的。
  2. 请看一下代码。我的建议是使用标准库
  3. 谁他妈知道呢?这对我来说似乎没有什么区别吗?
  4. 利用云计算的优势。
paladin800
4.我还注意到,测试过程在开始时非常快,然后变慢,到最后测试非常慢。
弗雷德
可能与此有关

谢谢!这里有一个关于这个话题的好文章https://www.mql5.com/ru/forum/23162(第二个帖子,两个链接)。

有很多字母和代码。我必须思考并大量阅读)。

还有一个主题,有一个专家顾问,有大约12个变量用于优化。在底部的步骤,它变成了两三百万,优化将花费

在云中的成本过高,甚至在控制点上也是如此。大约有十万英镑的价格。但是,只有在第五种计量器中,你才能得到你需要的质量优化。

Порционное вычисление в индикаторе
Порционное вычисление в индикаторе
  • www.mql5.com
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции).
 

forexman77:

还有一个话题,有一个EA,有大约12个变量需要优化。在步骤的底部,你得到两三百万,优化将是

在云中的成本过高,甚至在控制点上也是如此。大约有十万英镑的价格。但是,只有在第五个metatrader中才有可能获得这种质量的优化。

我有20个输入参数的EA,其中18个是可优化的。我在没有云的情况下进行优化,因为优化+正向测试的速度是可以接受的。代码中使用了标准库
 
Reshetov:
我有20个输入参数的EA,其中18个是可优化的。我在完全没有云的情况下进行优化,因为优化+正向测试的速度是可以接受的。我的代码中使用了标准库
谢谢你!这非常有趣。我一定是做错了什么。我必须研究这个问题。
 

你好。

我想知道图表中指标的简称。我已经做了一个原始的脚本。但编译器发誓 - 'IndicatorName' - 函数未定义。我如何获得我自己的?

//+------------------------------------------------------------------+
//|                                                   TestScript.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string name=IndicatorName(0,0);
   Alert("Короткое имя индикатора - ",name);
  }
 

有一个指标想在主窗口图表中画出它的一个缓冲区,而在另一个窗口中画出另一个缓冲区。我不想做两个不同的指标。如何向电脑解释该怎么做,或者说在MT5中是不可能的?

 
RedFish:

你好。

我想知道图表中指标的简称。我已经做了一个原始的脚本。但编译器发誓 - 'IndicatorName' - 函数未定义。我如何获得我自己的?

编译器告诉你,没有这样的函数(IndicatorName)。使用ChartIndicatorName()函数。
 
YAndrey:

有一个指标想在主窗口图表中画出它的一个缓冲区,而在另一个窗口中画出另一个缓冲区。我不想做两个不同的指标。如何向电脑解释该怎么做,或者说在MT5中是不可能的?

我们可以创建两个独立的指标。并使用IndicatorCreate()函数将其中一个放在图表上。
 
tol64:
编译器告诉你,没有这样的函数(IndicatorName)。使用ChartIndicatorName()函数。
谢谢 tol64。