Asesores Expertos: Arbitraje triangular

Arbitraje triangular:

Este Asesor Experto (EA) implementa una estrategia de arbitraje triangular entre tres pares de divisas: EURUSD, USDJPY y EURJPY

Author: Джованни Орсани

hola qusiera saber en que simbolo se coloca el EA para que trabaje o toca colocarlo en los tres simbolos que mencionas
Edward Garnica #: hola qusiera saber en que simbolo se coloca el EA para que trabaje o toca colocarlo en los tres simbolos que mencionas
Puede usarse cualquiera, incluso un símbolo diferente a los tres mencionados, ya que todos están definidos en el código.
Funciona bien en los datos históricos (objetivo de beneficio fijado en 0,1 $). Establecí el retraso (ping) en el nivel de 60 ms.

También lo probé en datos reales en una cuenta demo:
Abre y cierra operaciones, pero en desventaja. Probablemente debido al largo tiempo de ping (tuve alrededor de 60 ms).
Quiero probar a través de VPS.
sfhomebiz #:
Funciona bien con datos históricos(objetivo de beneficio fijado en 0,1 $). He establecido el retraso (ping) a 60 ms.
La razón es la siguiente.
void CloseArbitragePositions()
{
   double totalProfit = 0;
  
   // Calcular el beneficio acumulado de las posiciones con Magic Number
   for(int i = 0; i < PositionsTotal(); i++)
   {
      ulong ticket = PositionGetTicket(i);
      if(PositionSelectByTicket(ticket))
      {
         if(PositionGetInteger(POSITION_MAGIC) == MagicNumber)
            totalProfit += PositionGetDouble(POSITION_PROFIT);
      }
   }
  
   if(totalProfit >= ProfitTarget)
   {
      Print("Profit target raggiunto: ", totalProfit, ". Procedo alla chiusura delle posizioni.");
      
      // Cambia las posiciones iterando all'indietro per sicurezza
      for(int i = PositionsTotal() - 1; i >= 0; i--)
      {
         ulong ticket = PositionGetTicket(i);
         if(PositionSelectByTicket(ticket))
         {
            if(PositionGetInteger(POSITION_MAGIC) == MagicNumber)
            {
               string sym = PositionGetString(POSITION_SYMBOL);
               if(!trade.PositionClose(sym))
                  Print("Errore nella chiusura della posizione su ", sym, " - ", GetLastError());
               else
                  Print("Posizione su ", sym, " chiusa con successo.");
            }
         }
      }
   }
}
Todos los EAs con esta condición mostrará algo bueno.
fxsaber #:
La razón es la siguiente. Todos los EAs con esta condición mostrarán algo bueno.
Así que no imprime los resultados que fueron negativos?
xery #:
¿No muestra los resultados negativos?

Sólo cuando se detiene el paso del Comprobador.

// Esto es más potente, mayor trashold utilizable int CheckArbitrageOpportunity(double &diff, double &impliedPrice, double &directPrice) { double price1 = SymbolInfoDouble(symbol1, SYMBOL_BID); double price2 = SymbolInfoDouble(symbol2, SYMBOL_BID); directPrice = SymbolInfoDouble(symbol3, SYMBOL_ASK); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff > Threshold) return 1; price1 = SymbolInfoDouble(symbol1, SYMBOL_ASK); price2 = SymbolInfoDouble(symbol2, SYMBOL_ASK); directPrice = SymbolInfoDouble(symbol3, SYMBOL_BID); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff < -Threshold) return -1; return 0; }
michal_ SYMBOL_BID); double price2 = SymbolInfoDouble(symbol2, SYMBOL_BID); directPrice = SymbolInfoDouble(symbol3, SYMBOL_ASK); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff > Threshold) return 1; price1 = SymbolInfoDouble(symbol1, SYMBOL_ASK); price2 = SymbolInfoDouble(symbol2, SYMBOL_ASK); directPrice = SymbolInfoDouble(symbol3, SYMBOL_BID); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff < -Threshold) return -1; return 0; }
¿Por qué ha decidido utilizar la oferta de los dos primeros símbolos para calcular la demanda del precio directo y viceversa?

¡Hola a todos!

Me interesa utilizar un asesor experto (EA) para realizar arbitraje triangular automatizado en MetaTrader 5, y estoy buscando brókers que permitan este tipo de estrategia de trading.

¿Alguien podría recomendarme brókers fiables cuyos Términos y Condiciones no prohíban explícitamente el trading de arbitraje, en particular el arbitraje triangular?

Me interesan especialmente los brókers que:

  1. Permitan el arbitraje triangular automatizado mediante Asesores Expertos (EA).

  2. No prohíban explícitamente las estrategias de arbitraje en sus Términos y condiciones.

  3. No anulen ni reviertan los beneficios legítimos generados por el arbitraje triangular.

  4. Sean compatibles con MT5 y permitan una ejecución automatizada rápida.

  5. Aceptan clientes residentes en Brasil.

Si has utilizado personalmente el arbitraje triangular en una cuenta real, te agradecería mucho que me dijeras qué bróker utilizaste y si tuviste alguna restricción, operaciones rechazadas o problemas para retirar los beneficios.

Me interesan especialmente los brókers en los que esta estrategia esté permitida contractualmente, no solo sea técnicamente posible.

¡Gracias de antemano por compartir tu experiencia y tus recomendaciones!