新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 796

 
Igor Makanu:

我有与 MQL5 相同的编号 :在MQL5中,指标 缓冲区和时间序列是 "展开的",相反,在MT5中默认最左边的条形是条形0,在MT4中最右边的条形是条形0,指标缓冲区有相同的编号。

ZS: 我不想和MT5扯上关系,MT4已经足够让我检查我的想法了,我只看MT5,如果我用MT5写的东西,我从来不给别人看))

我在看5的macd代码作为一个例子,那里的SimpleMAOnBuffer被应用,没有任何魔法,也没有可能反向运行。

我试着倒着数

   int limit;
   if(prev_calculated==0)
      limit=0;
   else limit=prev_calculated-1;

   for(int i=limit;i<rates_total && !IsStopped();i++)

同样的事情发生了,看起来问题出在其他方面。

 
psyman:

试着向后数

逆转并不那么容易....你需要扩展数组ArraySetAsSeries() - 所有的数组,包括缓冲区和时间序列,你使用的是

然后你可以像MT4那样从右到左计数,所有的比较和搜索最高值和最低值的操作也需要考虑数组的方向。

我不喜欢这样的任务,我在MT4上取和写,在MT5上我总是反复检查自己))))。

你越是使用标准库#include <MovingAverages.mqh> - 我不是一个帮手,我只对标准库中的图形和数组感兴趣,我没有进一步研究那里的一切是如何安排的 - 没有意义 - 有 "一卡车 "的现成指标供MT4使用

 
Igor Makanu:

好不容易才数完....。你需要通过ArraySetAsSeries()扩展数组--所有的数组,包括缓冲区和时间序列。

然后你可以像MT4那样从右到左计数,所有的比较和搜索最高值和最低值的操作也需要考虑数组的方向。

我不喜欢这样的任务,我在MT4上取和写,在MT5上我总是反复检查自己))))。

越是这样,你使用标准库#include <MovingAverages.mqh> - 我不是助理,我只对标准库中的图形和数组感兴趣,我没有进一步看它是如何组织的 - 没有意义 - 有 "一卡车 "现成的MT4指标

现在我看了看标准集的几个指标,由于某些原因,它们都没有使用ArraySetAsSeries()。MT4的参考资料说。

时间序列是反向索引的数组,即时间序列的第一个元素在最右边的位置,时间序列的最后一个元素在最左边的位置。https://docs.mql4.com/ru/series/bufferdirection

在MT5中也是如此。

时间序列与普通数组的不同之处在于,时间序列的元素是从数组的末端到开头的索引(从最近的数据到最古老的数据)。

https://www.mql5.com/ru/docs/series


使用这个库是因为我不知道有什么其他的标准方法来计算平均数,尽管如果iMAOnArray被移除,应该会有一些东西代替它。

Доступ к таймсериям и индикаторам - Справочник MQL4
Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Функции для работы с таймсериями и индикаторами. Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым). Для копирования значений таймсерий и индикаторов рекомендуется использовать только динамические массивы, так как функции копирования...
 
psyman:

现在我看了标准集的几个指标,由于某些原因,ArraySetAsSeries()在任何地方都没有使用。MT4的参考资料说。

时间序列是反向索引的数组,即时间序列的第一个元素在最右边的位置,时间序列的最后一个元素在最左边的位置。https://docs.mql4.com/ru/series/bufferdirection

在MT5中也是如此。

时间序列与普通数组的不同之处在于,时间序列的元素是从数组的末端到开头的索引(从最近的数据到最古老的数据)。

https://www.mql5.com/ru/docs/series


使用这个库是因为我不知道另一种计算平均数的标准方法,尽管如果iMAOnArray被移除,应该会有东西代替它。

但只要检查一下MT4和MT5中数字的差异--用指标缓冲器从零条到9条画一个10的平仓线,你会立即看到它在MT4中画的位置和在MT5中画的位置。

我不喜欢MT5--那里更快,或者说不快)))),也许Artem会出现在这里,他喜欢学习MT5,我不喜欢MT5--我从未强迫自己

 
Igor Makanu:

如果你在MT4和MT5中的编号不同--使用指标缓冲器画出从零条到9条的10个Close,你会立即看到MT4中的位置和MT5中的位置。

如果你没有MT5指标,但把它带到MT5主题,那里更快......)),也许Artem会出现在这里,他喜欢教MT5,我不喜欢MT5--我从未试图强迫自己去做。

我不喜欢MT5 - 我不强迫自己去做。

我看不到我可以提出关于MT5问题的确切位置。

 
psyman:

所以MT5的帮助是抄袭MT4的?

请给我一个链接,我看不到我在哪里可以提出关于MT5的问题。

MT5中的编号与通常的数组一样--索引最低的元素和索引较高的元素出现在后面,MT5中最左边的柱子是0,最右边的柱子= rates_total-1,整个缓冲区和时间序列也是如此。 你可以用ArraySetAsSeries().... 来改变编号。在这里,一般来说,你可以选择一个东西来掌握 - 无论是MT4还是MT5 - 命令语法是相同的,但....MT4和MT5之间有很多不同之处

https://www.mql5.com/ru/forum/6343/page1020

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2019.03.26
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Igor Makanu:

MT5中的编号与通常的数组相同--索引最低的元素和索引较高的元素出现在后面,MT5中最左边的柱子是0,最右边的柱子= rates_total-1--因此对于一切,对于缓冲区和时间序列,你可以用ArraySetAsSeries() 改变编号....在这里,一般来说,你可以选择一个东西来掌握 - 无论是MT4还是MT5 - 命令语法是相同的,但....MT4和MT5之间有很多不同之处

https://www.mql5.com/ru/forum/6343/page1020

谢谢你

 
Igor Makanu:

如果你在MT4和MT5中的编号不同--使用指标缓冲器画出从零条到9条的10个Close,你会立即看到MT4中的位置和MT5中的位置。

如果你没有正确的Mt5,那里可能会更快。 如果你没有看到他,他可能试图学习MT5,我不喜欢MT5。

我不喜欢MT5 - 我不强迫自己去做。 我会出现的。右边的一切都有连贯性。而MovingAverages.mqh的工作方式是四分法--从左到右。

你不需要对讨论中的代码做太多的处理--只要看看所有数组的方向,并将它们指向同一个方向--就像在四元组中一样。我只是没有时间......

 
psyman:

所以MT5的帮助是抄袭MT4的?

请给我一个链接,我看不到我在哪里可以提出关于MT5的问题。

我不知道在哪里可以问我关于MT5的问题。但要强调多平台。

 
Artyom Trishkin:

在这里提问--在这里我们教大家如何过渡到Five,或者只是回答两个平台的问题。但要强调多平台。

你已经问过https://www.mql5.com/ru/forum/160683/page795#comment_11143961

原因: