거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
라이브러리

CExecutionSafety - Ping + Execution Latency Guard for MQL5 EAs - MetaTrader 5용 라이브러리

조회수:
28
평가:
(3)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

개요

CExecutionSafety는 네트워크 또는 체결 조건이 좋지 않은 상태에서 전문가 어드바이저가 거래를 체결하지 못하도록 보호하도록 설계된 경량 MQL5 포함 클래스입니다.
실시간 터미널 핑과 실제 벽시계 실행 지연이라는 두 가지 지연 요소를 측정하고, 두 요소의 합산 값이 구성 가능한 임계값을 초과하면 거래 시도를 차단합니다.

이 솔루션이 해결하는 문제

대부분의 EA는 네트워크 조건에 관계없이 맹목적으로 실행됩니다. 중요한 주문 중에 핑 또는 브로커 측의 체결 지연이 급증하면 슬리피지, 재호가 또는 체결 실패가 발생할 수 있습니다.
CExecutionSafety는 조건이 악화될 때 체결을 방지하는 사전 거래 안전 게이트를 도입합니다.

작동 방식

이 클래스는 두 가지 데이터 소스를 사용합니다:

  • TERMINAL_PING_LAST: 메타터미널이 기록한 가장 최근 핑을 읽습니다(밀리초 단위).
  • RecordExecDelay(): 모든 CTrade 연산을 감싸는 벽시계 측정값을 받습니다.

이 두 값은 합산되어 구성된 임계값과 비교됩니다. 합산된 지연 시간이 임계값을 초과하면 CheckExecutionSafety()는 false를 반환하고 진단 로그 항목을 인쇄합니다.
그림 1: 터미널_핑_마지막

연결 해제 가드

터미널에 서버 연결이 없는 경우 TERMINAL_PING_LAST는 -1을 반환합니다. 이 클래스는 이를 감지하고 자동으로 거짓을 반환하여 연결이 끊긴 터미널에서 거래 시도를 방지합니다.

통합 예시

파일을 포함시키고 EA에 클래스를 인스턴스화합니다:

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

접근자

대시보드 표시 또는 외부 로직에 사용할 수 있는 읽기 전용 접근자는 다음과 같습니다:

  • GetPingMs(): 현재 터미널 핑(ms)
  • GetExecDelayMs(): 마지막으로 기록된 실행 지연(ms)
  • GetCombinedMs(): 핑 + 실행 지연 합산(연결이 끊어지면 9999 반환)
  • HasExecSample(): 하나 이상의 측정값이 기록되면 참입니다.
  • GetThresholdMs(): 구성된 안전 임계값

변경 로그

  • v1.0 - 초기 릴리스
  • v1.1 - Guard 매크로 이름이 변경되었습니다. I64u 형식 지정자가 (문자열) 형 변환으로 대체되었습니다.
  • v1.2 - Init() 반환 유형이 void → bool로 변경되었습니다. 오래된 샘플을 방지하기 위해 재시작 시 상태 초기화

MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/70033

Institutional Z-Score Statistical Reversion Institutional Z-Score Statistical Reversion

A professional quantitative oscillator that replaces traditional retail momentum indicators like the RSI, it calculates the statistical standard deviation of price action to identify mathematically exhausted reversals.

Institutional Unmitigated Order Block Matrix Institutional Unmitigated Order Block Matrix

A dynamic Smart Money utility that identifies institutional Order Blocks backed by volume anomalies and automatically tracks their mitigation state to keep your charts clean and focused on fresh liquidity.

Institutional Cumulative Volume Delta (CVD) Institutional Cumulative Volume Delta (CVD)

An advanced order flow engine that approximates tick-by-tick aggressor data to calculate the true Cumulative Volume Delta, it exposes institutional absorption and divergence hidden within standard price candles.

ASQ Divergence Detector ASQ Divergence Detector

ASQ Divergence Detector scans your chart for regular and hidden RSI divergences and marks them with color-coded, non-repaint arrows.