OPEN-SOURCE SCRIPT

Chop + MSS/FVG Retest (Ace v1.6) – Indicator

103
What this indicator does

Name: Chop + MSS/FVG Retest (Ace v1.6) – Indicator

This is an entry model helper, not just a BOS/MSS marker.

It looks for clean trend-side setups by combining:

MSS (Market Structure Shift) using swing highs/lows

3-bar ICT Fair Value Gaps (FVG)

First retest back into the FVG

A built-in chop / trend filter based on ATR and a moving average

When everything lines up, it plots:

L below the candle = Long candidate

S above the candle = Short candidate

You pair this with a higher-timeframe filter (like the Chop Meter 1H/30M/15M) to avoid pressing the button in garbage environments.

How it works (simple explanation)

Chop / Trend filter

Computes ATR and compares each bar’s range to ATR.

If the bar is small vs ATR → more likely CHOP.

If the bar is big vs ATR → more likely TREND.

Uses a moving average:

Above MA + TREND → trendLong zone

Below MA + TREND → trendShort zone

MSS (Market Structure Shift)

Uses swing highs/lows (left/right bars) to track the last significant high/low.

Bullish MSS: close breaks above last swing high with displacement.

Bearish MSS: close breaks below last swing low with displacement.

Those events are marked as tiny triangles (MSS up/down).

A MSS only stays “valid” for a certain number of bars (Bars after MSS allowed).

3-bar ICT FVG

Bullish FVG: low[1] > high[2]
→ gap between bar 3 high and bar 2 low.

Bearish FVG: high[1] < low[2]
→ gap between bar 3 low and bar 2 high.

The indicator stores the FVG boundaries (top/bottom).

Retest of FVG

Watches for price to trade back into that gap (first touch).

That retest is the “entry zone” after the MSS.

Final Long / Short condition

Long (L) prints when:

Recent bullish MSS

Bullish FVG has formed

Price retests the bullish FVG

Environment = trendLong (ATR + above MA)

Not CHOP

Short (S) prints when:

Recent bearish MSS

Bearish FVG has formed

Price retests the bearish FVG

Environment = trendShort (ATR + below MA)

Not CHOP

So the L/S markers are “model-approved entry candles”, not just any random BOS.

Inputs / Settings

Key inputs you’ll see:

ATR length (chop filter)
How many bars to use for ATR in the chop / trend filter.

Lower = more sensitive, twitchy

Higher = smoother, slower to change

Max chop ratio
If barRange / ATR is below this → treat as CHOP.

Min trend ratio
If barRange / ATR is above this → treat as TREND.

Hide MSS/BOS marks in CHOP?

ON = MSS triangles disappear when the bar is classified as CHOP

Keeps your chart cleaner in consolidation

Swing left / right bars
Controls how tight or wide the swing highs/lows are for MSS:

Smaller = more sensitive, more MSS points

Larger = fewer, more significant swings

Bars after MSS allowed
How many bars after a MSS the indicator will still allow FVG entries.

Small value (e.g. 10) = MSS must deliver quickly or it’s ignored.

Larger (e.g. 20) = MSS idea stays “in play” longer.

Visual RR (for info only)
Just for plotting relative risk-reward in your head.
This is not a strategy tester; it doesn’t manage positions.

What you see on the chart

Small green triangle up = Bullish MSS

Small red triangle down = Bearish MSS

“L” triangle below a bar = Long idea (MSS + FVG retest + trendLong + not chop)

“S” triangle above a bar = Short idea (MSS + FVG retest + trendShort + not chop)

Faint circle plots on price:

When the filter sees CHOP

When it sees Trend Long zone

When it sees Trend Short zone

You do not have to trade every L or S.
They’re there to show “this is where the model would have considered an entry.”

How to use it in your trading
1. Use it with a higher-timeframe filter

Best practice:

Use this with the Chop Meter 1H/30M/15M or some other HTF filter.

Only consider L/S when:

Chop Meter = TRADE / NORMAL, and

This indicator prints L or S in the right location (premium/discount, near OB/FVG, etc.)

If higher-timeframe says NO TRADE, you ignore all L/S.

2. Location > Signal

Treat L/S as confirmation, not the whole story.

For shorts (S):

Look for premium zones (previous highs, OBs, fair value ranges above mid).

Want purge / raid of liquidity + MSS down + bearish FVG retest → then S.

For longs (L):

Look for discount zones (previous lows, OBs/FVGs below mid).

Want stop raid / purge low + MSS up + bullish FVG retest → then L.

If you see L/S firing in the middle of a bigger range, that’s where you skip and let it go.

3. Instrument presets (example)

You can tune the ATR/chop settings per instrument:

MNQ (noisy, 1m chart):

ATR length: 21

Max chop ratio: 0.90

Min trend ratio: 1.40

Bars after MSS allowed: 10

GOLD (cleaner, 3m chart):

ATR length: 14

Max chop ratio: 0.80

Min trend ratio: 1.30

Bars after MSS allowed: 20

You can save those as presets in the TV settings for quick switching.

4. How to practice with it

Open replay on a couple of days.

Check Chop Meter → if NO TRADE, just observe.

When Chop Meter says TRADE:

Mark where L/S printed.

Ask:

Was this in premium/discount?

Was there SMT / purge on HTF?

Did the move actually deliver, or did it die?

Screenshot the A+ L/S and the ugly ones; refine:

ATR length

Chop / trend thresholds

MSS lookback

Your goal is to get it to where:

The L/S marks show up mostly in the same places your eye already likes,
and you ignore the rest.

免責事項

この情報および投稿は、TradingViewが提供または推奨する金融、投資、トレード、その他のアドバイスや推奨を意図するものではなく、それらを構成するものでもありません。詳細は利用規約をご覧ください。