und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5

Ähnlichkeitsbasiertes Market Watch Symbol Mapping Script - Skript für den MetaTrader 5
- Veröffentlicht:
- Enrique Enguix
- Ansichten:
- 14
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Dieses Skript ist eine Code-Referenz, die MetaTrader 5-Entwicklern und -Benutzern helfen soll, ein häufig auftretendes Problem zu lösen: die Diskrepanz zwischen den konfigurierten Symbolnamen und den tatsächlichen Namen, die von Brokern bereitgestellt werden.
Als Entwickler bin ich mit dieser Herausforderung konfrontiert, wenn ich an konfigurierbaren Expert Advisors (EAs) arbeite, insbesondere an solchen, die mit Multi-Symbol-Strategien arbeiten. Es kommt häufig vor, dass Benutzer die Symbolnamen nicht gemäß den Konventionen ihres Brokers festlegen, was dazu führt, dass die EAs nicht korrekt funktionieren. Wenn zum Beispiel in den EA-Einstellungen "EURUSD" angegeben ist, der Broker aber "EURUSD.i" oder "EURUSD.m" verwendet, findet der EA nicht das richtige Symbol und kann nicht handeln.
Dieser Code verwendet den Levenshtein-Distanz-Algorithmus, um das Symbol zu identifizieren, das dem vom Benutzer angegebenen Symbol unter allen im Market Watch-Fenster verfügbaren Symbolen am ähnlichsten ist.
Obwohl ich kein Experte bin, hat sich diese Lösung in meiner persönlichen Erfahrung als effektiv erwiesen und kann ein nützliches Werkzeug für andere Entwickler sein.
Hauptanwendungen und Einsatzmöglichkeiten:
- Integration in konfigurierbare EAs: Dieses Skript ist als Referenz für die Integration in EAs oder Skripte gedacht, die sich automatisch an Brokersymbolnamen anpassen müssen.
- Anpassungsfähigkeit für benutzerdefinierte Broker: Wenn ein Broker spezifische Namen für seine Symbole verwendet, hilft dieser Ansatz, sie korrekt zuzuordnen und Konfigurationsfehler zu vermeiden.
- Validierung der Konfiguration: Dies kann als Validierungstool während der Entwicklungs- und Testphase verwendet werden, um sicherzustellen, dass die EAs robust und anpassungsfähig sind.
- Bildung und Lernen: Für diejenigen, die MQL5 lernen, zeigt dieser Code, wie man mit Arrays, Strings und dynamischen Funktionen wie der Berechnung von Abständen zwischen Strings arbeitet.
Wichtige Warnung:
Dieser Code basiert auf meiner persönlichen Erfahrung und ist eine Lösung, die in meinen Projekten funktioniert hat. Allerdings:
- Ich bin kein Experte für MQL5, und diese Lösung ist möglicherweise nicht die effizienteste oder für alle Fälle geeignet.
- Es könnte fortschrittlichere oder spezifischere Ansätze geben, je nach den Bedürfnissen der einzelnen Benutzer oder Projekte.
Ich lade Benutzer und Entwickler ein, mit dem Code zu experimentieren, ihn an ihre eigenen Gegebenheiten anzupassen und gegebenenfalls andere Alternativen zu untersuchen, die möglicherweise besser geeignet sind.
Praktisches Beispiel für die Integration:
Angenommen, Sie haben einen EA entwickelt, der mit "EURUSD" handelt. In der Benutzerumgebung hat der Broker dieses Symbol als "EURUSD.i". Durch die Integration dieses Codes in den EA:
- Der Benutzer kann "EURUSD" als Basiskonfiguration eingeben.
- Der Code wird automatisch Market Watch durchsuchen und das richtige Symbol ("EURUSD.i") zuordnen.
- Der EA wird reibungslos funktionieren, ohne dass genaue manuelle Konfigurationen erforderlich sind.
Schlussfolgerung:
Dieses Skript ist nicht nur nützlich, um die Funktionalität von EAs in verschiedenen Umgebungen sicherzustellen, sondern dient auch als Ausgangspunkt für die Entwicklung fortgeschrittener Lösungen.
Auch wenn es andere Möglichkeiten gibt, dieses Problem zu lösen, hoffe ich, dass diese Implementierung ein wertvolles Werkzeug für andere MetaTrader 5-Entwickler und -Nutzer sein wird.
Übersetzt aus dem Spanischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/es/code/54553

Ein schnelles kleines Skript, das Händlern das Leben leichter macht. Eine Sache, die mich immer nervt, ist das Zurücksetzen der Eigenschaften wie Farben für ein neues Diagramm, damit es so aussieht, wie ich es möchte. Hier ist also ein Skript, um die Dinge glatter zu machen.

Dieses Skript ist eine Referenzlösung für das Mapping von Symbolnamen, die von Benutzern in MetaTrader 5 EAs oder Skripten konfiguriert wurden, auf die tatsächlichen Namen, die vom Broker bereitgestellt werden. Es verwendet den Levenshtein-Distanz-Algorithmus, um automatisch das ähnlichste Symbol in Market Watch zu identifizieren. Es ist ideal für Entwickler, die Kompatibilitätsprobleme mit Präfixen oder Suffixen in Symbolnamen haben. Dies ist ein anpassungsfähiger Ausgangspunkt, der an alle spezifischen Bedürfnisse angepasst werden kann.

Der Accumulation/Distribution Indikator wird aus Änderung von Preis und Volumen bestimmt.

Der Acceleration/Deceleration Indikator (AC) misst die Beschleunigung und Verlangsamung des aktuellen Marktimpulses, der Kraft der Kursbewegung.