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

CExecutionSafety - Ping + Execution Latency Guard for MQL5 EAs - MetaTrader 5程序库

显示:
32
等级:
(2)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

概述

CExecutionSafety 是一个轻量级 MQL5 包含类,旨在保护智能交易系统(Expert Advisors)不会在恶劣的网络或执行条件下执行交易。
它测量实时终端 ping 和实际挂钟执行延迟这两个延迟组件,并在其组合值超过可配置阈值时阻止交易尝试。

解决的问题

大多数 EA 都是盲目执行,不管网络条件如何。在关键订单期间,ping 或经纪商端执行延迟的峰值会导致滑点、重新报价或成交失败。
CExecutionSafety 引入了交易前安全门,可在条件恶化时阻止执行。

工作原理

该类使用两个数据源:

  • TERMINAL_PING_LAST: 读取 MetaTerminal 记录的最近一次 ping(以毫秒为单位)
  • RecordExecDelay(): 接受您在任何 CTrade 操作中使用的挂钟测量值。

将这两个值相加,并与您配置的阈值进行比较。如果综合延迟超过阈值,CheckExecutionSafety() 返回 false 并打印诊断日志条目。
图 1:终端_Ping_Last

断开连接保护

当终端未与服务器联系时,TERMINAL_PING_LAST 返回-1。该类会检测到这一点并自动返回 false,以防止在断开连接的终端上进行交易尝试。

集成示例

在您的 EA 中包含该文件并实例化该类:

#include <DeeFX/CExecutionSafety.mqh> CExecutionSafety safety; int OnInit() { safety.Init(150); // 150ms 组合阈值 return INIT_SUCCEEDED; } void OnTick() { if(!safety.CheckExecutionSafety()) return; ulong t0 = GetTickCount64(); trade.PositionClose(ticket); safety.RecordExecDelay(GetTickCount64() - t0); }

访问器

以下只读访问器可用于仪表盘显示或外部逻辑:

  • GetPingMs(): 以毫秒为单位的当前终端 ping
  • GetExecDelayMs(): 上次记录的执行延迟,以毫秒为单位
  • GetCombinedMs(): ping + 执行延迟的组合(如果断开连接,则返回 9999)
  • HasExecSample():一旦记录了至少一次测量,则返回 true
  • GetThresholdMs(): 配置的安全阈值

更新日志

  • v1.0- 初次发布
  • v1.1- 重命名 Guard 宏。用(字符串)转换替换了 %I64u 格式指定符
  • v1.2- Init() 返回类型改为 void → bool。重新启动时重置状态,以防止采样过期

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/70033

Combine Multi Timeframe Trends into one trend using MA. Combine Multi Timeframe Trends into one trend using MA.

使用 MA 将多时间框架趋势合并为一个趋势。

Modern Time Panel - Candle Time Modern Time Panel - Candle Time

适用于 MT5 的现代时间面板 现代时间面板是一款适用于 MetaTrader 5 的时尚、简约的自定义指标,可帮助您精确跟踪时间。它整齐地固定在图表的右上角,显示当前的经纪商时间、本地时间以及到下一个蜡烛图(新条形图)的实时倒计时。倒计时配有一个独立的 1 秒计时器,即使在市场疲软或没有输入刻度线的情况下,倒计时也会持续运行。倒计时可完全自定义,并支持暗模式,是一款完美的非侵入式工具,可确保您不会错过蜡烛收盘。

Last Structure Indicator :  LSB Explorer Last Structure Indicator : LSB Explorer

这是一个实验性的 "最后结构突破"(Last Structure Break,LSB)价格行为指标,通过智能的支撑位和阻力位分析,发现有意义的市场结构和潜在的交易优势。

离散 离散

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