Forex
EA

EA: Force Index Cross Expert Advisor

Last updated 2026-07-20

An Expert Advisor (EA) is different from every other download on this site — an indicator only plots or alerts, while an EA actually sends orders on your behalf. This free EA trades a single, transparent strategy built around the Force Index crossing its zero line: it enters the moment volume-weighted force flips from one side of the market to the other, then manages Stop Loss, Take Profit, and position size automatically from the same risk tools taught elsewhere on this site.

How the Strategy Works

The entry signal is the zero-line cross of Elder's Force Index — the same signal explained in the Force Index lesson. The Force Index multiplies each bar's price change by its volume, then smooths the result with a 13-period EMA, so its sign tells you which side of the market has control and its distance from zero tells you how forcefully. When the smoothed line crosses from below zero to above, buyers have just taken over on rising participation; the mirror applies when it crosses down.

What makes this different from a pure price crossover — like a Moving Average cross — is the volume term baked into the signal. A zero cross backed by heavy volume reflects broad participation in the new direction, which is exactly the kind of move Elder designed the indicator to catch. The trade-off is that the volume weighting also makes the raw reading spiky, so the EA works off the 13-period smoothed line and evaluates the cross only on completed bars, never intrabar, to avoid reacting to a single noisy tick.

Stop Loss, Take Profit, and Position Sizing

PriceTake Profit (TP)Stop Loss (SL)BUY0Force Index (volume-weighted, oscillates around a zero line)
Entry conditions: BUY when Force Index crosses back above zero — SELL on the mirrored cross back below zero — SL and TP are placed automatically from ATR

Both Stop Loss and Take Profit are sized from ATR rather than a fixed pip distance — a volatile pair or session gets a wider stop automatically, and a calm one gets a tighter stop, so the stop always reflects what the market is actually doing right now rather than an arbitrary number chosen once and left unchanged. Stop Loss distance is ATRMultiplier × ATR (default multiplier 2.0, with ATR calculated over ATRPeriod = 14 bars), and Take Profit is then set at RiskRewardRatio × Stop Loss distance (default 2.0), so every trade carries a fixed, known reward-to-risk proportion regardless of pair or timeframe.

Position size is calculated from RiskPercent (default 1.0%) against your account balance and the Stop Loss distance — the exact worked-example method from Risk Management Basics: risk amount ÷ Stop Loss distance = lot size. A wider ATR-based stop on a volatile pair automatically produces a smaller lot, and a tighter stop on a calm pair produces a larger lot, so the dollar risk per trade stays roughly constant even as the price distance to the stop changes from trade to trade. A UseFixedLot input is available as an escape hatch for traders who'd rather trade a constant lot size — useful for testing, or for small accounts where percentage-based sizing rounds to the broker's minimum lot anyway.

Entry Conditions

  • BUY — Force Index crosses from at-or-below zero to above zero on consecutive completed bars: the previous bar's reading was zero or lower, and the current bar's reading is above zero.
  • SELL — Force Index crosses from at-or-above zero to below zero — the mirrored setup.

