Unisciti alla nostra fan page
- Visualizzazioni:
- 14
- Valutazioni:
- Pubblicato:
-
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 prezzi 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: sottoscrizione 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
Consecutive Bars (with history) indicator for MT5
An oscillator that shows 2 line studies: 1 for consecutive up bars, and 1 for consecutive down bars.
Multi-Timeframe Candle Map
An educational MT5 panel that maps the live price vertically inside four developing candles and summarizes location alignment, dispersion, candle direction and time remaining.
Prop Firm Risk Dashboard - daily loss and drawdown monitor
A read-only on-chart panel that tracks your account against a daily-loss limit and a max-drawdown limit, with color-coded OK / WARNING / DANGER status. Monitoring only - it does not place, modify or close any orders.
MA_AC_Stochastic_Signal
This indicator shows trend direction (Moving Average) and trading signals (Stochastic + Accelerator).
