Rejoignez notre page de fans
- Vues:
- 107
- Note:
- Publié:
- Mise à jour:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
MQTTFive — client MQTT 5.0 pour MQL5
Bibliothèque (#include) permettant de connecter les experts MetaTrader 5 et les scripts à des serveurs MQTT (Mosquitto, EMQX, HiveMQ). Elle permet de publier des cours et des signaux, de recevoir des commandes provenant de systèmes externes et de surveiller l'état des experts.
Sans DLL — MQL5 pur, API de sockets native. Protocole MQTT v5.0.
Fonctionnalités
- QoS 0, 1, 2 avec réenvoi automatique des messages non transmis
- Propriétés CONNECT/CONNACK : durée de la session, nombre maximal de paquets reçus, nombre maximal d’alias de sujets.
- Messages différés
- Alias de sujets – réduction du trafic sur les sujets redondants.
- Gestion du flux — prise en compte du quota sur le volume maximal de données reçues.
- Options d’abonnement : no_local, retain_as_published, retain_handling
- TLS/SSL, charge utile binaire, UTF-8
Installation
- Copiez les 5 fichiers de l'archive dans le dossier MQL5/Include/MQTTFive/
- Dans le code : #include <MQTTFive/MQTTClient.mqh>
Exemple : publication d'un cours
#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(); } }
Exemple : abonnement aux signaux
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; }
Méthodes principales
| Connect(host, port, params, useTLS) | Connexion au broker |
| Disconnect() | Fermeture correcte de la session |
| ForceDisconnect() | Rupture de la connexion TCP (lancée par Will) |
| Publish(topic, payload, qos, retain) | Publication d'un message |
| Subscribe(topic, qos) | S'abonner à ce sujet |
| Unsubscribe(topic) | Se désabonner |
| Loop() | Traitement des paquets, maintien de la connexion, tentatives répétées |
| SetCallback(func) | Fonction de rappel pour les messages entrants |
Configuration requise
- MetaTrader 5 (version 3390+)
- Courtier MQTT 5.0 (Mosquitto >= 5.0, EMQX, HiveMQ)
Documentation : github.com/chekh/MQTTFive
Licence : MIT
Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/73373
Institutional Markov Chain Transition Matrix
Un moteur de probabilité stochastique quantitatif qui utilise des matrices de transition de chaînes de Markov pour prévoir mathématiquement le pourcentage de probabilité d'une poursuite de la tendance haussière ou baissière lors du prochain cycle d'exécution algorithmique.
Institutional Market Reversal - The SMC way
IMR est un outil quantitatif à plusieurs niveaux permettant d'identifier les renversements de tendance, conçu pour les traders discrétionnaires axés sur l'évolution des cours qui refusent de négocier à l'aveuglette. Il aide les traders à comprendre quel est le régime actuel du marché : s'il s'agit d'une phase d'accumulation, de distribution ou de poursuite de tendance.
Long-Only Trend Breakout with Dynamic Risk Management
Breakout est un expert advisor MetaTrader 5 épuré et automatisé, conçu pour exploiter la dynamique algorithmique des cassures dans les marchés haussiers structurels.
Quantum XAUUSD Silver Trader
EA multi-indicateurs pour l'or (XAUUSD) et l'argent (XAGUSD) : signaux RSI, ADX et MA, stop suiveur ATR adaptatif et protection du capital intégrée.
