Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 510

 

Una pregunta sobre el algoritmo. ¿Quién entiende aquí de estadística teórica y matemática? Mira, hay una serie de precios, niveles. Necesito seleccionar niveles "fuertes" de ellos. Fuerte significa el valor en el que la frecuencia de distribución de estos niveles es la más alta.

Por ejemplo, las series 1,8,10,11,13,35,40,60,65. Digamos que hay un delta, digamos 2, que denota la máxima diferencia entre los valores. Así que hay un nivel fuerte alrededor de 8,10,11,13 que es igual a (8+10+11+13)/4. ¿Quizás haya una función estadística ya hecha para esto, para no tener que reinventar la rueda? ¿Puedes darme una pista, por favor?

 
Por favor, díganme que hay clases CArray estándar para trabajar con arrays. Según tengo entendido, ¿son para trabajar exclusivamente con matrices unidimensionales? ¿O también con matrices multidimensionales (bidimensionales)? Si no es así, ¿hay alguna clase para trabajar con arrays multidimensionales?
 
Juer:
Por favor, díganme que hay clases CArray estándar para trabajar con arrays. Según tengo entendido, ¿son para trabajar exclusivamente con matrices unidimensionales? ¿O también con la multidimensionalidad (bidimensionalidad)? Si no es así, ¿hay alguna clase para trabajar con matrices multidimensionales?

https://www.mql5.com/ru/articles/567

Se encuentra aquí.

Основы программирования на MQL5 - Массивы
Основы программирования на MQL5 - Массивы
  • 2012.11.03
  • Dmitry Fedoseev
  • www.mql5.com
Наряду с переменными и функциями, массивы являются практически неотъемлемой частью любого языка программирования. Замечено, что некоторые начинающие изучать программирование, панически боятся массивов. Удивительно, но факт! Смею заверить вас, что бояться их не нужно. Массивы, по своей сути, это все те же обычные переменные. Если не вдаваться в...
 

¿Cómo devuelvo una matriz de estructuras en una función?

custom_struct values[];
...
custom_struct Func(void)
  {
   return GetPointer(values);
  }

tipo de clase esperado, objeto requerido errores.

¿Cuál es la forma correcta?

 
Juer:

¿Cómo devuelvo una matriz de estructuras en una función?

tipo de clase esperado, objeto requerido errores.

¿Cuál es la forma correcta?

El puntero puede ser a un objeto de una clase, pero no a una estructura
 
Juer:

¿Cómo devuelvo una matriz de estructuras en una función?

tipo de clase esperada, objeto requerido errores.

¿Cuál es la forma correcta de hacerlo?

Pasar por referencia:

struct A
{
...
};

A structA[];

void GetStructA(A &structA[])
{
....
   structA = _structA;
}
Esto es así si la estructura sólo contiene tipos de datos simples (sin cadenas o arrays). Si la estructura contiene cadenas y/o arrays, añada una sobrecarga del operador de asignación a la estructura.
 
Ihor Herasko:

Transferencia por referencia:

Esto es así si la estructura sólo contiene tipos de datos simples (sin cadenas ni arrays). Si la estructura contiene cadenas y/o arrays, añada una sobrecarga del operador de asignación a la estructura.

Así que el error de acceso a la matriz no es válido.

No hay arrays ni cadenas en la estructura. Sólo bool, integer, double y enums.

 
Juer:

Así que el error es un acceso inválido al array.

¿Sólo tiene una estructura, no un conjunto de estructuras?

No se muestra el código normalmente. ¿Tenemos que adivinar?

 
Artyom Trishkin:

¿Sólo tienes una estructura, no un conjunto de estructuras?

No muestra el código correctamente. ¿Tenemos que adivinar?

Un conjunto de estructuras, lo escribí...

 
class CCandleRule : public CObject
  {
protected:
   input_rule        rules[];
public:
   void              GetRulesArray(input_rule &rules_array[]);
  }

void CCandleRule::GetRulesArray(input_rule &rules_array[])
  {
   rules_array=rules;
  }
La estructura input_rule es grande, pero sólo tiene campos int, double, bool y enum. No contiene cadenas ni arrays.