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

 
ANDREY:

Entiendo correctamente, que ahora en mql4 los arrays deben ser inicializados sólo usando la función

No necesariamente, pero es mejor comprobar estas cuestiones con scripts de prueba:

void OnStart()
{
   int arr_1[10] = {123};
   int arr_2[10] = {0,1,2,3,4,5,6,7,8,9};
   int arr_3[10];
   ArrayInitialize(arr_3,777);
   ArrayPrint(arr_1);   // 123   0   0   0   0   0   0   0   0   0
   ArrayPrint(arr_2);   // 0 1 2 3 4 5 6 7 8 9
   ArrayPrint(arr_3);   // 777 777 777 777 777 777 777 777 777 777
}
ANDREY:

El tutorial de Kovalev dice que se puede inicializar un array simultáneamente con su declaración (como hice yo), sin ninguna función especial.

Su variante en mi ejemplo arr_1 - ¡así que puede inicializarla con un valor nulo! - y si es otro, entonces el primer elemento del array será un valor de inicialización, y todos los demás serán nulos.

Creo que el tutorial te aconseja inicializar como en mi ejemplo arr_2

 

Por la tarde.

Necesita visualizar en su EA los valores del indicador utilizado en él. No es necesario que lo dibujes exactamente como se ve. Es suficiente con marcar el valor del punto del indicador en cada vela. He intentado hacerlo a través del objeto OBJ_ARROW y he comprobado que el punto de anclaje no puede estar en el centro del objeto. Es más alto o más bajo que el objeto. En consecuencia, los puntos no coinciden con los valores reales del indicador. ¿Puede sugerir una solución a este problema?

visualización del indicador a través de OBJ_ARROW

 
Oleg Remizov:

Por la tarde.

Necesita visualizar en su EA los valores del indicador utilizado en él. No es necesario que lo dibujes exactamente como se ve. Es suficiente con marcar el valor del punto del indicador en cada vela. He intentado hacerlo a través del objeto OBJ_ARROW y he comprobado que el punto de anclaje no puede estar en el centro del objeto. Es más alto o más bajo que el objeto. En consecuencia, los puntos no coinciden con los valores reales del indicador. Proponga una solución a este problema.

Cree una plantilla con todos los indicadores necesarios y guárdela con el nombre tester o con el nombre del Asesor Experto.

 
Alexey Viktorov:

Crea una plantilla con todos los indicadores que quieras y guárdala con el nombre de tester o con el nombre del EA.

Lamentablemente, la plantilla no me funciona. Es necesario activar/desactivar la función de mostrar los indicadores en los ajustes, y el dibujo debe hacerse directamente desde el EA. El EA debe poder ser transferido en un solo archivo.

 
Oleg Remizov:

Lamentablemente, la plantilla no me funciona. La función de visualización del indicador debe estar activada/desactivada en los ajustes, y el dibujo debe hacerse directamente desde el EA. Quiero poder transferir el EA en un solo archivo.

Son deseos extraños. Si quieres que tu EA funcione, simplemente funcione, entonces es suficiente con adjuntarlo como recurso y no necesitará ninguna visualización y funcionará sin el archivo del indicador. Y si quieres exactamente la visualización, ¿qué sentido tiene no dar el archivo de indicadores?

 
Alexey Viktorov:

Esta es una petición extraña. Si quieres que el EA funcione, simplemente funcione, entonces es suficiente con adjuntarlo como recurso y funcionará sin el archivo del indicador. Si se quiere ver el mapeo exacto, ¿qué sentido tiene no dar el archivo del indicador?

No es que no quiera dar un archivo de indicadores. Un Asesor Experto que requiere archivos adicionales no puede ser publicado en el Mercado. De hecho, es conveniente tener todo lo que necesitas para tu trabajo en un solo archivo.

Además, no siempre necesito mostrar todos los topes de los indicadores si hay unos pocos. Por ejemplo, tengo un indicador para Ishimoku. Tiene 5 líneas, pero sólo una de ellas debe ser seleccionada para su uso en un Asesor Experto. Quiero mostrar sólo uno de ellos en lugar de todo el indicador.

 
Igor Makanu:

no necesariamente, pero es mejor comprobar estas cuestiones con scripts de prueba:

Su variante en mi ejemplo arr_1 - ¡así que puede inicializar con un valor nulo! - y si es el otro, entonces el primer elemento del array será un valor de inicialización y todos los demás serán nulos.

Creo que el tutorial te aconseja inicializar como en mi ejemplo arr_2

Gracias por la información tan valiosa para mí.

 
Oleg Remizov:

No es que no quiera dar un archivo de indicadores. Un Asesor Experto que requiere archivos adicionales no puede ser publicado en el Mercado. Y, en general, es conveniente tener todo lo que se necesita para el trabajo en un solo archivo.

Además, no siempre necesito mostrar todos los topes de los indicadores si hay unos pocos. Por ejemplo, tengo un indicador para Ishimoku. Tiene 5 líneas, pero sólo una de ellas debe ser seleccionada para su uso en un Asesor Experto. Este es el único que queremos mostrar y no todo el indicador.

Pues bien, los indicadores se utilizan como recurso para el Mercado. Pero, ¿para qué lo necesita el usuario? A nadie le interesan los principios por los que se abren los puestos. Si quieres, puedes describir toda la estrategia en la descripción. ¿Alguien lo necesita?

 
Igor Makanu:


Creo que el libro de texto aconseja inicializar como en mi ejemplo arr_2

Esto es lo que dice el libro de texto de Kovalev sobre la inicialización de un array al mismo tiempo que se declara

8.4.4 Inicialización de matrices

Las matrices unidimensionales y multidimensionales se inicializan con una secuencia unidimensional de constantes separadas por comas. La secuencia está encerrada entre llaves:

int Mas_i[3][4] = { 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23 }

double Mas_d[2][3] = { 0,1, 0,2, -0,3, -10,2, 1,5, 7,0 };

bool Mas_b[5] = { false, true, false, true, true }

Una o más constantes pueden ser omitidas en la secuencia de inicialización.

Del libro de texto me parece que cuando se declara un array, se inicializa el array completo con todos los datos, no sólo el primer elemento del array.
Si he entendido mal el tutorial, te agradecería que me dijeras qué he entendido mal.

 
Alexey Viktorov:

Bueno, eso es lo que utilizan los indicadores como recurso para el mercado. Pero, ¿para qué lo necesita el usuario? A nadie le interesan los principios por los que se abren los puestos. Si quieres, puedes describir toda la estrategia en la descripción. ¿Alguien lo necesita?

Y según mis observaciones, a los usuarios les gusta que el Asesor Experto muestre información variada en la pantalla: dibuja flechas, líneas, canales, etc. para demostrar la vigorosa actividad de la "inteligencia artificial").

De acuerdo con los indicadores, el Asesor Experto proporciona trailing. Quiero visualizar este proceso para que el usuario pueda ver la línea discontinua con StopLoss.