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
- Ansichten:
- 13
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
MQTTFive – MQTT 5.0-Client für MQL5
Bibliothek (#include) zur Anbindung von MetaTrader-5-Expert Advisors und Skripten an MQTT-Broker (Mosquitto, EMQX, HiveMQ). Sie ermöglicht die Veröffentlichung von Kursen und Signalen, den Empfang von Befehlen aus externen Systemen sowie die Überwachung des Status von Expert Advisors.
Ohne DLL – reines MQL5, eigene Socket-API. MQTT-Protokoll v5.0.
Funktionen
- QoS 0, 1, 2 mit automatischer Wiederholung nicht gesendeter Nachrichten
- CONNECT/CONNACK-Eigenschaften: Sitzungsdauer, maximale Anzahl empfangener Pakete, maximale Anzahl von Themen-Aliasen.
- Verzögerte Veröffentlichung von Nachrichten
- Themen-Aliase – Reduzierung des Datenverkehrs bei doppelten Themen.
- Flusssteuerung – Berücksichtigung der Quote für das maximale Volumen empfangener Daten.
- Abonnementoptionen: no_local, retain_as_published, retain_handling
- TLS/SSL, binäre Nutzdaten, UTF-8
Installation
- Kopieren Sie die 5 Dateien aus dem Archiv in den Ordner MQL5/Include/MQTTFive/
- Im Code: #include <MQTTFive/MQTTClient.mqh>
Beispiel – Veröffentlichung eines Kurses
#include <MQTTFive/MQTTClient.mqh> void OnStart () { MQTTClient client; MQTTConnectParams params; params.Init(); params.client_id = "price_pub" ; if (client.Connect( "127.0.0.1" , 1883 , params)) { double bid = SymbolInfoDouble ( _Symbol , SYMBOL_BID ); client.Publish( "mt5/price/" + _Symbol , DoubleToString (bid, _Digits ), 0 ); client.Disconnect(); } }
Beispiel – Abonnieren von Signalen
MQTTClient *mqtt; void OnSignal( string &topic, uchar &payload[], uint payload_len) { string msg = CharArrayToString (payload, 0 , ( int )payload_len, CP_UTF8 ); Print ( "Signal: " , topic, " = " , msg); } void OnStart () { mqtt = new MQTTClient(); mqtt.SetCallback(OnSignal); MQTTConnectParams params; params.Init(); params.client_id = "signal_sub" ; mqtt.Connect( "127.0.0.1" , 1883 , params); mqtt.Subscribe( "trade/signal/#" , 1 ); while (! IsStopped ()) { mqtt.Loop(); Sleep ( 100 ); } mqtt.Disconnect(); delete mqtt; }
Wichtige Methoden
| Connect(host, port, params, useTLS) | Verbindung zum Broker herstellen |
| Disconnect() | Ordnungsgemäßes Beenden der Verbindung |
| ForceDisconnect() | TCP-Verbindung trennen (löst Will aus) |
| Publish(topic, payload, qos, retain) | Veröffentlichung einer Nachricht |
| Subscribe(topic, qos) | Dieses Thema abonnieren |
| Unsubscribe(topic) | Abmelden |
| Loop() | Paketverarbeitung, Aufrechterhaltung der Verbindung, Wiederholungsversuche |
| SetCallback(func) | Callback-Funktion für eingehende Nachrichten |
Anforderungen
- MetaTrader 5 (Build 3390+)
- MQTT-Broker 5.0 (Mosquitto >= 5.0, EMQX, HiveMQ)
Dokumentation: github.com/chekh/MQTTFive
Lizenz: MIT
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/73373
Institutional Markov Chain Transition Matrix
Eine quantitative stochastische Wahrscheinlichkeitsberechnungsmaschine, die Markov-Ketten-Übergangsmatrizen nutzt, um die prozentuale Wahrscheinlichkeit einer Fortsetzung des Aufwärts- oder Abwärtstrends im nächsten algorithmischen Ausführungszyklus mathematisch zu prognostizieren.
Institutional Market Reversal - The SMC way
IMR ist ein vielschichtiger, quantitativer Reversal-Finder, der für diskretionäre Price-Action-Trader entwickelt wurde, die sich weigern, blind zu handeln. Er hilft Tradern dabei, das aktuelle Marktregime zu verstehen – sei es eine Akkumulations-, Distributions- oder Fortsetzungsphase.
Accumulation/Distribution
Der Accumulation/Distribution Indikator wird aus Änderung von Preis und Volumen bestimmt.
Accelerator Oszillator (AC)
Der Acceleration/Deceleration Indikator (AC) misst die Beschleunigung und Verlangsamung des aktuellen Marktimpulses, der Kraft der Kursbewegung.
