Expert Advisors: Dreieckige Arbitrage

Dreieckige Arbitrage:

Dieser Expert Advisor (EA) implementiert eine dreieckige Arbitrage-Strategie zwischen drei Währungspaaren: EURUSD, USDJPY und 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 platziert wird, um zu arbeiten oder ist es notwendig, es in den drei Symbolen zu platzieren, die Sie erwähnen.
Jedes Symbol kann verwendet werden, auch ein anderes Symbol als die drei genannten, da sie alle im Code definiert sind.
Funktioniert gut auf historischen Daten (Zielgewinn auf 0,1 $ eingestellt). Ich habe die Verzögerung (ping) auf dem Niveau von 60 ms.

Ich habe es auch auf realen Daten auf einem Demo-Konto versucht:
Es öffnet und schließt Trades, aber mit einem Nachteil. Wahrscheinlich wegen der langen Ping-Zeit (ich hatte etwa 60 ms).
Ich möchte es über VPS versuchen.
sfhomebiz #:
Funktioniert gut auf historischen Daten(Ziel Gewinn auf 0,1 $ gesetzt). Ich habe die Verzögerung (ping) auf 60 ms eingestellt.
Der Grund ist dieser.
void CloseArbitragePositions()
{
   double totalProfit = 0;
  
   // Calcola il profitto cumulativo delle posizioni col 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.");
      
      // Die Positionen werden aus Sicherheitsgründen immer wieder neu festgelegt.
      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.");
            }
         }
      }
   }
}
Alle EAs mit dieser Bedingung wird etwas Gutes zeigen.
fxsaber #:
Der Grund dafür ist folgender. Alle EAs mit dieser Bedingung zeigen etwas Gutes.
Also druckt es keine Ergebnisse, die negativ waren?
xery #:
Es werden also keine negativen Ergebnisse angezeigt?

Nur wenn der Testdurchlauf gestoppt wird.

// Dies ist leistungsfähiger, höherer Trashold nutzbar 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; }
Warum haben Sie sich entschieden, das Gebot der ersten beiden Symbole zu verwenden, um den Briefkurs des Direktpreises zu berechnen und umgekehrt ...?

Hallo zusammen!

Ich interessiere mich für den Einsatz eines Expert Advisors (EA) für automatisierte Dreiecksarbitrage auf MetaTrader 5 und suche nach Brokern, die diese Art von Handelsstrategie zulassen.

Könnte mir jemand zuverlässige Broker empfehlen, deren Geschäftsbedingungen den Arbitrage-Handel, insbesondere die Dreiecksarbitrage, nicht ausdrücklich verbieten?

Ich interessiere mich insbesondere für Broker, die:

  1. die automatisierte Dreiecksarbitrage mithilfe von Expert Advisors (EAs) zulassen.

  2. Arbitrage-Strategien in ihren Allgemeinen Geschäftsbedingungen nicht ausdrücklich verbieten.

  3. legitime Gewinne aus Dreiecksarbitrage nicht stornieren oder rückgängig machen.

  4. MT5 unterstützen und eine schnelle automatisierte Ausführung ermöglichen.

  5. Kunden mit Wohnsitz in Brasilien akzeptieren.

Falls Sie selbst schon einmal Dreiecksarbitrage auf einem Live-Konto genutzt haben, würde ich mich sehr freuen, zu erfahren, welchen Broker Sie genutzt haben und ob Sie Einschränkungen, abgelehnte Trades oder Probleme bei der Auszahlung von Gewinnen erlebt haben.

Ich interessiere mich insbesondere für Broker, bei denen diese Strategie vertraglich erlaubt ist und nicht nur technisch möglich.

Vielen Dank im Voraus für Ihre Erfahrungsberichte und Empfehlungen!