
Trend-confirmed pullback to a Fibonacci level (default 61.8 % of the recent swing). Custom — configure level, trend method, TP/Stop.
The Fibonacci Retracement assumes that after a strong move, price often pulls back to a specific ratio of the prior swing before continuing in the original direction. The classic levels are 23.6 %, 38.2 %, 50 %, 61.8 % (golden ratio) and 78.6 %. Empirically the 61.8 % level is the most-watched and most-tested entry zone in trend trading.
Setup: every bar we compute the Swing-High and Swing-Low of the previous swingLookback bars (default 50). The Buy-Level is SwingHigh − (SwingHigh − SwingLow) × buyLevel/100. We only enter long if the trend filter confirms an uptrend.
Trend filter — two methods:
sma (default): fastSMA > slowSMA (e.g. 50 > 200). Classic, robust on daily/weekly.structure: higher highs and higher lows over trendLookback bars vs. the preceding window. Pure price-action, no MA dependency.Entry: in an uptrend, when the previous bar's close was above its buy-level and the current bar's close drops below the current buy-level — the pullback has reached the Fib retracement.
Exit (against the entry swing — openSwing is frozen on entry):
Look-ahead protection: swing detection uses window [i-lookback, i-1], never bar i itself. All Buy/TP/Stop levels at bar i are built from data ≤ bar i-1.
The strategy is universal — works on any liquid asset class. The pullback-to-61.8 idea is one of the oldest patterns in TA.
| Name | Default | Range | Description |
|---|---|---|---|
| Swing Lookback | 50 | 10–500 | Bars used to define the Swing-High and Swing-Low. |
| Buy Level (% retracement) | 61.8 | 0–100 | Where to BUY in the Fibonacci ladder. 61.8 = golden ratio (default). |
| Trend Method | sma | – | `sma`: classic moving-average filter. `structure`: higher-highs + higher-lows. |
| Trend SMA Fast | 50 | 2–500 | Fast SMA for the trend filter (sma mode). |
| Trend SMA Slow | 200 | 2–500 | Slow SMA for the trend filter (sma mode). |
| TP Level (% retracement) | -27.2 | -200–100 | Take-profit level on the Fibonacci ladder. 0 = back at Swing-High, -27.2 = 1.272 Fib-Extension above Swing-High (default, Drost-Style). Negative values = extensions above Swing-High. |
| Stop Level (% retracement) | 78.6 | 0–200 | Stop level. Default 78.6 = next-deeper Fib (tight stop, ~17% range distance from 61.8 buy). 100 = Swing-Low broken. >100 for deeper invalidation. |
The pre-baked mini-backtest is refreshed daily — check back soon or start a live run in the Arena.
Run in Arena →// Trend filter
uptrend = trendMethod == 'sma'
? fastSMA[i] > slowSMA[i]
: higherHigh(highs, i, trendLookback) and higherLow(lows, i, trendLookback)
for each bar i:
prevSwing = swing(i - 1, swingLookback) // window [i-1-lookback, i-2]
currSwing = swing(i, swingLookback) // window [i-lookback, i-1]
if no prevSwing or no currSwing: continue
pBuy = prevSwing.hi - (prevSwing.hi - prevSwing.lo) * buyLevel/100
cBuy = currSwing.hi - (currSwing.hi - currSwing.lo) * buyLevel/100
// ENTRY: trend-confirmed pullback into Fib-Level
if position.is_flat and uptrend:
if close[i-1] >= pBuy and close[i] < cBuy:
BUY (freeze openSwing = currSwing)
// EXIT: TP or stop, against frozen openSwing
if position.is_long:
tp = openSwing.hi - (openSwing.hi - openSwing.lo) * tpLevel/100
stop = openSwing.hi - (openSwing.hi - openSwing.lo) * stopLevel/100
if close[i] >= tp or close[i] < stop: SELLThe 61.8 % ratio is the inverse of the golden ratio (1.618) — a number from the Fibonacci sequence that appears throughout nature, art and (some claim) market psychology. 38.2 % is 1 − 61.8. 50 % is not strictly Fibonacci but is included by convention. The empirical edge comes from these levels being **watched by many traders**, which creates a self-fulfilling support zone.
Phase 1 is long+cash only — same scope as all our long-only strategies. The strategy can be inverted (pullback to 61.8 % in a downtrend = SHORT entry) but that's a future addition.
The classic trend-following signal — when the 50-day SMA crosses above the 200-day SMA, the trend has flipped bullish.
The textbook RSI strategy — buy when oversold (RSI < 30), sell when overbought (RSI > 70). Best in sideways markets.
Two EMAs plus an ATR-based neutral zone — like the commercial Larsson Line, but tunable, transparent, and backtested. Choose your bias.
Check out our Strategy Insights Reports — pre-baked deep-dives with historical results, comparisons, and market context.