Discusión sobre el artículo "Creación de un Expert Advisor que opera con varios instrumentos"

 

Artículo publicado Creación de un Expert Advisor que opera con varios instrumentos:

El concepto de diversificación de activos en los mercados financieros es bastante antiguo, y siempre ha atraído a los operadores principiantes. En este artículo, el autor propone un enfoque muy simplificado para la implementación de un Expert Advisor multidivisa, para una introducción inicial a este tipo de estrategias de trading.

Figura 8. Combinaciones del símbolo de la variable dStoh y la dirección de la tendencia

Autor: Nikolay Kositsin

 
  1. Muchas gracias al autor por el artículo.

  2. ¿Por qué la elección de un instrumento en el probador, con los parámetros del Asesor Experto sin cambios y otras condiciones de prueba, afecta a los resultados de la prueba?

EURUSD

GBPUSD

USDJPY

    3.¿Dependen los resultados del trabajo del Asesor Experto de la elección del gráfico y el período del gráfico adjunto del Asesor Experto, en otras condiciones sin cambios?

    4. ¿Por qué en

    dtema2 = NormalizeDouble(TEMA[2] - TEMA[3], _Digits + 4);
    dtema1 = NormalizeDouble(TEMA[1] - TEMA[2], _Digits + 4);

    en lugar de

    _Digits

no se utiliza

SymbolInfoInteger(Symbol_, SYMBOL_DIGITS)

y ¿por qué se aumenta el valor de _Digits en +4?

 
ias:
  1. ¿Por qué la elección de una herramienta en el probador, con los parámetros de EA sin cambios y otras condiciones de prueba, afecta a los resultados de la prueba?

Sólo puedo suponer que está relacionado con el algoritmo de generación de ticks. lea este https://www.mql5.com/ru/forum/1031.

Allí llegué a la conclusión de que sólo se puede confiar en el modo de prueba por los precios de apertura, pruébelo, tal vez entonces los resultados coincidirán.

Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
  • www.mql5.com
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5".
 
ias:

2. ¡Es difícil de decir! ¡Yo mismo soy muy curioso!

3. ¡Bueno, dependerán del periodo del gráfico por razones obvias! Pero no debería haber diferencias serias dependiendo del chip en el que se encuentre el Asesor Experto. En la vida real, los ticks en todos los chips enganchan la función OnTick( ) de manera diferente, pero aún así en grandes marcos de tiempo la diferencia debería ser de centavos.

4. Gracias por la metedura de pata detectada, ¡lo arreglaremos! Se ha aumentado la precisión en cuatro dígitos para eliminar situaciones en las que los valores dtema1 y dtema2 pueden ser iguales a cero. Es cuestión de gustos, a quién le gusta qué.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

5.¿Está permitido utilizar

ENUM_TIMEFRAMES timeframe=0
в
if (IsNewBar(Number, Symbol_, 0) || Recount[Number])
en las pruebas?
 
ias:

¿Está permitido su uso

en las pruebas?
No hay ningún problema.
 
ias:

¿Por qué la elección de una herramienta en el probador, con los parámetros del Asesor Experto sin cambios y otras condiciones de prueba, afecta a los resultados de la prueba?

Porque MT5 tiene fallos.

Si, por ejemplo, una curva de otro instrumento se superpone en el gráfico EURUSD.

#propiedad indicator_separate_window ....

copied=CopyClose(InstrumentName,0,0,CountsBars,Buffer);

si EURJPY - todo está bien, pero si EURCAD los datos son a veces en error

Si EURCAD en EURCAD, todo está bien.

En Alpari en el 90% en otras plataformas menos.

¡En resumen, algunos instrumentos no se combinan!

 
Es más lógico que los sistemas multidivisa procesen el algoritmo principal en un temporizador, para no depender de la intensidad del flujo de ticks en el instrumento principal (en el que se "cuelga" el Asesor Experto). Sólo en este caso los resultados de las pruebas multidivisa serán idénticos para cualquier instrumento seleccionado durante las pruebas.
 
Kos:

Es más lógico que los sistemas multidivisa procesen el algoritmo principal mediante un temporizador, para no depender de la intensidad del flujo de ticks en el instrumento principal (en el que se "cuelga" el Asesor Experto). Sólo en este caso los resultados de las pruebas multidivisa serán idénticos para cualquier instrumento seleccionado durante las pruebas.
Todo funciona normalmente sin temporizador en MQL4.
 
Kos:

Es más lógico que los sistemas multidivisa procesen el algoritmo principal en un temporizador, para no depender de la intensidad del flujo de ticks en el instrumento principal (en el que se "cuelga" el Asesor Experto). Sólo en este caso los resultados de las pruebas multidivisa serán idénticos para cualquier instrumento seleccionado durante las pruebas.

He estado diciendo esto durante mucho tiempo. :)

En los Asesores Expertos que existen ahora, el temporizador no interviene ni un 10% de lo que debería.

La idea de la necesidad de gestionar la posibilidad de operar en determinados instrumentos en base a parámetros es bastante buena (yo mismo uso este tipo de cosas desde MT4), pero la implementación es francamente cutre.

En mi opinión, las monedas deben ser recogidos en grupos por algún atributo, y en los parámetros para gestionar los grupos enteros, y el trabajo final en cada instrumento por separado para llevar a cabo ya a nivel de variables o matrices (dependiendo de la implementación).

 
gisip:
Todo funciona bien en MQL4 sin temporizador.

Bueno, no existe en MQL4, tampoco hay estructuras y clases allí, ¿sugieres renunciar a ellas aquí?


IMHO

Usar o no la librería estándar es cuestión de gustos de cada uno (en el peor de los casos, puedes usar sólo tu propio código), pero renunciar a todas las ventajas sólo porque no están disponibles en MT4 no es muy razonable.....