请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
程序库

MQTTFive — MQTT 5.0 客户端库 - MetaTrader 5程序库

Sergey Chekh
Sergey Chekh
👋 Hi there! I write robots, systems, and other stuff in Python and MQL5.
📊 My workday is a marathon of creating neural networks and algorithmic trading robots, which I make trade through MetaTrader. I teach them to play the market just like I taught my dog to balance a treat on his nose.
| Chinese English Русский Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
显示:
17
等级:
(1)
已发布:
\MQL5\Include\MQTTFive\
MQTTTypes.mqh (10.13 KB) 预览
MQTTCodec.mqh (15.02 KB) 预览
MQTTClient.mqh (20.94 KB) 预览
\MQL5\Scripts\
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

MQTTFive — 适用于 MQL5 的 MQTT 5.0 客户端

用于将 MetaTrader 5 专家顾问和脚本连接至 MQTT 服务器(Mosquitto、EMQX、HiveMQ)的库(#include)。它支持发布行情和信号、接收来自外部系统的指令,以及监控专家顾问的状态。

无需 DLL— 纯 MQL5 实现,自带套接字 API。采用 MQTT v5.0 协议。

功能

  • QoS 0、1、2,支持未发送消息的自动重传
  • CONNECT/CONNACK属性:会话有效期、最大接收数据包数、最大主题别名数。
  • 延迟发布的预设消息
  • 主题别名——减少重复主题产生的流量。
  • 流量控制——对最大接收数据量的配额进行管理。
  • 订阅选项:no_local、retain_as_published、retain_handling
  • TLS/SSL、二进制有效载荷、UTF-8


arch

安装

  1. 将压缩包中的 5 个文件复制到 MQL5/Include/MQTTFive/ 文件夹中
  2. 在代码中:#include <MQTTFive/MQTTClient.mqh>

示例——发布价格

#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();
     }
  }

示例——订阅信号

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;
  }



主要方法

Connect(host, port, params, useTLS) 连接到消息代理
Disconnect() 正确结束会话
ForceDisconnect() 断开 TCP 连接(由 Will 触发)
Publish(topic, payload, qos, retain) 发布消息
Subscribe(topic, qos) 订阅该主题
Unsubscribe(topic) 取消订阅
Loop() 数据包处理、连接维护、重试
SetCallback(func) 用于传入消息的回调函数

要求

  • MetaTrader 5(版本 3390+)
  • MQTT 5.0 经纪商(Mosquitto >= 5.0、EMQX、HiveMQ)

文档: github.com/chekh/MQTTFive

许可证: MIT

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/73373

Institutional Markov Chain Transition Matrix Institutional Markov Chain Transition Matrix

一种定量随机概率引擎,它利用马尔可夫链转移矩阵,从数学角度预测下一个算法执行周期中多头或空头走势延续的概率百分比。

Institutional Market Reversal - The SMC way Institutional Market Reversal - The SMC way

IMR 是一款多层定量反转识别工具,专为那些拒绝盲目交易、注重价格走势的自主交易者设计。它能帮助交易者了解当前的市场状态,无论是积聚、分销还是延续。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。