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

 
Vladimir Karputov:

无论是句柄还是 "Trend.mqh::CiMA "类的对象,你仍然需要全部创建它们。

在我的案例中,如何解决这个问题?

全部任务是在OnTick体中获得28个符号的3个时间框架。
有必要让手柄=28*3吗?
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2017.09.15
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Vitaly Muzichenko:

在我的案例中,我如何解决这个问题?

完整的问题,在OnTick主体中得到3个时间段的28个字符。
有必要处理=28*3吗?

是的,当然了。

 
Vladimir Karputov:

是的,当然了。

当然了,很遗憾(

弗拉基米尔,你写信给服务台,因为它不应该是这样的,也不可能是 这样的,我们一定是做错了什么,我们需要为一个简单的专家顾问创建不到100个手柄。
 
Vitaly Muzichenko:

不应该是这样的,也不可能是这样 的,我们一定是做错了什么,我们需要为一个简单的专家顾问创建不到100个手柄。

有什么问题呢?你知道什么是数组,对吗?一个结构?

当然,如果你创建了100个变量,每个手柄都有一个。...这将是一个真正的无奈之举。

 
Alexey Kozitsyn:

有什么问题呢?你知道什么是数组,对吗?一个结构?

当然,如果你创建了100个变量,每个手柄都有一个。这将是一个婊子。

在这里,确实是一个结构,但我无法想出如何快速制作一个结构,是吗?

 
Vitaly Muzichenko:

在这里,真的是一个结构,但我无法想出如何快速地把它放在一起,是吗?

struct SHandle
   {
    string symbol;
    int handleM1;
    int handleM5;
    int handleM15;
   };
//---- или
struct SHandle
   {
    string symbol;
    int timeframes[3];   // Не знаю точно, можно ли так написать, если что, через ArrayResize();
   };
//--- 
SHandle _handles[28];    

情况是这样的...

 

同事们,我在理解上有一些困难

它不断地落在阵列 的范围之外。我调查和编写了这么多的代码,却总是出现同样的错误。请告诉我,是否有一个地方(一个分支,一篇文章)可以让我找到如何正确地进行循环,而不会把我扔出数组。我失去了很多寻找错误的时间......有时我不明白我修复了什么,为什么它能工作。

例如,以下代码,如果 (q1[i]>q1[i+1])q2[i]=1;

对q1[i+1]

的单位是

SetIndexBuffer(2,q1,INDICATOR_CALCULATIONS)。

ArraySetAsSeries(q1,true)。

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
  int sum,i,a ,start ;
  if (prev_calculated ==0) { start =0 ; q1[0]=q1[1];}
  else  start = prev_calculated;
  CopyBuffer(pulse_clear_Handle,0,start,rates_total,q1);
  for (i = start ; i < rates_total;i++)
  {if (q1[i] > q1[i+1]) q2[i]=1 ;
  else
  if (q1[i] < q1[i+1]) q2[i]=-1;
  else continue ;
 
LookingFor:

同事们,我在理解上有一些困难

它不断地落在阵列 的范围之外。我调查和编写了这么多的代码,却总是出现同样的错误。请告诉我,是否有一个地方(一个分支,一篇文章)可以让我找到如何正确地进行循环,而不会把我扔出数组。我失去了很多寻找错误的时间......有时我不明白我修复了什么,为什么它能工作。

例如,以下代码,如果 (q1[i]>q1[i+1])q2[i]=1;

对q1[i+1]

的单位是

SetIndexBuffer(2,q1,INDICATOR_CALCULATIONS)。

ArraySetAsSeries(q1,true)。

for (i = start ; i < rates_total-1;i++)
 

再次感谢您!

 

同事,MathSum函数,描述在这里

https://www.mql5.com/ru/docs/standardlibrary/mathematics/stat/mathsubfunctions/statmathsum

在Build 1643中不被认可。我必须把所有东西都拆掉,然后进行更新吗?

Документация по MQL5: Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathSum
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathSum
  • www.mql5.com
Стандартная библиотека / Математика / Статистика / Вспомогательные функции / MathSum - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5