Beyond the signal itself, three safety mechanics govern every trade: the EA only evaluates these conditions once per new bar (not on every tick, so a single crossover can't fire multiple trades within the same candle), only opens one position at a time (a new signal is ignored while a position from this EA is already open), and only manages positions tagged with its own magic number (20260801) — so it never touches trades you open manually or trades placed by a different EA on the same account. A spread filter also sits in front of every entry: if the current spread is wider than MaxSpreadPoints, the EA skips that bar entirely rather than opening a trade at a bad price during illiquid conditions.

Parameters

  • ForcePeriod (default 13) — the EMA smoothing period for the Force Index; Elder's classic trend setting.
  • MAMethod (default EMA) — the moving-average type used to smooth the raw Force Index.
  • AppliedPrice (MT4) / AppliedVolume (MT5) — MT4's iForce reads an applied price, while MT5's reads an applied-volume type (tick or real); each platform's file exposes the input its function actually takes.
  • ATRPeriod (default 14) — the lookback used to calculate ATR for Stop Loss sizing.
  • ATRMultiplier (default 2.0) — Stop Loss distance = ATR × this multiplier.
  • RiskRewardRatio (default 2.0) — Take Profit distance = Stop Loss distance × this ratio.
  • UseFixedLot — switches position sizing from risk-based to a constant lot size.
  • FixedLotSize (default 0.01) — the lot size used when UseFixedLot is enabled.
  • RiskPercent (default 1.0) — percentage of account balance risked per trade. Ignored if UseFixedLot is enabled.
  • MaxSpreadPoints (default 30) — skips new entries while the spread is wider than this.
  • MagicNumber (default 20260801) — tags every order this EA places so its management logic never touches other trades.
  • EnableTrading — a master on/off switch, useful for pausing the EA without removing it from the chart.

Why a Volume-Weighted Cross, and Where It Struggles

This EA trades every zero-line cross exactly as it happens, with no minimum distance from zero required and no trend filter layered on top. Compared to the site's other zero-line-cross EAs — the OsMA cross EA, the Awesome Oscillator momentum EA, and the Momentum cross EA — the distinguishing feature here is the volume term. A price-only oscillator flips sign purely on price movement, whereas the Force Index needs both a price change and the volume to weight it, which is meant to filter out listless moves that drift across the level on almost no participation.

That design helps in trending, actively traded conditions and hurts in two specific situations. The first is a quiet, range-bound market, where price and volume are both flat: the smoothed line hovers near zero and crosses it repeatedly on noise, bleeding small losses on each false entry — the same whipsaw problem every zero-line oscillator has, and the reason checking trend vs range conditions first is the highest-leverage thing you can do before running this EA. The second is a volume spike around a news release or session open, where a single unusually heavy bar can shove the Force Index across zero out of proportion to the actual price move, then reverse once volume normalizes. Adding a moving-average or ADX-based trend filter, or an economic calendar news filter, is a natural next customization for anyone comfortable editing the source.

Installation and Setup

EAs install into a different folder than indicators — this is the step people miss most often.

  1. Download the file below for your platform.
  2. Open MetaTrader → click FileOpen Data Folder.
  3. Place the file in MQL4/Experts (MetaTrader 4) or MQL5/Experts (MetaTrader 5) — not the Indicators folder.
  4. Restart MetaTrader, then drag the EA from the Navigator window onto a chart.
  5. Enable AutoTrading (MT4) or Algo Trading (MT5) in the toolbar — the EA will not place any trades while this is off, even if it's attached to a chart.
  6. Review and adjust the input parameters in the EA's settings dialog before confirming.

A Word of Caution

Test on a demo account first, across different market conditions, before risking real money — past performance, in backtests or live, never guarantees future results. No strategy, automated or manual, wins every trade, and this EA can and will lose money on individual trades. The Force Index zero cross has no built-in filter for choppy conditions or for volume spikes around news: expect runs of false crosses in quiet markets and the occasional outsized signal around a release. Remember too that MetaTrader's "volume" in forex is tick volume, a proxy for real traded volume, not the real thing. Consider pairing this EA with a trend or news filter, or only running it on pairs and timeframes you've confirmed are trending, rather than leaving it on every chart in every condition. Both files are source code — open and review them fully, and understand what every parameter does, before using it. This content is general education, not personalized investment advice.

Download the EA

How to Install — MetaTrader 4

  1. Download the force-index-cross-ea.mq4 file below.
  2. Open MetaTrader 4 → click FileOpen Data Folder.
  3. Place the file in the MQL4/Experts folder.
  4. Restart MetaTrader 4, then drag the EA from the Navigator window onto the chart.

How to Install — MetaTrader 5

  1. Download the force-index-cross-ea.mq5 file below.
  2. Open MetaTrader 5 → click FileOpen Data Folder.
  3. Place the file in the MQL5/Experts folder.
  4. Restart MetaTrader 5, then drag the EA from the Navigator window onto the chart.

Both files are source code — open and review the full code before using it, for your own safety.

Download force-index-cross-ea.mq4

For MetaTrader 4 — this is source code (.mq4), open and review it fully before using it.

Download File

Download force-index-cross-ea.mq5

For MetaTrader 5 — this is source code (.mq5), open and review it fully before using it.

Download File