Características del lenguaje mql5, sutilezas y técnicas - página 72

 

El campo MqlRates.spread contiene el valor mínimo del spread por barra. Esto es un sinsentido total para un backtest. Todo el mundo puede arreglarlo a través de símbolos personalizados de la siguiente manera

spread = LowAsk - LowBid; // условный код - не показывает обработку некоторых нюансов

Con este diferencial, los Asesores Expertos en las mismas órdenes de Límite se prueban maravillosamente (en términos de calidad y velocidad) en el modo "precios abiertos".

 

Ejecución de un agente de pruebas con la opción de utilizar la carpeta FILE_COMMON y OpenCL:

metatester64.exe /local /password:tester /address:0.0.0.0:2000
 
Los comentarios no relacionados con este tema han sido trasladados a "Discusión del artículo "Visualización de la optimización de la estrategia comercial en MetaTrader 5".
 

La principal ventaja de MT4 es su intuición y simplicidad en el código de programación
No hace falta que defina previamente lo que quiere hacer, hay matrices incorporadas como


iTime("USDCHF",PERIOD_H1,0),","," iOpen("USDCHF",PERIOD_H1,0),",
iHigh("USDCHF",PERIOD_H1,0),", ", iLow("USDCHF",PERIOD_H1,0),", ",
iClose("USDCHF",PERIOD_H1,0),", ", iVolume("USDCHF",PERIOD_H1,0);


Hay muchas clases y bibliotecas para MT5

¿Es imposible hacer tales clases y bibliotecas, que permitan programar en MT5 como se hace en MT4?
 
Stefan Stoyanov:

La principal ventaja de MT4 es su intuición y simplicidad en el código del programa
No hace falta que defina previamente lo que quiere hacer, hay matrices incorporadas como


iTime("USDCHF",PERIOD_H1,0),","," iOpen("USDCHF",PERIOD_H1,0),",
iHigh("USDCHF",PERIOD_H1,0),", ", iLow("USDCHF",PERIOD_H1,0),", ",
iClose("USDCHF",PERIOD_H1,0),", ", iVolume("USDCHF",PERIOD_H1,0));


Hay muchas clases y bibliotecas para MT5

No es posible hacer esas clases y librerías que permitan programar en MT5 como se hace en MT4

Hay muchas bibliotecas que te permiten escribir código en mt5 exactamente como lo escribiste en mt4.

 
Stefan Stoyanov:

¿Es imposible hacer algunas clases y librerías que permitan programar en MT5 como se hace en MT4?

Cuando fxsaber se vaya, pídele que escriba una biblioteca para poder escribir como en mql3 y así no tendrás que escribir nada. ¿No crees que es hora de crecer?

 

¿Cómo puedo saber la hora de la terminal, necesito saber el cambio en horas entre la terminal, y la local?

Existe TimeGMTOffset(), pero es realmente inútil.

Ahora mismo el terminal muestra 23:58, el local muestra 16:54. Pero tenemos que averiguar en qué turno GMT está funcionando la terminal. De lunes a viernes se puede averiguar con una pandereta.

Espero tener noticias suyas, ¡gracias!

 
Vitaly Muzichenko:

¿Cómo puedo averiguar la hora de la terminal, necesito averiguar el cambio en horas entre la terminal, y la local?

Existe TimeGMTOffset(), pero es realmente inútil.

Ahora mismo el terminal muestra 23:58, el local muestra 16:54. Pero tenemos que averiguar en qué turno GMT está funcionando la terminal. De lunes a viernes se puede averiguar con una pandereta.

Estoy deseando recibir respuestas, ¡gracias!

El terminal en la visión general del mercado muestra la hora de llegada del último tick del servidor del broker según la hora del broker.

Puede comparar el precio de cierre de un instrumento en un corredor desconocido con la hora de cierre de las mismas velas en un corredor conocido.

Calcula la diferencia de tiempo.

 
Kirill Belousov:

El terminal en la visión general del mercado muestra la hora de llegada del último tick del servidor del broker según la hora del broker.

Puede comparar el precio de cierre de un instrumento en un corredor desconocido con la hora de cierre de las mismas velas en un corredor conocido.

Calcula la diferencia de tiempo.

Pero de esta manera los candelabros mostrarán el tiempo del servidor también.

Supongamos que ahora inicio el terminal desde cualquier distribuidor, no hay cotizaciones, pero hay la última registrada enel resumen del mercado a las 23:58, pero con qué desfase GMT funciona - no se sabe.

¿O es que ya soy tonto y se puede descubrir muy fácilmente?

P.D. Supongamos que me pierdo en el tiempo y dejo de distinguir entre día/noche, días de la semana, hora.

¿Cómo saber que no hay cotizaciones porque es fin de semana, o por ejemplo el jueves no hay cotizaciones, porque el servidor está colgado en la sala de operaciones?

Veo esa solución, pero no veo cómo implementarla si no tengo tiempo en el servidor de comercio:

if( TimeCurrent()<TimeServer()+60 ) return( "нет котировок уже 1 минуту" );
 
Vitaly Muzichenko:

Pero de esta manera los candelabros también mostrarán la hora del servidor.

Supongamos que, ahora inicio el terminal de cualquier distribuidor, no hay cotizaciones, pero hay la última registrada enel resumen del mercado 23:58, pero con lo que el cambio de GMT funciona - no se sabe.

¿O es que ya soy tonto y se puede descubrir muy fácilmente?

P.D. Supongamos que me pierdo en el tiempo y dejo de distinguir entre día/noche, días de la semana, hora.

¿Cómo saber que no hay cotizaciones porque es fin de semana, o por ejemplo el jueves no hay cotizaciones, porque el servidor se cuelga en el trato?

Utilizando el precio de cierre, encuentre la vela en el historial de una empresa de corretaje independiente, en la que conoce el GMTOffset. La diferencia entre el tiempo de las velas le dará la diferencia entre las empresas de corretaje. Añade a la diferencia la GMT de la conocida y obtén la diferencia GMT de la desconocida.

Nunca se sabe la hora del servidor de comercio. Sólo se conoce la hora de la última cotización del símbolo.

Simplemente utilice los candelabros horarios.

Razón de la queja: