English Русский 中文 Español 日本語 Português
preview
Arbitrage-Handel im Forex: Ein einfacher synthetischer Market-Maker-Bot für den Einstieg

Arbitrage-Handel im Forex: Ein einfacher synthetischer Market-Maker-Bot für den Einstieg

MetaTrader 5Handelssysteme |
19 17
Yevgeniy Koshtenko
Yevgeniy Koshtenko

Einleitung: Vom Einzelhändler zum institutionellen Denken

Ich werde oft gefragt, wie ich dazu kam, TrisWeb_Optimized zu entwickeln. Die Geschichte beginnt im Jahr 2016, als ich mich zum ersten Mal in die Welt des Forex stürzte, mit der Naivität eines Neulings und dem Glauben an den Indikatorhandel. Damals glaubte ich noch an den „heiligen Gral“ des Handels – eine magische Kombination von Indikatoren, die angeblich 1.000 USD in einem Jahr in eine Million verwandeln würde.

Die Revolution in meinem Denken fand 2017 statt, als ich nach einer Reihe von schmerzhaften Verlusten begann zu studieren, wie große Spieler tatsächlich handeln. Damit meine ich nicht diejenigen, die auf YouTube über ihre „Millionengewinne“ sprechen, sondern echte Institutionen – Banken, Hedgefonds und Eigenhandelsfirmen.

Und das habe ich herausgefunden: Sie verwenden keine ausgefallenen Indikatorstrategien. Sie wenden mathematische Prinzipien, Risikomanagement, Arbitrage, Market Making und andere Ansätze an, die auf einem grundlegenden Verständnis der Marktmechanismen basieren. In diesem Moment habe ich meine Entscheidung getroffen: Ich musste handeln wie ein großer Spieler oder gar nicht handeln.

Die nächsten drei Jahre verbrachte ich mit dem Studium institutioneller Handelsmethoden. Ich tauchte in die Welt der Intermarket-Korrelationen, der statistischen Arbitrage und des algorithmischen Handels ein. Ich experimentierte mit Python und MQL und schuf Prototypsysteme, die die Ansätze großer Marktteilnehmer nachahmten, aber für Kleinhändler mit ihren Kapital- und Technologiebeschränkungen angepasst wurden.

Im Januar 2020, am Vorabend einer der turbulentesten Zeiten in der Geschichte der Finanzmärkte, wurde Tris_Optimized geboren – meine Antwort auf die Frage: „Wie kann ein Einzelhändler institutionelle Strategien anwenden?“

Dieser EA versucht nicht, Marktbewegungen vorherzusagen, stützt sich nicht auf Indikatoren der technischen Analyse und erfordert keine „Intuition“. Stattdessen berechnet es auf mathematische Weise potenzielle Ungleichgewichte zwischen drei miteinander verbundenen Währungspaaren und platziert eine Reihe von Aufträgen, um diese Ungleichgewichte aufzufangen, wenn sie entstehen.

In fünf Jahren Dauerbetrieb unter realen Marktbedingungen hat Tris_Optimized seine Tauglichkeit bewiesen. Er hat Pandemien, Inflationsschübe, Zinsänderungen und geopolitische Krisen überstanden – und wirft weiterhin beständige Gewinne ab (in den seltenen Fällen, in denen ich tatsächlich handele, anstatt die ganze Nacht über Code-Ideen und die tatsächlichen Codes zu brüten). Es handelt sich nicht um ein Wundersystem, das exorbitante Renditen verspricht, sondern um ein zuverlässiges Arbeitsinstrument, das auf den Grundprinzipien des institutionellen Handels beruht.

Dieses Fundament institutionellen Denkens ermöglicht es mir heute, erfolgreich auf verschiedenen Märkten zu handeln. Während ich mich in den letzten Jahren auf Strategien des maschinellen Lernens konzentriert habe, bleiben Arbitrage-Ansätze immer ein wichtiger Teil meines Handelsarsenals. Die Kombination von statistischen ML-Methoden mit den von institutionellen Händlern verwendeten fundamentalen Marktmustern verschafft mir einen erheblichen Vorteil. Ich wurde sogar zu einem kleinen, nicht sehr bekannten Hedgefonds eingeladen. Außer mir hat der Fonds nur einen Risikomanager und einen Verwalter, und wir warne nahe dran, eine Infrastruktur für Hedgefonds auf Basis des MetaTrader 5 fertigzustellen.

Vor ein paar Wochen habe ich meinen Cloud-Speicher überprüft und bin dabei auf ein Archiv mit meinen alten Handelsrobotern gestoßen. Dazu gehörte auch Triss_Optimized, eines meiner ersten Projekte, das trotz seiner „Einfachheit“ im Vergleich zu modernen ML-Systemen weiterhin funktioniert und Ergebnisse liefert. Ich habe es auf einem Testkonto laufen lassen und war überrascht – selbst ohne Optimierung für die aktuellen Marktbedingungen zeigte es positive Ergebnisse.

Daraufhin beschloss ich, diesen Code mit der Gemeinschaft zu teilen. Nicht, weil es sich um ein revolutionäres System handelt, das Sie innerhalb eines Monats zum Millionär macht, sondern weil dieser Code ein gutes Beispiel dafür ist, wie Sie als Einzelhändler einen institutionellen Ansatz auf den Handel anwenden können. Es ist eine Art Brücke zwischen zwei Welten, die Ihnen helfen kann, den gleichen Übergang zu schaffen, den ich einst gemacht habe.

In diesem Artikel werde ich die Funktionsweise von TrisWeb_Optimized erläutern, seine Architektur erklären und meine Erfahrungen mit seiner Einrichtung und Optimierung teilen. Sind Sie bereit, in die Welt des professionellen algorithmischen Handels einzutauchen? Dann lasst uns beginnen.


Drei-Währungs-Devisenarbitrage: Das EURUSD-GBPUSD-EURJPY-Dreieck

Beginnen wir mit der Tatsache, dass die Dreiecksarbitrage am Forex eine echte Geisterjagd ist. Stellen Sie sich folgende Situation vor: Sie beobachten gleichzeitig EURUSD, GBPUSD und EURJPY und versuchen, ein flüchtiges Kursungleichgewicht zu erwischen – wenn eine geschlossene Schleife EUR→USD→GBP→EUR Ihnen zumindest ein paar Pips Nettogewinn beschert. Aber die Wahrheit ist, dass reine Arbitragemöglichkeiten so selten sind wie Einhörner in der Moskauer Innenstadt. Die Institute mit ihren Hochfrequenz-Algorithmen und ihrem direkten Zugang zu Liquidität nutzen diese Chancen schneller, als man blinzeln kann.

Deshalb habe ich TrisWeb_Optimized entwickelt – einen EA, der nicht auf ideale Bedingungen wartet, sondern stattdessen ein dreidimensionales Netz von Aufträgen aufbaut, um Gewinne aus natürlichen Marktschwankungen zu erzielen. Dabei handelt es sich nicht um klassische Arbitrage im akademischen Sinne, sondern um eine Guerilla-Strategie eines Einzelhändlers, der die mathematischen Beziehungen zwischen drei Währungspaaren ausnutzt.


Synthetische Währungspaare in MQL5: Eine geheime Tür zur Arbitrage

Was ist ein synthetisches Währungspaar? Es ist ein Phantom, eine mathematische Abstraktion, die wir aus real gehandelten Instrumenten konstruieren. Beispielsweise können wir anhand der EURUSD- und GBPUSD-Kurse einen synthetischen EURGBP berechnen, der theoretisch genau dem realen EURGBP entsprechen sollte. Aber in der realen Welt gibt es immer Diskrepanzen, und sie sind unser tägliches Brot.

TrisWeb_Optimized erstellt keine expliziten Synthetics, sondern spielt mit deren unsichtbaren Strings. Hier ist ein Codeschnipsel, mit dem wir die aktuellen Preise für jedes Symbol ermitteln – der erste Schritt bei der Suche nach Ungleichgewichten:

// Get the current prices for each symbol
double priceSymbol1 = GetCurrentPrice(Symbol1);
double priceSymbol2 = GetCurrentPrice(Symbol2);
double priceSymbol3 = GetCurrentPrice(Symbol3);

Diese drei Fäden sind der Einstieg in einen mehrdimensionalen Raum der Möglichkeiten, in dem sich die kleinsten Abweichungen in echtes Geld verwandeln.


TrisWeb_Optimierte Architektur: Maschine, die die Pandemie überlebt hat

Als ich im Januar 2020 die ersten Stränge von TrisWeb_Optimized schrieb, stand die Welt am Rande einer Pandemie, von Marktturbulenzen und wahnsinniger Volatilität. Niemand hätte vorhersagen können, dass dieser einfache EA in einigen der extremsten Marktbedingungen seit Jahrzehnten seine Feuertaufe bestehen würde. Und wissen Sie was? Es hat überlebt. Es blühte sogar auf.

Das Herz des Systems schlägt in der Funktion OnTick() – sie wird bei jeder Kursänderung ausgelöst und analysiert das gesamte Bild an drei Fronten gleichzeitig:

void OnTick()
{
   // Calculate orders and profits
   int ordersCount1 = 0, ordersCount2 = 0, ordersCount3 = 0;
   double profit1 = 0, profit2 = 0, profit3 = 0;
   
   // Count pending orders
   CountPendingOrders(ordersCount1, ordersCount2, ordersCount3);
   
   // Calculate open positions and their profit
   CountOpenPositions(ordersCount1, ordersCount2, ordersCount3, profit1, profit2, profit3);
   
   // ... rest of the code
}

Es scheint ein normaler Code zu sein. Hinter diesen Fäden verbirgt sich jedoch eine elegante modulare Architektur – jeder Aspekt des Systems ist als separate Funktion isoliert, wie ein separates Organ in einem gut koordinierten Organismus. Keine Verwirrung, keine Unordnung – nur eine klare Aufgabenteilung.


Anpassung der Netzparameter: Ein Tanz mit der Unbeständigkeit

Der Devisenmarkt ist wie ein Ozean – EURUSD fließt langsam und majestätisch wie tiefe Strömungen, während EURJPY in einem plötzlichen Tsunami explodieren kann. Der Versuch, diese Paare mit denselben Parametern zu handeln, ist ein sicherer Weg zur Enttäuschung. Aus diesem Grund ermöglicht TrisWeb_Optimized die Anpassung der Rasterparameter für jedes Werkzeug:

input group "Step Settings"
input int Step01_Symbol1 = 40;      // Initial step for Symbol1 (in points)
input int Step02_Symbol1 = 60;      // Step between orders for Symbol1 (in points)
input int Step01_Symbol2 = 40;      // Initial step for Symbol2 (in points)
input int Step02_Symbol2 = 60;      // Step between orders for Symbol2 (in points)
input int Step01_Symbol3 = 40;      // Initial step for Symbol3 (in points)
input int Step02_Symbol3 = 60;      // Step between orders for Symbol3 (in points)

In den fünf Jahren, in denen ich mit diesem System arbeite, habe ich ein einzigartiges Ritual entwickelt: Für ruhige Paare wie EURUSD verwende ich Standardschritte von 40 und 60 Punkten, während ich sie bei feurigen JPY-Kreuzungen auf 50 und 80 erhöhe. Es ist, als würde man die Empfindlichkeit der Angelrute für verschiedene Fischarten einstellen – mit dem gleichen Ansatz fängt man entweder alles oder nichts.


Optimierung der Losgröße: Adaptives System DNA

Eine feste Losgröße ist der Weg des Anfängers. Ein Profi weiß: Volumen muss mit dem Kontostand atmen. TrisWeb_Optimized kann dies dank der Funktion CalculateOptimalLotSize() tun, die ich als mein kleines Meisterwerk betrachte:

