Pero me di cuenta de que hay una línea de código debe ser así(sobre la línea 125 en este script):
línea 125: for ( int i = copy_count-1; i >= 0; i -- )...
debido al i > 0(creo que debería ser i >= 0), no existe el primer registro.
^_^
si sustituyes > 0 por >= 0, recuperas también los datos de la última barra (es decir, la más reciente, la actual), que probablemente estén incompletos. Aunque este puede ser el comportamiento deseado, puede ser bastante engañoso.
Hola amigo, cuando ejecuto el script la última vela no aparece en los archivos .csv. Por ejemplo, en Brasil, el último día de negociaciones fue el pasado 4 de septiembre y en la exportación sólo aparece hasta el 3 de septiembre.
Exporté el .csv en la forma estándar de Metatrader 5 (Archivo> Guardar) y aparece la vela del 4 de septiembre. ¿Me podrían ayudar?
Hola amigo, cuando ejecuto el script la última vela no aparece en los archivos .csv. Por ejemplo, en Brasil, el último día de negociaciones fue el pasado 4 de septiembre y la exportación sólo muestra hasta el 3 de septiembre.
Exporté el .csv en la forma estándar de Metatrader 5 (Archivo> Guardar) y aparece la vela del 4 de septiembre. ¿Me podrían ayudar?
¡Hola!
Sólo tienes que cambiar "i > 0" por "i >= 0" en esta fila:
Creo que estoy haciendo algo mal. Después de terminar de ejecutar mi EA en el Probador de Estrategias, arrastro y suelto este script en el gráfico de salida pero sólo obtengo resultados vacíos. Hay algo muy básico que no estoy recibiendo. ¿Pueden ayudarme?
What are the differences between the three modes of testing in MetaTrader 5, and what should be particularly looked for? How does the testing of an EA, trading simultaneously on multiple instruments, take place? When and how are the indicator values calculated during testing, and how are the events handled? How to synchronize the bars from different instruments during testing in an "open prices only" mode? This article aims to provide answers to these and many other questions.
// no más de 100 intentos fallidosif(++fail_cnt >= 100)
returnfalse;
No importa si son 100 o 1 millón de intentos, el siguiente bloque nunca tiene éxito:
//la copia de la siguiente parte fuerza la carga de datosif (CopyTime(symbol,period,size-1,1,times)==1)
{
returntrue;
}
También en CheckServerHistory:
//¿Suficientes datos en el servidor?if (first_server_date>TimeCurrent()-size*PeriodSeconds(period))
returnfalse;
esta condición difícil *siempre* devuelve falso porque la fecha reconocida de first_server_date suele estar más cerca del presente de lo que la historia esperada alcanzaría en el pasado. Especialmente si asigna en la opción de gráficos "max bars in chart" a "unlimited" entonces TERMINAL_MAXBARS devolverá 1000000 y por lo tanto esta condición siempre considerará que nunca hay suficiente historia cargada.
No importa si son 100 o 1 millón de intentos, el siguiente bloque nunca tiene éxito:
También en CheckServerHistory:
esta condición difícil *siempre* devuelve falso porque la fecha reconocida de first_server_date suele estar más cerca del presente de lo que la historia esperada alcanzaría en el pasado. Especialmente si asigna en la opción de gráficos "max bars in chart" a "unlimited" entonces TERMINAL_MAXBARS devolverá 1000000 y por lo tanto esta condición siempre considerará que nunca hay suficiente historia cargada.
Tienes razón, simplemente copié este código de la biblioteca estándar.
Ya he reescrito estas funciones para adaptarlas a mis necesidades. Pero no estoy listo para actualizar la publicación en este momento.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Autor: Andrey Khatimlianskii
Hola,
¿Es posible cambiar el script para que el archivo .csv generado se haga del presente al pasado?
Agradecido por la atención.
Gracias
¿Es posible cambiar el script para que el archivo .csv generado se haga del presente al pasado?
Sí, basta con cambiar esta fila
por la siguiente:
Muchas gracias. ¡Me funciona!
Pero me di cuenta de que hay una línea de código debe ser así(sobre la línea 125 en este script):
línea 125: for ( int i = copy_count-1; i >= 0; i -- )...
debido al i > 0(creo que debería ser i >= 0), no existe el primer registro.
^_^
si sustituyes > 0 por >= 0, recuperas también los datos de la última barra (es decir, la más reciente, la actual), que probablemente estén incompletos. Aunque este puede ser el comportamiento deseado, puede ser bastante engañoso.
¡Gracias Andrey Khatimlianskii !
¡Hola!
Sólo tienes que cambiar "i > 0" por "i >= 0" en esta fila:
Hola,
Creo que estoy haciendo algo mal. Después de terminar de ejecutar mi EA en el Probador de Estrategias, arrastro y suelto este script en el gráfico de salida pero sólo obtengo resultados vacíos. Hay algo muy básico que no estoy recibiendo. ¿Pueden ayudarme?
Gracias
2021.01.05 21:10:32.910 HistoryExport (Usa500,H1) Descargando historial y escribiendo archivos: 0.0% completo...
No importa si son 100 o 1 millón de intentos, el siguiente bloque nunca tiene éxito:
esta condición difícil *siempre* devuelve falso porque la fecha reconocida de first_server_date suele estar más cerca del presente de lo que la historia esperada alcanzaría en el pasado. Especialmente si asigna en la opción de gráficos "max bars in chart" a "unlimited" entonces TERMINAL_MAXBARS devolverá 1000000 y por lo tanto esta condición siempre considerará que nunca hay suficiente historia cargada.
2021.01.05 21:10:32.910 HistoryExport (Usa500,H1) Descargando historial y escribiendo archivos: 0.0% completo...
No importa si son 100 o 1 millón de intentos, el siguiente bloque nunca tiene éxito:
esta condición difícil *siempre* devuelve falso porque la fecha reconocida de first_server_date suele estar más cerca del presente de lo que la historia esperada alcanzaría en el pasado. Especialmente si asigna en la opción de gráficos "max bars in chart" a "unlimited" entonces TERMINAL_MAXBARS devolverá 1000000 y por lo tanto esta condición siempre considerará que nunca hay suficiente historia cargada.
Tienes razón, simplemente copié este código de la biblioteca estándar.
Ya he reescrito estas funciones para adaptarlas a mis necesidades. Pero no estoy listo para actualizar la publicación en este momento.