Automated trading often stops without visible errors due to PC sleep, terminal disconnects, algo trading being disabled, profile changes, or an EA being removed from a chart. BotWatchdog is designed to detect these conditions and send push notifications to a phone. It does not place trades.
Alerts include broker connection lost or restored, algo trading switched off or on, watched EAs missing from all charts with a comma-separated name list, terminal login changed to an unexpected account, open positions without a stop-loss for N minutes, equity falling by a configured percentage from the day’s starting balance, and margin level dropping below a defined threshold.
A daily scheduled “all OK” heartbeat can be configured; if it does not arrive, the terminal or host PC is likely offline. A final alert is triggered if the watchdog is removed.
Setup requires en...
👉 Read | CodeBase | @mql5dev
Alerts include broker connection lost or restored, algo trading switched off or on, watched EAs missing from all charts with a comma-separated name list, terminal login changed to an unexpected account, open positions without a stop-loss for N minutes, equity falling by a configured percentage from the day’s starting balance, and margin level dropping below a defined threshold.
A daily scheduled “all OK” heartbeat can be configured; if it does not arrive, the terminal or host PC is likely offline. A final alert is triggered if the watchdog is removed.
Setup requires en...
👉 Read | CodeBase | @mql5dev
❤11🔥10👍9🤩4🏆3
SessionEdgeTester checks whether a fixed intraday rule survives real broker costs using only the terminal’s H1 history. The test is run locally and places no trades, returning results in roughly 20 seconds.
The rule is simple: enter at a specified hour on selected weekdays, then exit after a fixed number of hours. Each simulated trade is charged the larger of 1.5x the live spread and the entry-bar spread, plus optional commission, plus live swap for each server midnight crossed, including triple rollover.
Time alignment supports server, New York, or London clocks with daylight saving handling, so the entry remains at the same local hour across GMT and New York-close brokers. An optional percentage stop-loss is evaluated using H1 highs/lows.
Reporting includes all trades, a split of the first 60% versus last 40% for an out-of-sample check, plus PASS/WATCH/F...
👉 Read | AlgoBook | @mql5dev
The rule is simple: enter at a specified hour on selected weekdays, then exit after a fixed number of hours. Each simulated trade is charged the larger of 1.5x the live spread and the entry-bar spread, plus optional commission, plus live swap for each server midnight crossed, including triple rollover.
Time alignment supports server, New York, or London clocks with daylight saving handling, so the entry remains at the same local hour across GMT and New York-close brokers. An optional percentage stop-loss is evaluated using H1 highs/lows.
Reporting includes all trades, a split of the first 60% versus last 40% for an out-of-sample check, plus PASS/WATCH/F...
👉 Read | AlgoBook | @mql5dev
❤14👍10🤩9🔥6🎉2
Indicators recalculate on every tick, so a simple “price > level” check can trigger the same popup continuously while the condition remains true. This also causes a burst of stale alerts when an indicator is attached, because historical bars are processed immediately.
AlertKit is a lightweight class that suppresses duplicates by sending a single alert per event name and bar. It maintains separate state per event string so buy and sell signals do not block each other, and it ignores anything earlier than the bar where tracking started. Output can be routed to popup, push, email, or sound, with an optional cooldown.
Testing is addressed via CSV logging. Since alerts do not fire in the strategy tester, AlertKit can record every decision, including rejected alerts and reasons. In one EURUSD H1 run (Jun–Aug 2026), 6,419 alert checks resulted in 27 alerts, with ...
👉 Read | Freelance | @mql5dev
AlertKit is a lightweight class that suppresses duplicates by sending a single alert per event name and bar. It maintains separate state per event string so buy and sell signals do not block each other, and it ignores anything earlier than the bar where tracking started. Output can be routed to popup, push, email, or sound, with an optional cooldown.
Testing is addressed via CSV logging. Since alerts do not fire in the strategy tester, AlertKit can record every decision, including rejected alerts and reasons. In one EURUSD H1 run (Jun–Aug 2026), 6,419 alert checks resulted in 27 alerts, with ...
👉 Read | Freelance | @mql5dev
🤩14❤6👍6🔥5👌1
Most VWAP tools reset per session, which limits usefulness on 24/5 markets. This implementation uses a rolling VWAP over a fixed bar count, sliding forward each bar to keep the anchor aligned with recent volume-weighted activity rather than a calendar boundary.
The close-to-VWAP deviation is normalized into a Z-Score using a rolling standard deviation of the same deviation series. This makes thresholds portable across instruments and volatility regimes, since the reading is expressed in standard deviations from rolling fair value.
Regime detection applies a two-step filter: the Z-Score must close beyond a configurable threshold and persist for N consecutive bars before switching state. The histogram mirrors the Z-Score but only changes color after confirmation, reducing noise-driven flips.
Key inputs include VWAP/StdDev periods (default 50), Z-Score...
👉 Read | Signals | @mql5dev
The close-to-VWAP deviation is normalized into a Z-Score using a rolling standard deviation of the same deviation series. This makes thresholds portable across instruments and volatility regimes, since the reading is expressed in standard deviations from rolling fair value.
Regime detection applies a two-step filter: the Z-Score must close beyond a configurable threshold and persist for N consecutive bars before switching state. The histogram mirrors the Z-Score but only changes color after confirmation, reducing noise-driven flips.
Key inputs include VWAP/StdDev periods (default 50), Z-Score...
👉 Read | Signals | @mql5dev
❤11🔥3👍2🤩2
TradeGuard separates execution safety from strategy logic. Strategy code decides what to trade and when; TradeGuard validates and normalizes every request to broker limits, retries only safe cases, blocks duplicate signals, isolates by symbol and magic, and rebuilds state after a restart. Delivery is a single include file with no DLL plus a Strategy Tester test suite.
Coverage includes permission and session checks, quote age and spread filters, margin and OrderCheck, volume/price/stop normalization, freeze level, filling mode, and expiration handling. Each request carries an intent key to ensure “one order per signal”, including after VPS restarts, and uncertain server replies are verified on the server before any resend.
Verification data comes from a bundled suite: 83 unit tests passing, thousands of key checks, and large randomized “bad request” runs sh...
👉 Read | Signals | @mql5dev
Coverage includes permission and session checks, quote age and spread filters, margin and OrderCheck, volume/price/stop normalization, freeze level, filling mode, and expiration handling. Each request carries an intent key to ensure “one order per signal”, including after VPS restarts, and uncertain server replies are verified on the server before any resend.
Verification data comes from a bundled suite: 83 unit tests passing, thousands of key checks, and large randomized “bad request” runs sh...
👉 Read | Signals | @mql5dev
❤8👍2🤩2