double CalculateOptimalLotSize(string symbol, double baseSize)
{
   if(!AutoLotOptimization)
      return baseSize;
      
   double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
   double lotStep = SymbolInfoDouble(symbol, SYMBOL_VOLUME_STEP);
   double minLot = SymbolInfoDouble(symbol, SYMBOL_VOLUME_MIN);
   // ... the rest of the calculation code
}
Diese Funktion ist ein echtes Schweizer Taschenmesser. Es berücksichtigt den aktuellen Kontostand, den eingestellten Risikoprozentsatz, den Pip-Wert für ein bestimmtes Symbol, die Beschränkungen des Brokers in Bezug auf die Mindestlosgröße und den Schritt, und außerdem – und darauf bin ich besonders stolz – passt es die Berechnungen für exotische Währungen automatisch an:
// Adjustment for pairs with JPY and other exotic currencies
string quoteCurrency = StringSubstr(symbol, 3, 3);
if(quoteCurrency == "JPY" || quoteCurrency == "XAU" || quoteCurrency == "XAG")
   pointCost *= 100.0;

Für Uneingeweihte: Der Wert eines Pips bei Paaren mit dem japanischen Yen ist 100 Mal geringer als bei den wichtigsten Paaren. Vergessen Sie diese Einstellung, und Ihr Roboter wird entweder mikroskopisch kleine Volumina handeln oder Sie in einer Sitzung ruinieren.


EA-Betrieb Zeitmanagement: Algorithmus für den zirkadianen Rhythmus

Der Devisenmarkt ist rund um die Uhr in Betrieb, aber das bedeutet nicht, dass Ihr EA dasselbe tun sollte. Es gibt Zeiten, in denen es am besten ist, beiseite zu treten – die Übernachtsitzung mit ihren großen Spreads und unnatürlichen Bewegungen bringt oft mehr Probleme als Chancen. TrisWeb_Optimized hat dank der Funktion IsWorkTime() einen eingebauten „zirkadianen Rhythmus“:

bool IsWorkTime()
{
   MqlDateTime currentTime;
   TimeToStruct(TimeLocal(), currentTime);
   
   datetime currentTimeSeconds = HoursMinutesToSeconds(currentTime.hour, currentTime.min);
   datetime startTimeSeconds = HoursMinutesToSeconds(StartTimeHour, StartTimeMin);
   datetime endTimeSeconds = HoursMinutesToSeconds(EndTimeHour, EndTimeMin);
   
   return (startTimeSeconds <= currentTimeSeconds && currentTimeSeconds <= endTimeSeconds);
}
Die Funktion CheckNewDayAndWorkTime() fügt dem EA eine weitere menschliche Eigenschaft hinzu – die Fähigkeit, an jedem neuen Tag „mit einer weißen Weste zu beginnen“:
void CheckNewDayAndWorkTime()
{
   if(IsNewDay && IsNewDayReset && IsWorkTime())
   {
      DeleteAllOrders();
      IsNewDay = false;
   }
   
   if(!IsWorkTime())
   {
      IsNewDay = true;
   }
}

Dies ist langfristig besonders wertvoll, da das System keinen Rückstau an veralteten Aufträgen anhäuft, sondern das Netz ständig entsprechend den aktuellen Marktbedingungen aktualisiert.


Algorithmus zum Verlassen von Positionen: Die Kunst, pünktlich zu gehen.

Im Handel wie im Leben ist es nicht nur wichtig, zum richtigen Zeitpunkt einzusteigen, sondern auch zum richtigen Zeitpunkt auszusteigen. TrisWeb_Optimized verwendet ein einfaches, aber effizientes Kriterium – das Erreichen einer bestimmten Höhe des Gesamtgewinns:

// Total number of orders
int totalOrders = ordersCount1 + ordersCount2 + ordersCount3;
double totalProfit = profit1 + profit2 + profit3;

// If there are no orders, create them; if there are, check for profit.
if(totalOrders == 0)
{
   if(IsWorkTime())
   {
      PlaceInitialOrders();
   }
}
else if(totalProfit > Profit)
{
   DeleteAllOrders();
}
Aber der Teufel steckt wie immer im Detail. Das System berücksichtigt nicht nur den „nackten“ Gewinn, sondern das Gesamtergebnis unter Berücksichtigung von Swaps und Provisionen:
double swap = PositionGetDouble(POSITION_SWAP);
double profit = PositionGetDouble(POSITION_PROFIT);
double commission = PositionGetDouble(POSITION_COMMISSION);
double totalProfitForPosition = profit + swap + commission;

