Syed Jawad Hussain Naqvi / Publications
Codes
Spread Monitor for MetaTrader 5
Spread Monitor is an MQL5 Expert Advisor that draws a colour-coded panel on the chart. The panel shows the current spread of the attached symbol in points, along with the average, minimum, and maximum over a rolling history. It also counts how many stored samples exceeded a warning level, and turns
Adaptive Kalman Trend Filter Indicator for MetaTrader 5
The Adaptive Kalman Trend Filter smooths price fluctuations to highlight the underlying market trend, adapting its responsiveness as market conditions change
Fisher Transform Indicator for MetaTrader 5
A Fisher Transform oscillator built from statistical first principles — normalizing price into a bounded range, then applying a logarithmic transform to produce sharp, well-defined reversal signals instead of the gradual turns typical of conventional oscillators. Internal recursive state is handled
SuperTrend Indicator for MetaTrader 5
A custom SuperTrend indicator built from first principles, combining an ATR-based volatility band with a ratchet mechanism to produce a clean, non-repainting trend line. Internal recursive state is managed through properly registered calculation buffers, avoiding the state-loss bugs common in
PRO SCREENER for MetaTrader 5
Take control of your trading performance with the Pro Dashboard Screener Designed for serious traders, this utility provides a clean, professional, and real-time overview of your account's health directly on your chart
Articles
Real-Time Polynomial Regression: A Causal Savitzky-Golay Implementation for MQL5 for MetaTrader 5
We adapt the Savitzky–Golay filter to a strictly causal, real-time form for MQL5 and derive the fixed coefficients for end-point evaluation. The article provides a full indicator and an Expert Advisor, explains the edge-evaluation noise sensitivity, and implements a multi-bar confirmation safeguard
The Kalman Filter for Price Smoothing: An Exact Implementation in MQL5 for MetaTrader 5
This article implements the scalar Kalman Filter for price smoothing in MQL5 using the standard local-level model and the exact prediction–update equations. It explains how process and measurement noise (Q, R) shape the Kalman gain, builds two independently configured filters into a fast/slow
Making Custom Indicators for Beginners (Part 2): Fisher-style Indicator for MetaTrader 5
This article develops a Fisher‑style Indicator in MQL5 from first principles: normalize price within a recent high/low window, smooth and clamp the value, then apply a logarithmic transform. We cover buffer wiring, calculation‑buffer state management across bars, and seeding for stable starts. An
Making Custom Indicators for Beginners (Part 1): SuperTrend Indicator for MetaTrader 5
This article builds a robust SuperTrend indicator in MQL5 using ATR-based bands, a ratchet mechanism, and strict series indexing to avoid silent recursion errors and repainting on closed bars. We walk through buffer binding, ATR handle management, seeding, and arrow confirmation logic. A companion
Forum
Help: Withdrawal declined — "Information about card/address/phone was invalid" — despite matching details
Hi everyone, I'm trying to withdraw earnings from article payments, and every attempt fails with: Payment status: Information about card/address/phone was invalid Here's what I've already checked and confirmed matches: Name : Card and MQL5 profile both show the exact same name Location : MQL5
What mistakes on MQL5 can lead to a ban? Help please.
Hi everyone, I am new to the MQL5 community and want to make sure I follow all the rules correctly. Could anyone please share what common mistakes or policy violations can get a user banned from this forum? I want to avoid any accidental account suspension. Thank you for your guidance
How do you handle hidden broker slippage inside your MQL5 code?
Hello coders! My Expert Advisor performs perfectly in the MetaTrader Strategy Tester , but when I deploy it live, slippage eats up all my profits. What are your favorite MQL5 tricks to detect and handle high slippage before an order is executed? Do you check the spread dynamically, or do you use





