Mejor versión multidivisa

 

Hola, estoy intentando crea un sistema que opere con 2 o 3 pares en horas de mayor liquidez, en la apertura de Londres para ser mas exactos y por tanto necesito una forma de hacer que el multidivisa no se deje los ticks por el camino al ser mas de un par. He estado mirando ejemplos hechos y parece que hay diferentes opciones y me gustaria saber cual me puede servir mejor.

La del indicador (expia) que genera un evento y llama al método OnChartEvent no lo tengo nada claro. ¿No se supone que esta función solo funciona con eventos ajenos? por ejemplo al clikar con el ratón.

Me ha quedado claro lo de crear arrays por cada atributo de los pares. Y al operar los 3 pares por ejemplo en el mimo horario quizas no pueda usar la función OnTimer().

He apuntado algunas soluciones y a ver si alguien me puede guiar y explicar un poquito.

Aparte de las ya mencionadas.

- En el OnTick llamar a las mismas funciones pero en cada llamada usando un par distinto. Como lo dice en este articulo.

https://www.mql5.com/es/articles/105

- Meter todos los pares en un array de string y al recorrerlo ir llamando a la estructura MqlTick para que me dé el ultimo tick de cada símbolo. Aquí el problema que veo es el bucle e ir repasando todos los pares.


Aquí el problema mayor es que se puede operar con todos los pares al mismo momento y es un horario donde va a haber muchisimo movimiento.


Un saludo y gracias.

Creación de un Expert Advisor que opera con varios instrumentos
Creación de un Expert Advisor que opera con varios instrumentos
  • 2014.02.25
  • Nikolay Kositsin
  • www.mql5.com
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.
 
Cristo:

Hola, estoy intentando crea un sistema que opere con 2 o 3 pares en horas de mayor liquidez, en la apertura de Londres para ser mas exactos y por tanto necesito una forma de hacer que el multidivisa no se deje los ticks por el camino al ser mas de un par. He estado mirando ejemplos hechos y parece que hay diferentes opciones y me gustaria saber cual me puede servir mejor.

La del indicador (expia) que genera un evento y llama al método OnChartEvent no lo tengo nada claro. ¿No se supone que esta función solo funciona con eventos ajenos? por ejemplo al clikar con el ratón.

Me ha quedado claro lo de crear arrays por cada atributo de los pares. Y al operar los 3 pares por ejemplo en el mimo horario quizas no pueda usar la función OnTimer().

He apuntado algunas soluciones y a ver si alguien me puede guiar y explicar un poquito.

Aparte de las ya mencionadas.

- En el OnTick llamar a las mismas funciones pero en cada llamada usando un par distinto. Como lo dice en este articulo.

https://www.mql5.com/es/articles/105

- Meter todos los pares en un array de string y al recorrerlo ir llamando a la estructura MqlTick para que me dé el ultimo tick de cada símbolo. Aquí el problema que veo es el bucle e ir repasando todos los pares.


Aquí el problema mayor es que se puede operar con todos los pares al mismo momento y es un horario donde va a haber muchisimo movimiento.


Un saludo y gracias.

¿MT4 o MT5?

A ver si te sirve esto... https://www.mql5.com/es/articles/1052/32022#!tab=article

 
Jose Miguel Soriano:

¿MT4 o MT5?

A ver si te sirve esto... https://www.mql5.com/es/articles/1052/32022#!tab=article

Perdona como estaba en la página de MQL5 lo di por sentado. Si MT5.

No me abre la dirección del artículo, si la dirección la copio hasta el 1052 inclusive me abre un artículo de optimización. ¿Es ese?

 

Hola, 

lo único que intento comprender es como funciona la función OnChartEvent para la versión multi-divisa. Si yo estoy usando la misma estrategia para 3 pares que funcionan a la misma hora. Con la función OnTick podría analizar cada estrategia pero si los tengo todos asociados a una misma ventana, supongo que los ticks de entrada entrarían en conflicto los de un par con los de otro. 

Entonces la pregunta es ¿cómo maneja la función OnChartEvent o cualquiera otra función la llegada de ticks para cualquiera de los 3 pares sin interrumpir el flujo de llegada de unos a otros?. La estrategia es totalmente automática, eso quiere decir que nada de botones.

Había leído algo de indicadores que activasen la función OnChartEvent pero para que los indicadores devuelvan una señal de apertura le tendrá que llegar los ticks del par igualmente.

Todo esto en MT5. Gracias. 

 
Cristo:

Con la función OnTick podría analizar cada estrategia pero si los tengo todos asociados a una misma ventana, supongo que los ticks de entrada entrarían en conflicto los de un par con los de otro.


Yo no supondría y primero probaría. Luego, de ser así y de haber tal conflicto, hablamos con fundamento y pasamos al plan B y explicamos el OnChartEvent y lo que haga falta.

Piensa que trabajar con multidivisas y que apliques un EA en una sola ventana/instrumento NO influye en la recepción de datos, ya que eso es en segundo plano...incluso aunque los instrumentos no estuviesen listados en "Observación del Mercado".

Lo dicho...prueba y nos cuentas. ;)

Saludos! 

 
Creo que la mejor manera para desarrollarlo es mediante la función OnTick, diseñar primero mediante un void tus procesos para cada operación de tus tres símbolos, posterior a eso solo llamarlo desde la funciónOnTick, como tal en cuestión de tiempo hablamos de mili segundos por lo que en mi opinión no creo que te afecte.