Dies ist entscheidend für die langfristige Performance, insbesondere wenn Sie Positionen über Nacht halten, wenn Swaps berechnet werden. Andernfalls kann es passieren, dass das System profitable Kombinationen ignoriert oder umgekehrt solche für profitabel hält, die aufgrund negativer Swaps eigentlich Verluste bringen.


Feinabstimmung der Auftragsausführung: Der Pakt mit dem Marktteufel

In der Welt des Hochfrequenzhandels kann die Qualität der Ausführung den Unterschied zwischen Gewinn und Verlust ausmachen. TrisWeb_Optimized verwendet MQL5-Strukturen auf niedriger Ebene, um eine maximale Kontrolle über den Auftragserteilungs- und Ausführungsprozess zu gewährleisten:

bool OpenBuyStop(string symbol, double volume, double openPrice)
{
   MqlTradeRequest request = {};
   MqlTradeResult result = {};
   
   request.action = TRADE_ACTION_PENDING;
   request.symbol = symbol;
   request.volume = volume;
   request.type = ORDER_TYPE_BUY_STOP;
   request.price = openPrice;
   request.deviation = Deviation;
   request.magic = EXPERT_MAGIC;
   
   if(UseCommentsInOrders)
      request.comment = OrderComment;
   
   if(!OrderSend(request, result))
   {
      Print("OrderSend error ", GetLastError(), " retcode: ", result.retcode);
      return false;
   }
   
   return true;
}
Besondere Aufmerksamkeit sollte dem Parameter Abweichung gewidmet werden – er bestimmt, wie weit der Auftrag vom gewünschten Preis entfernt ausgeführt werden kann:
input int Deviation = 3;          // Acceptable price deviation

Dies ist Ihre Vereinbarung mit dem Marktteufel: „Ich bin bereit, eine Leistung zu akzeptieren, die 3 Punkte schlechter ist als die von mir geforderte, aber nicht mehr“. In Zeiten hoher Volatilität kann dies den Unterschied zwischen einem erfüllten Auftrag und einer verpassten Gelegenheit ausmachen. Bei einem zu kleinen Wert werden Ihre Aufträge aufgrund von Requotes abgelehnt, bei einem zu großen Wert riskieren Sie, zu einem unerwartet schlechten Preis ausgeführt zu werden.


Anzeige und Analyse von Informationen in Echtzeit: die Augen und Ohren des Händlers

Als ich mit der Entwicklung von TrisWeb_Optimized begann, erkannte ich, dass eines der Hauptprobleme vieler EAs darin besteht, dass sie wie eine „Black Box“ funktionieren, die den Händler daran hindert zu verstehen, was vor sich geht. Deshalb habe ich die Ausgabe detaillierter Informationen über die Funktion DisplayInfo() hinzugefügt:

void DisplayInfo(int totalOrders, double totalProfit, 
                double profit1, double profit2, double profit3,
                int count1, int count2, int count3)
{
   string info = "";
   
   if(AutoLotOptimization)
   {
      double lot1 = CalculateOptimalLotSize(Symbol1, Lot_Symbol1);
      double lot2 = CalculateOptimalLotSize(Symbol2, Lot_Symbol2);
      double lot3 = CalculateOptimalLotSize(Symbol3, Lot_Symbol3);
      
      info += "Auto Lot: " + Symbol1 + "=" + DoubleToString(lot1, 2) + 
              ", " + Symbol2 + "=" + DoubleToString(lot2, 2) + 
              ", " + Symbol3 + "=" + DoubleToString(lot3, 2) + "\n";
   }
   
   // ... the rest of the information generation code
   
   Comment(info);
}
Sie können zwischen einem einfachen Anzeigemodus (für diejenigen, die Minimalismus bevorzugen) und einer detaillierten Analyse wählen, die eine Aufschlüsselung für jedes Währungspaar enthält:
input bool DisplayDetailedInfo = false;  // Show detailed information

Es ist wie der Unterschied zwischen dem einfachen Armaturenbrett eines alten Autos, das nur einen Tachometer und eine Tankanzeige hat, und einem modernen Cockpit mit Dutzenden von Anzeigen und Monitoren – die Wahl hängt von Ihrem Fahrstil ab.

