Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1172

 
Evgeny Dyuka:

El foro es enorme y no hay ningún tema sobre el uso de redes neuronales en el trading. Qué raro. ¿O hay algún lugar?

¿O es que no hay nadie que se ocupe de ello?

https://www.mql5.com/ru/search#!keyword=%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82%D0%B8&module=mql5_module_articles

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Alexei, por favor añade como amigo, necesito contactar contigo por MP

 
Hola queridos expertos. ¿Tienen algún efecto sobre el retraso (ping al servidor) funciones como SymbolInfoDouble(symb,SYMBOL_BID) o PositionsTotal(), o estos datos se toman del terminal? ¿Y qué es mejorutilizar PositionGetDouble(POSITION_PRICE_OPEN) o los datos de la estructura MqlTradeResult?
 
¿Cómo pasar los parámetros de la función OnCalculate(const datetime &time[]) a otra función por referencia, escriben que no se puede pasar una variable constante como referencia?
 

¿Cuál es el problema de la matriz bidimensional?

Código de script de prueba simple:

double ARtst[5][6];
double sss=0.0;

void OnStart()
{
   for(int nn=0; nn<5; nn++) {
      for(int mm=0; mm<6; mm++) {
         ARtst[nn][mm] = 1.0 + 1.0*nn*mm;
      }
   }

   for(int nn=0; nn<5; nn++) {
      testproc(nn,sss,ARtst);
   }
}

void testproc(int ii, double& sum, double& ARR[][])
{  int kk;

   kk = ArrayRange(ARR,1);
   sum = 0.0;
   for(int nn=0; nn<kk; nn++) sum = sum + ARR[ii][nn];

   return;
}

Da dos errores a la vez:

1. "[" - valor de índice inválido, apuntando al array bidimensional ARR en la definición del procedimiento testproc.

2. "ARtst" - conversión de parámetros no permitida, apuntando al array ARtst en la definición del procedimiento testproc.

No hay problema con el array unidimensional.

 
VANDER:
Cómo pasar los parámetros de OnCalculate(const datetime &time[]) a otra función por referencia, dicen que no se puede pasar una variable constante como referencia
void другая_функция(const datetime &time[], const int rates_total) 
{
 Print(time[rates_total-1]);
}
// Вызов функции из OnCalculate

другая_функция(time, rates_total);
 
Yurixx:

¿Cuál es el problema de la matriz bidimensional?

Código de script de prueba simple:

Da dos errores a la vez:

1. "[" - valor de índice inválido, apuntando al array bidimensional ARR en la definición del procedimiento testproc.

2. "ARtst" - conversión de parámetros no permitida, apuntando al array ARtst en la definición del procedimiento testproc.

No hay problemas con las matrices unidimensionales.

No he entendido el código completamente, pero debería ser así:

void testproc(int ii, double& sum, double& ARR[][6])
 
Alexey Viktorov:

No he entendido bien el código, pero debería ser así:

¡Exactamente! Muchas gracias.

Todavía me estoy familiarizando con las diferencias entre MT5 y MT4 antes del final. )))

 
Yurixx:

¡Exactamente! Muchas gracias.

Todavía me estoy familiarizando con las diferencias entre MT5 y MT4 antes del final. )))

En mql5, el trabajo con arrays no difiere en absoluto de mql4.

 
Alexey Viktorov:

En mql5 trabajar con arrays no difiere en absoluto de mql4.

Tal y como yo lo veo es diferente.

En MT4 la declaración de arrays multidimensionales en procedimientos no requería especificar la dimensionalidad explícitamente en ninguna de las dimensiones.

Razón de la queja: