Strategy library

Rule sets written so someone else could audit them

If a rule needs your judgement in the moment, it cannot be tested. Every strategy here specifies entry, stop, target, invalidation, expiry and skip conditions, and carries a version number.

Trend Pullback

Join an established trend after a pause, using a nearby structural level for a small, well-defined stop.

v1.0
intradayswing15m1h4hFree preview

Why it can work: A trend that pauses and resumes offers a defined invalidation level close to entry, which is what produces a favourable reward-to-risk without predicting anything.

Entry rules

  • Trend filter: EMA(50) above EMA(200) for longs, below for shorts, on the trading timeframe.
  • Strength filter: ADX(14) above 20 on the trading timeframe.
  • Pullback zone: Price trades to within 0.25 × ATR(14) of EMA(20), or into a prior broken level now acting as support/resistance.
  • Structure intact: The most recent higher low (uptrend) or lower high (downtrend) has not been broken.
  • Trigger: A completed candle closes back through EMA(20) in the trend direction.

Stops and targets

  • Stop: 1.5 × ATR(14) beyond the pullback extreme.
  • First target: The prior swing extreme in the trend direction.
  • Runner: Trail below each new higher low (or above each lower high) after the first target.
  • Minimum ratio: Skip if reward-to-risk to the first target is below 1.5 after costs.

Invalidation

A completed close beyond the pullback extreme, or a break of the most recent higher low / lower high, before the trigger fires.

Expiry

8 candles after price first enters the pullback zone.

Indicators used and why

IndicatorSettingsRole
EMA20 / 50 / 200Direction and pullback zone
ADX / DMI14Trend strength filter
ATR14Stop distance and zone tolerance

Skip this setup when

  • · ADX(14) below 20 — pullbacks fail repeatedly in ranges.
  • · A high-impact event on either currency falls before the first target could be reached.
  • · Reward-to-risk to the first target is below 1.5 after costs.
  • · The pullback has already broken the last higher low / lower high.

Breakout & Retest

Trade the end of a compression range once the break is confirmed by close and the broken boundary holds on a retest.

v1.0
scalpingintraday5m15m1hFree preview

Why it can work: A range is temporary agreement on value. A confirmed break suggests that agreement has ended; the retest offers a defined stop just inside the old range.

Entry rules

  • Range definition: At least 10 candles with a high–low span under 1.2 × ATR(14), both boundaries touched twice.
  • Breakout: A completed candle closes beyond the boundary by more than 0.2 × ATR(14).
  • Session filter: Breakout occurs during the London or New York session.
  • Retest: Price returns within 0.25 × ATR of the broken boundary inside 6 candles and closes back in the breakout direction.

Stops and targets

  • Stop: 1.0 × ATR(14) beyond the far side of the boundary zone.
  • Target: The range height projected from the breakout point.
  • Minimum ratio: Skip if reward-to-risk is below 1.5 after costs.

Invalidation

A completed close back inside the original range.

Expiry

Cancel if no qualifying retest occurs within 6 candles of the breakout close.

Indicators used and why

IndicatorSettingsRole
ATR14Range compression test, breakout margin, stop distance
Donchian Channels20Objective range boundaries
Bollinger BandWidth20, 2.0Compression confirmation

Skip this setup when

  • · The break occurs during the Asian session on a non-JPY/AUD/NZD pair.
  • · The candle pierces the boundary but closes back inside — that is a sweep, not a break.
  • · Range width is below 2 × ATR, leaving too little room after costs.
  • · A high-impact release falls within the expiry window.

Range Reversion

Fade the boundaries of a confirmed range, with a trend filter that prevents the strategy from fighting a genuine trend.

v1.0
intradayswing15m1h4h

Why it can work: Markets range most of the time. Reversion setups are frequent; the entire discipline lies in the filter that keeps you out of trends and the exit that handles the eventual break.

Entry rules

  • No-trend filter: ADX(14) below 20 on the trading timeframe.
  • Range definition: Two touches of each boundary within the last 30 candles, width at least 2 × ATR(14).
  • Stretch: Price trades beyond the Bollinger Band (20, 2.0) on the entry side.
  • Momentum: RSI(14) below 30 for longs, above 70 for shorts.
  • Trigger: A completed candle closes back inside the band.

Stops and targets

  • Stop: 1.0 × ATR(14) beyond the range extreme.
  • First target: The range midpoint.
  • Second target: The opposite boundary, with the stop moved to entry once the midpoint trades.

Invalidation

Any completed close beyond the boundary by more than 0.5 × ATR(14).

Expiry

Cancel if the trigger has not fired within 4 candles of the stretch.

Indicators used and why

IndicatorSettingsRole
ADX / DMI14Mandatory no-trend filter
Bollinger Bands20, 2.0Stretch detection
RSI14Momentum confirmation
ATR14Range width test and stop distance

Skip this setup when

  • · ADX(14) at or above 20 — the market is trending and this strategy will fight it.
  • · Within 60 minutes after a high-impact release on either currency.
  • · Range width below 2 × ATR(14).
  • · The range has already produced a confirmed close beyond a boundary.

These are unvalidated educational examples used to demonstrate rule-based detection. They are not optimised, tested or proven, and no performance is claimed for them. Any rule change increments the version number so results stay attached to the rules that produced them.

Preset workspaces by trading style

A defensible indicator set answers different questions rather than asking the same one three times.

Scalping

1-minute / 5-minute, with 15-minute context

EMA 9/21, RSI 14, ATR 14

  • · EMA 9/21 — short-term direction and pullback reference
  • · RSI 14 — momentum confirmation, not an overbought/oversold trigger
  • · ATR 14 — stop distance and a check that the range justifies the cost
Entry confirmation
A completed 1-minute close back through the EMA 9 in the 5-minute direction.
Invalidation
A completed 5-minute close beyond the pullback extreme.
Risk note
Costs dominate at this timeframe. With a 4-pip stop, a 1.5-pip round-trip cost is 0.375R per trade — most scalping ideas fail on this line alone.

Intraday

5-minute / 15-minute, with 1-hour context

EMA 20/50, ADX/DMI 14, ATR 14, prior-session pivot levels

  • · EMA 20/50 — direction on the trading timeframe
  • · ADX/DMI 14 — whether the session is trending enough to trade directionally
  • · ATR 14 — stop and target scaling
  • · Prior-session pivots — objective reference levels for targets and invalidation
Entry confirmation
A completed 5-minute close through the level in the 1-hour direction with ADX above 20.
Invalidation
A completed 15-minute close back beyond the pivot level used for entry.
Risk note
Watch the session transition. Setups formed in the Asian range frequently fail at the London open.

Swing

4-hour, with daily context

EMA 50/200, RSI 14, ATR 14

  • · EMA 50/200 — the dominant direction from the last completed daily candle
  • · RSI 14 — pullback depth and divergence
  • · ATR 14 — stop distance, typically 1.5 × ATR on the 4-hour
Entry confirmation
A completed 4-hour close back through the EMA 20 in the daily direction.
Invalidation
A daily close below the most recent higher low (or above the lower high).
Risk note
Swap costs and weekend gap risk apply. Reduce or close positions before the weekend per your written policy.