Unisciti alla nostra fan page
- Visualizzazioni:
- 68
- Valutazioni:
- Pubblicato:
- Aggiornato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
MQTTFive — client MQTT 5.0 per MQL5
Libreria (#include) per connettere gli expert advisor di MetaTrader 5 e gli script ai broker MQTT (Mosquitto, EMQX, HiveMQ). Consente di pubblicare quotazioni e segnali, ricevere comandi da sistemi esterni e monitorare lo stato degli expert advisor.
Senza DLL — MQL5 puro, API socket proprietaria. Protocollo MQTT v5.0.
Funzionalità
- QoS 0, 1, 2 con ripetizione automatica dei messaggi non inviati
- Proprietà CONNECT/CONNACK: durata della sessione, numero massimo di pacchetti ricevuti, numero massimo di alias per gli argomenti.
- Messaggi con pubblicazione ritardata
- Alias delle topic – riduzione del traffico su topic duplicati.
- Gestione del flusso: controllo della quota relativa al volume massimo di dati ricevuti.
- Opzioni di sottoscrizione: no_local, retain_as_published, retain_handling
- TLS/SSL, payload binario, UTF-8
Installazione
- Copiare i 5 file dall’archivio nella cartella MQL5/Include/MQTTFive/
- Nel codice: #include <MQTTFive/MQTTClient.mqh>
Esempio - pubblicazione del prezzo
#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(); } }
Esempio: iscrizione ai segnali
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; }
Metodi principali
| Connect(host, port, params, useTLS) | Connessione al broker |
| Disconnect() | Chiusura corretta della sessione |
| ForceDisconnect() | Interruzione della connessione TCP (avvia Will) |
| Publish(topic, payload, qos, retain) | Pubblicazione di un messaggio |
| Subscribe(topic, qos) | Iscriviti a questo argomento |
| Unsubscribe(topic) | Annulla iscrizione |
| Loop() | Elaborazione dei pacchetti, mantenimento della connessione, tentativi ripetuti |
| SetCallback(func) | Funzione di callback per i messaggi in arrivo |
Requisiti
- MetaTrader 5 (build 3390+)
- Broker MQTT 5.0 (Mosquitto >= 5.0, EMQX, HiveMQ)
Documentazione: github.com/chekh/MQTTFive
Licenza: MIT
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/73373
Institutional Markov Chain Transition Matrix
Un motore di probabilità stocastico quantitativo che utilizza le matrici di transizione delle catene di Markov per prevedere matematicamente la probabilità percentuale di una continuazione rialzista o ribassista nel prossimo ciclo di esecuzione algoritmica.
Institutional Market Reversal - The SMC way
IMR è uno strumento quantitativo multilivello per l'individuazione delle inversioni di tendenza, progettato per i trader discrezionali che operano sulla base dell'andamento dei prezzi e che rifiutano di fare trading alla cieca. Aiuta i trader a comprendere quale sia l'attuale regime di mercato: se si tratti di accumulo, distribuzione o continuazione.
Long-Only Trend Breakout with Dynamic Risk Management
Breakout è un expert advisor per MetaTrader 5, semplice e automatizzato, progettato per cogliere lo slancio algoritmico dei breakout nei mercati rialzisti strutturali.
Quantum XAUUSD Silver Trader
EA multi-indicatore per l'oro (XAUUSD) e l'argento (XAGUSD): segnali RSI, ADX e MA, trailing stop ATR adattivo e protezione del capitale integrata.
