Trade-Arbitrage: Tu Asesor Experto para MetaTrader 4

Mike 2009.11.27 19:46 11 0 0
Archivos adjuntos

Teoría:

Vamos a ver cómo funciona con el par EURUSD. Imagina que tenemos dos pares sintéticos: EURUSDx y EURUSDy.

Tienen dinámicas similares, así que si abrimos dos posiciones opuestas en estos pares, obtendremos una posición cubierta.

Abrir: COMPRA EURUSDx y VENDER EURUSDy. Después de un tiempo, cerramos estas posiciones: VENDER EURUSDx y COMPRAR EURUSDy.

Beneficio: Beneficio = (BIDx - ASKx) + (BIDy - ASKy) = (BIDx - ASKy) + (BIDy - ASKx)

En la expresión que se presenta arriba, conocemos el valor del primer paréntesis (COMPRA EURUSDx y VENDER EURUSDy).

El valor del segundo paréntesis se conoce después de cerrar las posiciones (VENDER EURUSDx y COMPRAR EURUSDy).

Existen varios casos con valores de Beneficio positivos. Uno de ellos es:

Al abrir: BIDx > ASKy,

Al cerrar: BIDy > ASKx.

Práctica:


El asesor experto Trade-Arbitrage lo utiliza (puedes modificarlo para cualquier otra condición).

En tiempo real, busca casos cuando BIDx > ASKy para TODOS los pares sintéticos posibles (miles de casos) y abre las posiciones correspondientes.

Esto significa que el asesor experto Trade-Arbitrage siempre tiene una cobertura multicurrency.

Crea el archivo ArbitrageStatistic.txt con casos de arbitraje ordenados (por frecuencia).


Ejemplo de archivo ArbitrageStatistic.txt


Si Monitoring es VERDADERO, el asesor experto agrega algunos detalles de arbitraje al archivo Arbitrage.txt.


Arbitrage.txt con detalles

El trading se realiza con los pares definidos en el archivo Trade-Arbitrage.txt (la ubicación del archivo es: experts\files).



Ejemplo de archivo Trade-Arbitrage.txt

Además, registra algunos detalles para un análisis posterior (negocios, razones y resultados):


Resultados del asesor Trade-Arbitrage (arriba), NettoTrading (izquierda) y CheckMyArbitrage (derecha)

La cobertura multicurrency puede verificarse utilizando un script cíclico CheckMyArbitrage.

Parámetros de entrada:

  • Divisas - lista de divisas utilizadas para el par sintético.
  • MinPips - diferencia mínima permitida (como arbitraje) en puntos (antigua) entre BIDx y ASKy.
  • SlipPage - deslizamiento en pips permitido por el bróker para órdenes de mercado (diferentes brókers tienen diferentes valores).
  • Lock - los bloqueos son permitidos (VERDADERO) o no (FALSO).
  • Lots - Volumen de la posición para abrir/cerrar.
  • MaxLot - máximo lote permitido por el bróker (real).
  • MinLot - mínimo lote permitido por el bróker (real).
  • Monitoring - registrar todos los casos de arbitraje en el archivo (VERDADERO) o no (FALSO). El registro puede tomar algo de tiempo, lo cual podría ser crítico para el arbitraje.
  • TimeToWrite - Período de tiempo de registro (en minutos) para el registro de datos estadísticos de arbitraje (ArbitrageStatistic.txt).

El experto funciona correctamente (no rompe la cobertura multicurrency):

  • Errores en la orden de comercio (Rechazos, etc.).
  • Ejecución parcial (Ejecutados Parciales). Algunos brókers lo permiten.
  • función, con el lote mínimo posible permitido por el bróker (MinLot).
  • si Lock = VERDADERO utiliza órdenes de comercio mínimas mínimas.
  • Puede prohibir casos de bloqueo (Lock = FALSO).

Posibles problemas:

  • Los deslizamientos y comisiones negativos están consumiendo las ganancias.
  • Ejecución prolongada de órdenes de comercio, hay algunos casos en que los precios de otros símbolos cambian significativamente.
  • Procesamiento asíncrono de órdenes de comercio por parte del bróker.
  • Tiempo de arbitraje pequeño.

Posibles mejoras:

  • Uso de órdenes limitadas.
  • Envío simultáneo para varios símbolos (emulación de asincronía) de órdenes de comercio desde múltiples terminales para una cuenta.
  • Control de tiempo del bróker asincronía.
  • Recolección y uso de más información estadística para utilizar en otras condiciones de MinPips de arbitraje. Por ejemplo, BIDx - ASKy> SPREADx + SPREADy.
  • Recolección y uso de información estadística sobre la duración del arbitraje.
  • Prioridad de la cola de órdenes de mercado (por ejemplo, el símbolo con mayor volumen de ticks o el símbolo con el precio local extremo).

Características:

  • Multicurrency, por lo que no puede ser usado en el tester de estrategia. Puede ejecutarse como script.
  • La historia de precios no se utiliza. La teoría del arbitraje utiliza la ineficiencia del mercado (ineficiencia de cotización), así que la naturaleza de las cotizaciones no es importante.
  • El asesor funciona sin pérdidas.

Nota del editor:

Ten en cuenta que es una traducción espejo de la versión original en ruso.

Si tienes alguna pregunta para el autor, sugerencias o comentarios, es mejor publicarlos aquí allí.

Si has encontrado este código útil para el trading o fines educativos, no olvides agradecer al autor.
Lista
Comentarios 0