MT4 Version: Stochastic Strategy Multicurrency EA MT4
MT5 Version: Stochastic Strategy Multicurrency EA MT5
Complete User Documentation — MT4 & MT5
1. OVERVIEW
This EA automates trading across multiple currency pairs from a single chart, using the Stochastic Oscillator as its core signal engine. It doesn't just generate raw signals — it lets you pick from eight distinct entry and exit strategies, apply divergence analysis, and layer on trend filters to keep you out of bad trades. The real problem it solves is the manual grind: instead of flipping between charts and timeframes, you get a single dashboard that shows you exactly where the opportunities are, and the EA can execute trades automatically based on your rules.
Who Should Use It: Retail forex traders who want to run a systematic stochastic-based strategy across multiple pairs without babysitting each chart, and who need the flexibility to fine-tune entry/exit logic, risk controls, and trend confirmation.
Main Benefit: You get a fully automated, multi-pair stochastic trading system that handles everything from signal generation to position management, with enough customization to match your specific trading style.
2. INPUT PARAMETERS & SETTINGS
This product shares a common set of general input settings with all Multi-Currency Scanner Dashboard products in this series. The following sections are covered in the common guide: General Settings (pairs list, dashboard colors, panel size), Timeframe Signal Settings (individual TF scan per symbol), Timeframe Confluence Settings (multi-TF confluence scan), and Alert Settings (popup, push notification, email). For full details refer to the Common Multi-Currency Scanner Dashboard Settings Guide. The sections below cover only the product-specific inputs unique to this product.
General Settings
These settings control how the EA displays virtual stop-loss and take-profit lines, manages group-level risk across all open positions, and handles swap charges and backtest history recording.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Chart lines for virtual SL/TP (never drawn during optimization) | bool | false | When enabled, the EA draws horizontal lines on the chart showing where your virtual stop-loss and take-profit levels sit. Useful for visual confirmation during live trading, but the EA skips drawing during optimization runs to keep things fast. | true — Turn this on when running a forward test so you can see exactly where your stops are placed. |
| Group Stoploss Amount | double | 0 | Sets a maximum total loss in account currency for all positions opened by this EA. Once the combined loss hits this value, the EA closes all trades. Handy for limiting drawdown when trading multiple pairs at once. | 50 — If you have a $500 account, set this to 50 to cap total loss at $50 across all pairs. |
| Include Swap charges in Profit | bool | true | When true, the EA factors swap (overnight interest) into the profit calculation for breakeven and trailing stop logic. If you hold positions overnight, this gives a more accurate picture of your real P&L. | true — Keep this on if you trade pairs like AUD/JPY with high swap rates and hold for days. |
| Enable history for backtests or optimization | bool | false | When enabled, the EA records trade history during backtests and optimization runs, allowing you to analyze performance after the run. Leave it off during live trading to reduce resource usage. | true — Enable this when running a genetic optimization so you can review the trade log afterward. |
Atr Trailingstop Settings
These settings let you activate an ATR-based trailing stop that dynamically adjusts the stop-loss level based on market volatility, with separate controls for activation threshold, trail distance, and increment.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Use ATR Trailing Stop | bool | false | Master switch for the ATR trailing stop feature. When enabled, the EA replaces the standard breakeven/trailing logic with a volatility-adjusted trailing stop that widens during high volatility and tightens during low volatility. | true — Turn this on for pairs like GBP/JPY that have erratic volatility spikes. |
| ATR Timeframe | ENUM | PERIOD_CURRENT | Selects the timeframe used to calculate the ATR value for the trailing stop. Using a higher timeframe (like H4) gives a smoother, more stable ATR, while a lower timeframe (M15) reacts faster to sudden volatility changes. | PERIOD_H1 — Use H1 for a balance between responsiveness and stability on most major pairs. |
| ATR Period | int | 14 | Number of bars used to calculate the ATR. A shorter period (like 7) makes the trailing stop more sensitive to recent price action, while a longer period (like 21) smooths out noise and reduces false adjustments. | 10 — Use a shorter period for scalping strategies where quick reactions matter. |
| Activation (ATR multiplier) | double | 2.0 | The profit level (in ATR units) that must be reached before the trailing stop activates. A value of 2.0 means the trade must be 2 ATRs in profit before the stop starts moving. Higher values give the trade more room to breathe. | 3.0 — Use a higher multiplier for trend-following strategies to avoid being stopped out by minor pullbacks. |
| Trail distance (ATR multiplier) | double | 1.0 | The fixed distance (in ATR units) that the trailing stop trails behind the current price. A value of 1.0 means the stop is placed 1 ATR away from the price. Smaller values lock in profit faster but risk early exits. | 0.8 — Use a tighter trail for volatile pairs to protect profits without getting stopped out by normal fluctuations. |
| Trail increment (ATR multiplier) | double | 0.5 | The step size (in ATR units) that the trailing stop moves each time the price advances. A value of 0.5 means the stop moves up by 0.5 ATR for every 0.5 ATR of favorable price movement. Smaller increments create a smoother trail. | 0.3 — Use a smaller increment for a tighter, more responsive trailing stop on fast-moving pairs. |
Grid Settings
This setting controls whether the EA attempts to recover losses from all grid trades by closing them at a combined profit target.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Recover profit from all grid trades | bool | false | When enabled, the EA calculates the total net profit across all open positions and closes the entire grid when that combined profit reaches a positive value. Useful for grid strategies that accumulate losing positions and need a recovery mechanism. | true — Enable this if you're running a martingale or grid strategy and want to exit all trades at breakeven or small profit. |
Safeguard Settings
These settings protect your account by limiting maximum loss, setting minimum performance thresholds for backtesting, and preventing the EA from trading after extended inactivity.
| Setting Name | Type | Default Value | Description | Example |
|---|---|---|---|---|
| Max Loss from initial balance [0: disable] | double | 0.0 | Sets a maximum drawdown percentage from the initial account balance. If the account drops below this level, the EA stops opening new trades. A value of 20 means the EA stops trading if the account loses 20% of its starting balance. | 15 — Set to 15 to stop trading after a 15% drawdown, preserving capital for manual intervention. |
| Minimum Profit Percent [backtesting only] [0: disable] | double | 0 | Only used during backtesting: if the total profit percentage at the end of the test is below this value, the EA marks the run as a failure. Helps you quickly filter out underperforming parameter sets during optimization. | 5 — Set to 5 to reject any optimization result that doesn't achieve at least 5% profit over the test period. |
| Minimum Trades [backtesting only] [0: disable] | double | 0 | Sets a minimum number of trades that must be executed during a backtest for the run to be considered valid. Useful for avoiding parameter sets that produce too few trades to be statistically meaningful. | 20 — Set to 20 to discard optimization results with fewer than 20 trades, ensuring statistical relevance. |
| Max inactive days [backtesting only] [0: disable] | int | 0 | During backtesting, if the EA goes without opening a trade for more than this many days, it stops the test and marks the run as failed. Helps you avoid strategies that go dormant for long periods. | 30 — Set to 30 to reject strategies that don't trade for a month or more during the test period. |
Stochastic Settings
These settings define the core Stochastic Oscillator parameters — timeframe, K/D periods, slowing factor, moving average method, price field, calculation mode, overbought/oversold levels, and the entry and exit strategies that determine when the EA opens and closes positions.
| Setting Name | Type | Default Value | Description | Example | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Stochastic timeframe | ENUM | PERIOD_CURRENT | Selects the timeframe on which the Stochastic Oscillator is calculated. Using a higher timeframe (like H4) generates fewer, more reliable signals, while lower timeframes (M15) produce more frequent but noisier signals. | PERIOD_H1 — Use H1 for a solid balance between signal frequency and reliability on major pairs. | |||||||||||||||||||||||||||||||
| K period for Stochastic | int | 14 | The number of periods used to calculate the %K line. A lower value (like 7) makes the indicator more sensitive to price changes, generating earlier signals but with more false positives. Higher values smooth the line. | 10 — Use a shorter K period for a faster response in ranging markets where quick entries matter. | |||||||||||||||||||||||||||||||
| D period for Stochastic | int | 3 | The smoothing period applied to the %D line (signal line). A higher value (like 5) produces a smoother signal line that reduces false crossovers, but it also delays the signal. Lower values react faster. | 5 — Use a longer D period to filter out noise when trading on lower timeframes like M15. | |||||||||||||||||||||||||||||||
| Slowing factor for Stochastic | int | 3 | An internal smoothing applied to the %K line before the %D is calculated. A higher value (like 5) makes the entire oscillator smoother and less prone to whipsaws, but it also makes it slower to react to price changes. | 2 — Use a lower slowing factor for scalping strategies where you need quick reactions to price moves. | |||||||||||||||||||||||||||||||
| Moving Average method (0: Simple, 1: Exponential, etc.) | ENUM | MODE_SMA | See options explained below. | MODE_EMA — Use Exponential for a more responsive signal line that reacts faster to recent price action. | |||||||||||||||||||||||||||||||
| Price field (0: Close/Close, 1: High/Low, etc.) | ENUM | STO_LOWHIGH | See options explained below. | STO_CLOSE — Use Close/Close for a smoother oscillator that ignores intra-bar extremes. | |||||||||||||||||||||||||||||||
| Calculation Mode(Useful for backtesting) | ENUM | MANUAL | 3. HOW IT WORKS Core Calculation & LogicThe Stochastic Multi-Currency EA monitors up to 28 currency pairs simultaneously from a single chart, applying the Stochastic oscillator to each. It calculates the %K and %D lines using the K period, D period, and slowing factor you set — the same math behind the classic stochastic indicator you'd find in MetaTrader's navigator. The EA then compares these values against your upper and lower levels (default 80/20) to detect overbought and oversold conditions, crossovers, and divergences. What sets this apart from a simple indicator is the entry strategy logic: you pick one of eight distinct rules that define exactly when a signal becomes a trade. The EA doesn't just flash a dot — it waits for the precise condition you've chosen, then checks your filters (time, spread, volatility) before sending an order. At its core, this is a multi-pair signal aggregator with automated execution. It scans every symbol in your list on every tick, evaluates the stochastic state, and if the entry strategy condition is met, it opens a position using your lot size, stop loss, and take profit settings. The "multi-currency" part means you can trade EURUSD, GBPUSD, USDJPY, and a dozen others without attaching the EA to each chart separately — it handles everything from one window. This is especially useful for traders who want to catch opportunities across the board without juggling multiple charts. Entry Strategies ExplainedEach strategy defines a unique pair of conditions for entering long and short. You'll pick one based on how you like to read the stochastic — some traders prefer classic overbought/oversold reversals, others want crossovers or divergence. Here's the full breakdown: ENTRY_STRATEGY1 — Classic Reversal from Oversold/OverboughtBUY Signal: Stochastic enters oversold territory (crosses below the lower level). SELL Signal: Stochastic enters overbought territory (crosses above the upper level). Best For: Range-bound markets where price bounces between support and resistance. Works well on H1 and H4 when the pair is consolidating. ENTRY_STRATEGY2 — Exit from Oversold/Overbought (Momentum Shift)BUY Signal: Stochastic exits oversold territory (crosses back above the lower level). SELL Signal: Stochastic exits overbought territory (crosses back below the upper level). Best For: Catching the start of a new trend after a pullback. I prefer this on M15 for breakout moves. ENTRY_STRATEGY3 — Overbought Buy, Oversold Sell (Contrarian)BUY Signal: Stochastic enters overbought territory (crosses above the upper level). SELL Signal: Stochastic enters oversold territory (crosses below the lower level). Best For: Strong trending markets where you expect the trend to continue, not reverse. Use with a trend filter like a 200 EMA. ENTRY_STRATEGY4 — Crossover Below/Above LinesBUY Signal: Stochastic crosses below the oversold line. SELL Signal: Stochastic crosses above the overbought line. Best For: Scalping on M1-M5 where you want confirmation of extreme exhaustion before entering. ENTRY_STRATEGY5 — 50-Level CrossoverBUY Signal: Stochastic %K crosses above the 50 level. SELL Signal: Stochastic %K crosses below the 50 level. Best For: Trend-following on H1 or higher. The 50 level acts as a momentum pivot — above is bullish, below is bearish. ENTRY_STRATEGY6 — Extreme Zone PersistenceBUY Signal: Stochastic %K is above the upper level (overbought). SELL Signal: Stochastic %K is below the lower level (oversold). Best For: Strong trends where you want to join the move, not fight it. Combine with a volatility filter to avoid whipsaws. ENTRY_STRATEGY7 — DivergenceBUY Signal: Bullish divergence — price makes a lower low while stochastic makes a higher low. SELL Signal: Bearish divergence — price makes a higher high while stochastic makes a lower high. Best For: Reversal trading on H4 or daily. Divergence is one of the most reliable signals when confirmed by price action. ENTRY_STRATEGY8 — %K/%D CrossoverBUY Signal: Stochastic %K crosses above the %D line. SELL Signal: Stochastic %K crosses below the %D line. Best For: General-purpose momentum trading. This is the classic stochastic crossover strategy most traders start with. Step-by-Step WorkflowStep 1: Attach the EA to a single chart. Any chart will do — the EA ignores the chart symbol and uses its own symbol list. Open MetaTrader, drag the EA onto a chart, and a dialog appears. Step 2: Configure your symbol list. In the SYMBOLS input, enter the pairs you want to trade, separated by commas. Default is EURUSD,GBPUSD,USDCHF — you can add up to 28. Step 3: Set your entry strategy. Choose one of the eight ENTRY_STRATEGY options. If you're unsure, start with ENTRY_STRATEGY1 for classic reversals. Step 4: Define risk parameters. Set your lot size, stop loss, and take profit. For beginners, use SLTP_MODE = PIPS and set STOPLOSS to 30 and TAKEPROFIT to 60. Step 5: Enable or disable filters. Turn on time filters, spread limits, or volatility checks if you want to avoid low-quality signals. Each filter is an input you can toggle. Step 6: Click OK and monitor. The EA starts scanning immediately. Open the Journal tab to see which pairs are being checked and when signals trigger. You'll see "Signal detected on EURUSD" messages as they happen. Step 7: Review trades manually. The EA manages entries and exits based on your SL/TP, but you should still check open positions daily. Don't let it run unattended for weeks without review. 4. RISK MANAGEMENT FEATURESThis EA includes several built-in risk controls that let you tailor exposure per trade, per pair, and across your entire portfolio. Here's what each one does:
5. IMPORTANT NOTES & WARNINGSKnown Limitations
Settings Beginners Should NOT Change
Dashboard Usage Tips
Quick Start GuideFollow these steps to get started in under 5 minutes:
|


