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

 
Alexey Viktorov:

Artyom, no te has fijado en que el tipo es DRAW_COLOR_HISTOGRAM2 y tiene dos buffers de datos y un tercer buffer de color.

Sí, así es. No prestó atención.

 
Artyom Trishkin:

Sí, así es.

En general, sí. El primer buffer se utiliza para los cálculos, DRAW_COLOR_HISTOGRAM2 se dibuja utilizando dos coordenadas/buffers + necesita otro para el color.


Alexey Viktorov:

¿Por qué se comenta esta línea?

Sin embargo, debería incluir otros colores. O al menos uno, pero la declaración debería ser.

Yo utilizo

#propiedad indicador_color2 VerdeC,RojoC

o

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);

Es decir, es una cosa, y supuse que son intercambiables como en MQL4, es decir, la ausencia de directiva de preprocesador para la configuración de color se sustituye por PlotIndexSetInteger(). ¿No es así en MQL5?

 
The_Sheikh:

En general, sí. El primer buffer se utiliza para los cálculos, DRAW_COLOR_HISTOGRAM2 se dibuja utilizando dos coordenadas/buffers + necesita otro para el color.


Yo utilizo

#propiedad indicador_color2 VerdeC,RojoC

o

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);

Es decir, es una cosa, y supuse que son intercambiables como en MQL4, es decir, la ausencia de directiva de preprocesador para la configuración de color se sustituye por PlotIndexSetInteger(). ¿No es así en MQL5?

Bueno, estás dando fragmentos de documentación. ¿Por qué no los estudias a fondo? Porque en el ejemplo, la directiva está presente independientemente de PlotIndexSetInteger.

 
Alexey Viktorov:

Bueno, usted da extractos de la documentación. ¿Por qué no lo estudias a fondo? La directiva está presente en el ejemplo independientemente de PlotIndexSetInteger.

Sí, he estudiado la documentación y la directiva está presente en el ejemplo, pero lo siento, no he visto ningún párrafo en ella que diga que la directiva debe estar presente, por lo que habitualmente excluyo la directiva como en MQL4.

La documentación también dice que se pueden utilizar hasta 64 colores para el trazado. Pero no encontré allí una manera de asignar el número de dicha paleta sin la monótona enumeración de cada color después de la directiva.

Sin embargo, la cuestión está resuelta.

 
The_Sheikh:

Sí, he estudiado la documentación, la directiva está presente en el ejemplo, pero lo siento, no me di cuenta de un párrafo que indica que la directiva debe estar presente, así que por costumbre excluir la directiva como en MQL4.

La documentación también dice que se pueden utilizar hasta 64 colores para el trazado. Pero no he encontrado allí una manera de establecer el número de dicha paleta sin la enumeración monótona de cada color después de la directiva.

No obstante, he terminado con la pregunta.

Y esto

#define  GreenC 0x00FF00
#define  RedC 0x0000FF

¿no se puede cambiar en el bucle? No lo conozco en absoluto y por lo tanto no lo sé.

Al fin y al cabo, una matriz de colores también se puede rellenar en el bucle desde otra matriz. En el ejemplo, hay un array color colors = {}; donde se enumeran los colores. Y luego esa matriz de "servicio" se llena con PlotIndexSetInteger(1,PLOT_LINE_COLOR, index_in_array, color);

 

Descargo las cotizaciones de diferentes sitios y a menudo veo lagunas de 1-2 barras, los datos simplemente no están ahí

¿Cómo se pueden rellenar con una pérdida mínima de información? ¿Hay algoritmos?

Estoy seguro de que Metatrader lo hace

 
Roman Sharanov:

Descargo las cotizaciones de diferentes sitios y a menudo veo lagunas de 1-2 barras, los datos simplemente no están ahí

¿Cómo se pueden rellenar con una pérdida mínima de información? ¿Hay algoritmos?

Estoy seguro de que Metatrader lo hace.

MetaTrader no rellena los huecos - si hay una barra, se dibujará, si no hay barra, se saltará.

 
Vladimir Karputov:

Aquí está el examinador de prueba - todo funciona correctamente:

y el resultado:

Gracias por la respuesta detallada. Resultó que el error se observa sólo al probar el Asesor Experto en la historia, si lo conecto a los datos reales- todo está bien.

Si se ejecuta el experto bajo la depuración en los datos históricos se calcula incorrectamente:

2019.10.08 02:10:14.425 2019.01.01 00:00:00 Volumen 1.0, beneficio -> -50.00

2019.10.08 02:10:16.226 2019.01.01 00:00:00 Volumen 0.5, beneficio -> -50.00


 
aveshoff:

Gracias por la respuesta detallada. Resultó que el error se observa sólo cuando se prueba el Asesor Experto en la historia, si se conecta a los datos reales - todo está bien.

Si se ejecuta el experto bajo la depuración en los datos históricos se calcula incorrectamente:

2019.10.08 02:10:14.425 2019.01.01 00:00:00 Volumen 1.0, beneficio -> -50.00

2019.10.08 02:10:16.226 2019.01.01 00:00:00 Volumen 0.5, beneficio -> -50.00


Por favor, facilite la información completa: código completo, símbolo, marco temporal, cuántas posiciones y en qué símbolos están abiertas, en general para poder reproducir la situación.

 

¡Buenas tardes!

Me pueden decir cómo averiguar qué experto es por ID

ID 11032019, no se puede averiguar dónde encontrarlo?