Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
- Visualizaciones:
- 15
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
MQTTFive: cliente MQTT 5.0 para MQL5
Biblioteca (#include) para conectar los asesores de MetaTrader 5 y los scripts a los servidores MQTT (Mosquitto, EMQX, HiveMQ). Permite publicar precios y señales, recibir comandos de sistemas externos y supervisar el estado de los asesores.
Sin DLL: MQL5 puro, API de sockets propia. Protocolo MQTT v5.0.
Características
- QoS 0, 1, 2 con reenvío automático de los mensajes no enviados
- Propiedades de CONNECT/CONNACK: duración de la sesión, número máximo de paquetes recibidos, número máximo de alias de temas.
- Mensajes programados con retraso en la publicación
- Alias de temas: reducción del tráfico en temas duplicados.
- Gestión del flujo: control de la cuota del volumen máximo de datos recibidos.
- Opciones de suscripción: no_local, retain_as_published, retain_handling
- TLS/SSL, carga útil binaria, UTF-8
Instalación
- Copia los 5 archivos del archivo comprimido en la carpeta MQL5/Include/MQTTFive/
- En el código: #include <MQTTFive/MQTTClient.mqh>
Ejemplo: publicación de precios
#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(); } }
Ejemplo: suscripción a señales
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étodos principales
| Connect(host, port, params, useTLS) | Conexión al bróker |
| Disconnect() | Cierre correcto de la sesión |
| ForceDisconnect() | Corte de la conexión TCP (lo inicia Will) |
| Publish(tema, carga útil, qos, retención) | Publicación de un mensaje |
| Subscribe(topic, qos) | Suscribirse a este tema |
| Unsubscribe(tema) | Darse de baja |
| Loop() | Procesamiento de paquetes, mantenimiento de la conexión, reintentos |
| SetCallback(func) | Función de devolución de llamada para mensajes entrantes |
Requisitos
- MetaTrader 5 (compilación 3390+)
- Bróker MQTT 5.0 (Mosquitto >= 5.0, EMQX, HiveMQ)
Documentación: github.com/chekh/MQTTFive
Licencia: MIT
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/73373
Institutional Markov Chain Transition Matrix
Un motor de probabilidad estocástico cuantitativo que utiliza matrices de transición de cadenas de Markov para pronosticar matemáticamente el porcentaje de probabilidad de que se mantenga la tendencia alcista o bajista en el próximo ciclo de ejecución algorítmica.
Institutional Market Reversal - The SMC way
IMR es un indicador cuantitativo de reversión de múltiples niveles diseñado para operadores discrecionales que se basan en la evolución del precio y se niegan a operar a ciegas. Ayuda a los operadores a comprender cuál es el régimen actual del mercado: si se trata de una fase de acumulación, de distribución o de continuación.
Accumulation/Distribution
El indicador Accumulation/Distribution (Acumulación/Distribución) queda determinado por los cambios que se producen en el precio y en el volumen.
Accelerator Oscillator (AC)
El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.