Hier sehen Sie, wie sich eines der alten Sets verhielt:

 


Skalierung des Systems: Von einem einfachen Bot zu einem Handelsimperium

TrisWeb_Optimized ist nicht nur ein fertiger EA, sondern eine Grundlage für den Aufbau Ihres eigenen Arbitrage-Imperiums. In den fünf Jahren seiner Entwicklung habe ich es immer wieder verändert, neue Funktionen hinzugefügt und bestehende optimiert. Hier sind einige Richtungen, in denen Sie das System entwickeln können:

Die Integration mit Python eröffnet enorme Möglichkeiten für Korrelationsanalysen und die Anwendung von Methoden des maschinellen Lernens. Stellen Sie sich vor, Sie könnten nicht nur die aktuellen Kurse, sondern auch die historischen Interaktionsmuster zwischen drei Währungspaaren analysieren und die wahrscheinlichsten Ungleichgewichte vorhersagen.

Benachrichtigungen über die Telegram-API machen Ihre Strategie noch mobiler – Sie werden immer über wichtige Ereignisse informiert, auch wenn Sie nicht in der Nähe Ihres Handelsterminals sind. Dies ist besonders wertvoll, wenn der EA auf einem entfernten VPS ausgeführt wird.

Die Ausweitung auf weitere Währungspaare macht TrisWeb zu einer vollwertigen Arbitrage-Plattform. Warum sollten Sie sich auf drei Instrumente beschränken, wenn Sie ein Netzwerk aus Dutzenden miteinander verbundener Paare schaffen können, das Hunderte potenzieller Arbitragemöglichkeiten aufzeigt?

All diese Änderungen erfordern nur minimale Eingriffe in den bestehenden Code, wobei die Grundstruktur und die Betriebslogik erhalten bleiben. Es ist wie beim Bau zusätzlicher Räume in einem bestehenden Haus – das Fundament ist bereits gelegt, es muss nur noch die Wohnfläche erweitert werden.


Anstelle einer Schlussfolgerung

Vor fünf Jahren, als die erste Version von TrisWeb_Optimized veröffentlicht wurde, hätte ich mir nicht vorstellen können, welchen Weg es nehmen würde. Es hat Marktstürme, Zeiten extremer Volatilität und relative Ruhe überstanden. Es hat sich von einem einfachen Skript zu einem ausgereiften Handelssystem entwickelt. Aber das Wichtigste ist, dass es nie aufgehört hat, Gewinn zu machen.

Im nächsten Teil des Artikels werden wir uns mit den praktischen Aspekten der Einrichtung von TrisWeb_Optimized befassen, reale Beispiele für den Betrieb des Systems untersuchen und Geheimnisse für die Optimierung von Parametern für verschiedene Marktbedingungen teilen. Bleiben Sie dran – die interessantesten Dinge kommen erst noch!

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/17424

Beigefügte Dateien |
Triss_Optimized.mq5 (40.02 KB)
Letzte Kommentare | Zur Diskussion im Händlerforum (17)
Maxim Kuznetsov
Maxim Kuznetsov | 19 Jan. 2026 in 18:33
MrBrooklin #:
Expert Advisors, die in Artikeln veröffentlicht oder in CodeBase gepostet werden, sind nicht profitabel.

Profitabel oder nicht profitabel ist das Ergebnis einer Kombination aus Trader+technischen Mitteln (Expert Advisors eingeschlossen).

In den Artikeln und in der Codebase gab es viele vernünftige, aber je weiter man geht, desto mehr falsche, die weder dem Trader noch den Entwicklern in irgendeiner Weise helfen. arbitrage von Währungssynthetik ist eine davon.

MrBrooklin
MrBrooklin | 20 Jan. 2026 in 05:30
Maxim Kuznetsov #:

profitabel ist oder nicht, ist das Ergebnis einer Kombination aus Händlern und technischen Mitteln (einschließlich Beratern).

