당사 팬 페이지에 가입하십시오
A library of 24 MQL5 classes that watches a prop-firm rulebook -- drawdown, daily loss, payout consistency, minimum trading days, news blackout -- against any account, and flattens on breach without ever opening a position of its own.
A lightweight, OOP-compliant MQL5 header class (.mqh) for accurate pip value calculation and dynamic lot sizing across all instruments, featuring automated cross-currency rate conversion and broker volume normalization.
Three position-sizing protections that do different things; confusing them is why so many accounts get wiped out: - ladder: one contract per X of balance, always applied as a CAP, even with manual lot sizing; - floor: below the minimum capital it does not trade; a new deposit is needed; - breaker: stops at X% below the peak, at any account size, and does not rearm by itself. What this library solves and almost none does: a deposit is not profit, and a withdrawal is not a loss. The breaker measures the drop against the balance peak. Untreated, a deposit made DURING a drawdown lifts balance and peak together, and the protection stops seeing the drop exactly when it would help. Here deposits and withdrawals shift the peak by the same amount. The peak is persisted to a file: a breaker that forgets the peak on a terminal restart is not a breaker. The demo simulates a deposit at the bottom of a drawdown. Run it with the deposit on and off and compare the "drop" column.
Four EAs writing to the same file, all with FILE_SHARE_READ|FILE_SHARE_WRITE, FileSeek(SEEK_END), FileWrite, FileClose. Looks correct. Every FileOpen returns success. No error in the log. And the lines vanish. Reason: FILE_SHARE_WRITE lets all four open at the same time. All four call FileSeek(SEEK_END) and get THE SAME offset, because none has written yet. All four write at the same position. Whoever closes last wins. Three lines vanish silently. In my case: 12 events expected, 8 in the file. The fix is to open EXCLUSIVELY (no FILE_SHARE_WRITE) and retry while another EA holds the file. And to shout in the log when the retries run out: a log that fails silently is worse than no log at all, because you trust it. The demo script reproduces both modes. To see the loss, drag it onto four charts at the same time with safe mode off and count the lines in the CSV. On a single chart the defect does not show up - which is why it passes in testing and breaks in production.
Detects the gold symbol whatever the broker calls it, reads the contract specification from the terminal instead of assuming it, and turns a risk in account currency into a lot size that is correct for that broker.
A daily process writes "today's decision" (which strategy runs, or FLAT) to a file the EAs read at the open. One day the writer did not run. The EAs read yesterday's file, compared its date with TimeCurrent() - the server clock, which had stepped back to the previous day overnight - saw a match, and traded all morning on a 24-hour-old decision. No error anywhere. Two rules, both in this class: 1) staleness is judged against TimeLocal(), which always moves forward; TimeCurrent() is the last tick's stamp - it freezes without ticks and can step back on reconnect. 2) When in doubt the answer is FLAT: missing file, bad date, wrong day, empty line - every failure path returns "do nothing", and each is logged ONCE per state change, not on every tick and not never. File format: line 1 = ISO date, line 2 = decision string. The demo writes a fresh, a stale, a malformed, an empty and a missing file, and shows that only the first is allowed to trade.
Four EAs on the same symbol, each one honest on its own: each checks "do I have a position?" with its own magic number, sees none, and enters. On a demo account this reached 22 contracts on a symbol meant to carry 1, and a watchdog had to close 16 positions in one morning. The cap belongs at the door, not after the fact. ExposureCap::Allowed(symbol, lots, cap) sums the volume of every open position on the symbol - all magic numbers, manual trades included - and refuses the order BEFORE it is sent when it would breach the cap. One log line with the three numbers (held, requested, cap) says why. Deliberately simple: gross exposure, no netting of longs against shorts, no per-EA quota. It is a check, not a lock: two EAs deciding on the same tick can both pass; in practice EAs on different charts decide on different ticks. The demo script prints held / cap / room for the current symbol and shows the refusal line. Nothing is traded.
MQL5에 Rust 스타일의 Result 타입을 도입하는, 크기가 작고 의존성이 적은 라이브러리입니다. 함수는 전역 GetLastError() 상태에 의존하는 대신 단일 값 또는 오류 객체를 반환하므로, 오류가 명확하게 드러나 무시할 수 없습니다. 이 라이브러리에는 ResultValue(값형) 및 Result(포인터로 참조되는 객체), Error 구조체, 조기 반환 매크로(TRY, RETURN_ON_ERROR 등)와 선택적 Then/Match/MapError 콜백이 포함되어 있습니다.
Advanced MQL5 risk management class providing deterministic lot sizing, auto-suffix detection, and cross-currency triangular conversion.
MQTTFive — MQL5용 MQTT 5.0 클라이언트의 완전한 구현체입니다. 기능: • MQTT v5.0 — 모든 패킷 유형, 속성, QoS 0/1/2 • 네이티브 MQL5 소켓 API를 통한 TCP + TLS • 속성(will_delay_interval, payload_format, message_expiry)이 포함된 Will 메시지 • 발신 PUBLISH용 Topic Alias • 흐름 제어(수신 최대값) • 구독 옵션(no_local, retain_as_published, retain_handling) • 바이너리 및 UTF-8 페이로드 • QoS 1/2에 대한 자동 재시도 • DLL 의존성 없음 — 순수 MQL5 Mosquitto 5.0에서 테스트 완료 (15회 테스트, 모두 통과). 문서: https://github.com/chekh/MQTTFive 라이선스: MIT
정적 리테일 리스크 모델을 기관용 변동성 조정 포지션 크기 조정(VAPS) 및 켈리 기준 수식으로 대체하는 객체 지향 MQL5 라이브러리(.mqh)입니다.
ASQ Order Executor — Institutional order execution wrapper for MQL5 EAs ASQ Order Executor provides institutional-grade order execution with automatic retry logic, slippage monitoring, partial fill handling, requote management, and comprehensive execution statistics. Drop it into any EA for production-ready trade execution.
기술적 세부 사항 현재 매수/매도 호가로 즉시 시장가 청산을 위해 TRADE_ACTION_DEAL과 함께 MQL5의 OrderSend를 사용합니다. 슬리피지 허용 오차(10포인트), 적절한 거래량 매칭, 매직넘버 보존 기능이 포함되어 있습니다. 실행 중 지수 이동을 방지하기 위해 포지션을 역순으로 반복합니다.
Institutional-grade forex session detection and analysis library for MetaTrader 5.
Economic calendar trading guard library for MetaTrader 5 with live MQL5 Calendar API integration.
A comprehensive stop-loss and trade management module offering multiple stop-loss methods (Fixed Pips, ATR-based, Swing High/Low, and Percentage) and trailing stop options (Fixed, ATR, Step, and Breakeven). It includes automatic broker stop-level adjustment, risk-reward–based take profit calculation, and visual stop-loss lines on the chart. The code follows a clean, structured architecture with a dedicated `CStopLossManager` class, standardized enums and structures, and fully documented English comments for clarity and maintainability.
Institutional risk analysis library for MetaTrader 5. Zero external dependencies. Pure MQL5 mathematics.
Complete deep learning library in pure MQL5. Build, train and deploy neural networks natively in MetaTrader 5. No DLLs, no Python, no external APIs.
거래 작업 전에 터미널 핑 + 실행 대기 시간을 결합하여 검증하는 클래스를 포함합니다. 임계값을 초과하면 false를 반환합니다.
A professional object-oriented MQL5 library designed for quantitative developers. It provides asynchronous order execution and dynamic slippage control to prevent terminal freezing during high-frequency algorithmic trading.
Include-file class that measures inter-tick latency, filters false alarms via a self-normalising ATR volatility gate, and broadcasts persistent lag alerts to other EAs via GlobalVariable IPC.
Expert Advisor 코드에 액세스할 수 있는 경우 이 라이브러리에서 코드를 추가하여 잔고 및 주식 차트를 저장하고 최적화 기준을 추가로 계산할 수 있습니다.
Automates MQL5 buffer and plot index management. Eliminates manual counting, simplifies Z-order layering, and handles complex plot types (Candles, Color Lines) with a single line of code.