Asesores Expertos: Arbitrage Synthetic

 

Arbitrage Synthetic:

Robot para el arbitraje entre el par EURGBP y su cotización sintética (arbitraje triangular).


Autor: Maxim Dmitrievsky

 

He observado que la práctica de utilizar objetos gráficos en los Asesores Expertos es muy popular.

¿A qué se debe? Yo nunca lo he utilizado.

[Eliminado]  
fxsaber:

He observado que la práctica de utilizar objetos gráficos en los Asesores Expertos es muy popular.

¿A qué se debe? Yo nunca lo he utilizado.


No sé, supongo que soy un visualista y me gusta visualizar todo.

en este caso... si Dios quiere (el bot es viejo y ha cumplido su tiempo, pero tal vez en otro sitio se pueda ganar dinero) solo era interesante observar con mis ojos en tiempo real que retrasos hay entre el sintético y el par.

y un poco reelaborado antes de publicar, ya que se hizo posible obtener tiempos de tick hasta milisegundos en el probador (antes de que volviera hasta segundos).

 
Maxim Dmitrievsky:

No sé, supongo que soy un visualista y me gusta visualizarlo todo.

en este caso... si Dios quiere(el bot es viejo y ha cumplido su tiempo, pero quizás aún se pueda ganar dinero en algún sitio) simplemente era interesante observar con mis ojos en tiempo real qué retrasos hay entre el sintético y el par.

y un poco retocado antes de publicarlo ya que era posible conseguir tick time hasta milisegundos en el tester (antes se devolvía a segundos).

¿MT4?

[Eliminado]  
fxsaber:

¿MT4?


no, mt5, antiguo en el sentido de algo más de un año, cuando muchos brokers estaban empezando a introducir mt5 y su quoting no era perfecto, se podía fluctuar.

mt5 tester no devolvía los tiempos de tick a milisegundos que yo recuerde (o un poco más) hasta hace medio año.

 
DiffMax, DiffMin, EurDiffMax, EurDiffMin, GbpDiffMax, GbpDiffMin;

Es extraño que el compilador se salte la falta de inicialización sin avisar. De hecho, es una coincidencia que se inicialicen con null. Pero eso es un error, por supuesto.

 

¡Sabes calcular la media entre A y B! ¡¿Por qué?!

MedianEURUSD=NormalizeDouble(tickEUR.ask-(tickEUR.ask-tickEUR.bid)/2,_Digits);
[Eliminado]  
fxsaber:

Es extraño que el compilador se salte la falta de inicialización sin avisar. De hecho, es una coincidencia que se inicialicen con null. Pero es un error, claro.


Sí, así es. Por eso no me di cuenta de que todo funcionaba, supongo.

 
Es obviamente innecesario
         if(m_Position.PositionType()==POSITION_TYPE_SELL && m_Position.Profit()+m_Position.Commission()>0) m_Trade.PositionClose(symbol);
[Eliminado]  
fxsaber:

¡Sabes calcular la media entre A y B! ¿Por qué?


No puedo recordar lo que estaba pensando en ese momento, en realidad no importa.

[Eliminado]  
fxsaber:
Es obviamente innecesario.

¿por qué? profit+commiss, no entiendo por qué sin paréntesis :)