In den Artikeln und in der Codobase gab es eine Menge vernünftiger Ratschläge, aber je weiter man geht, desto mehr falsche Ratschläge gibt es, die weder dem Händler noch den Entwicklern in irgendeiner Weise helfen. Arbitrage von Währungssynthetik ist einer davon.

Das Schlüsselwort ist "früher"! ) Aber jetzt nicht mehr.
Mit freundlichen Grüßen, Vladimir.
MrBrooklin
MrBrooklin | 21 Jan. 2026 in 07:13
Kenneth Michael Chambers #:
... Ich habe es in den EA einprogrammiert...

Hallo. Sehr interessant, was haben Sie in Ihren EA einprogrammiert? Ich würde gerne die Details wissen.

Mit freundlichen Grüßen, Vladimir.

Zhang Yi
Zhang Yi | 3 Feb. 2026 in 13:45

Ich muss sagen, dass dieser Typ so gut wie nichts weiß.


double commission = PositionGetDouble(POSITION_COMMISSION);

Der Wert ist immer 0, und von hier aus ist es klar, dass er hier ist, um sein Honorar zu betrügen. 😂😂😂😂

Arinze Michael Ejike
Arinze Michael Ejike | 3 Feb. 2026 in 16:27
MrBrooklin #:
Das Schlüsselwort ist "früher"! ) Aber jetzt nicht mehr.
Mit freundlichen Grüßen, Vladimir.
Es gibt großartige Inhalte in der Codebasis. Besonders die Bibliotheksabschnitte. Wie der beste Teil der Codebasis.
Die Übertragung der Trading-Signale in einem universalen Expert Advisor. Die Übertragung der Trading-Signale in einem universalen Expert Advisor.
In diesem Artikel wurden die verschiedenen Möglichkeiten beschrieben, um die Trading-Signale von einem Signalmodul des universalen EAs zum Steuermodul der Positionen und Orders zu übertragen. Es wurden die seriellen und parallelen Interfaces betrachtet.
Neuroboids Optimierungsalgorithmus (NOA) Neuroboids Optimierungsalgorithmus (NOA)
Eine neue bioinspirierte Metaheuristik zur Optimierung, NOA (Neuroboids Optimization Algorithm), kombiniert die Prinzipien der kollektiven Intelligenz und der neuronalen Netze. Im Gegensatz zu herkömmlichen Methoden verwendet der Algorithmus eine Population von selbstlernenden „Neuroboiden“, von denen jeder sein eigenes neuronales Netz hat, das seine Suchstrategie in Echtzeit anpasst. Der Artikel zeigt die Architektur des Algorithmus, die Mechanismen des Selbstlernens der Agenten und die Aussichten für die Anwendung dieses hybriden Ansatzes auf komplexe Optimierungsprobleme.
Eine alternative Log-datei mit der Verwendung der HTML und CSS Eine alternative Log-datei mit der Verwendung der HTML und CSS
In diesem Artikel werden wir eine sehr einfache, aber leistungsfähige Bibliothek zur Erstellung der HTML-Dateien schreiben, dabei lernen wir auch, wie man eine ihre Darstellung einstellen kann (nach seinem Geschmack) und sehen wir, wie man es leicht in seinem Expert Advisor oder Skript hinzufügen oder verwenden kann.
Vom Neuling zum Experten: Zeitlich gefilterter Handel Vom Neuling zum Experten: Zeitlich gefilterter Handel
Nur weil ständig Ticks eingehen, heißt das nicht, dass jeder Moment eine Gelegenheit zum Handeln ist. Heute befassen wir uns eingehend mit der Kunst des Timings und konzentrieren uns auf die Entwicklung eines Algorithmus zur Zeitisolierung, der Händlern dabei hilft, die für sie günstigsten Marktfenster zu identifizieren und zu handeln. Die Pflege dieser Disziplin ermöglicht es Privatanlegern, sich besser auf das Timing der institutionellen Anleger einzustellen, bei denen Präzision und Geduld oft über den Erfolg entscheiden. Nehmen Sie an dieser Diskussion teil, in der wir die Wissenschaft des Timings und des selektiven Handels mit Hilfe der analytischen Fähigkeiten von MQL5 erkunden.