Strategy vault / Mean reversion
Advanced Fibonacci Retracement Trend Following and Reversal Trading Strategy
This strategy is an advanced trend-following and reversal trading system based on Fibonacci retracement levels. It dynamically identifies price highs and lows to automatically calculate and plot seven key Fibonacci…

Overview
This strategy is an advanced trend-following and reversal trading system based on Fibonacci retracement levels. It dynamically identifies price highs and lows to automatically calculate and plot seven key Fibonacci retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%) for identifying potential support and resistance levels. The system employs a bi-directional trading mechanism that can capture both long opportunities in uptrends and short opportunities in downtrends.
Strategy Principles
The core logic is based on several key elements:
- Dynamic High-Low Identification: Calculates highest and lowest points over a user-defined lookback period to ensure real-time updates of Fibonacci levels.
- Bi-directional Trading Signals: Triggers long signals on breakouts above 61.8% retracement and short signals on breaks below 38.2% retracement.
- Precise Exit Mechanism: Exits long positions at 23.6% level and short positions at 78.6% level.
- Visual Optimization Options: Offers compact line display mode to reduce chart clutter.
Strategy Advantages
- Strong Adaptability: Strategy adapts to different market environments through dynamic Fibonacci level calculations.
- Robust Risk Control: Clear entry and exit conditions eliminate subjective judgment bias.
- Diverse Trading Opportunities: Captures both trend continuation and reversal trades.
- High Visualization: Clear chart display helps traders quickly assess market conditions.
Strategy Risks
- Market Volatility Risk: False signals may occur in highly volatile markets.
- Trend Dependency: Frequent entry/exit signals may occur in ranging markets.
- Time Lag Risk: Lookback period settings may lead to delayed signals.
- Parameter Sensitivity: Different lookback periods may produce significantly different trading results.
Strategy Optimization Directions
- Signal Filtering: Recommend adding trend confirmation indicators like moving averages or RSI to reduce false signals.
- Dynamic Stop-Loss: Consider implementing ATR-based dynamic stop-loss adjustment.
- Position Management: Suggest introducing volatility-based position sizing mechanism.
- Market Environment Recognition: Add market condition assessment module for adaptive parameter settings.
Summary
The strategy combines classical Fibonacci retracement theory with modern quantitative trading techniques to create a comprehensive trading system. Its strength lies in automatic identification of key price levels and clear trading signals, while remaining mindful of market environment impacts on strategy performance. Through the suggested optimization directions, the strategy's stability and profitability can be further enhanced.
Source Pine Script
/*backtest
start: 2024-01-06 00:00:00
end: 2025-01-05 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fibonacci Retracement Strategy for Crypto", overlay=true)
// Input parameters
lookback = input.int(50, title="Lookback Period", minval=1)
plotLevels = input.bool(true, title="Plot Fibonacci Levels?")
compactLines = input.bool(true, title="Compact Fibonacci Lines?")
// Calculate highest high and lowest low for the lookback period
highestHigh = ta.highest(high, lookback)
lowestLow = ta.lowest(low, lookback)
// Fibonacci retracement levels
diff = highestHigh - lowestLow
level0 = highestHigh
level23_6 = highestHigh - diff * 0.236
level38_2 = highestHigh - diff * 0.382
level50 = highestHigh - diff * 0.5
level61_8 = highestHigh - diff * 0.618
level78_6 = highestHigh - diff * 0.786
level100 = lowestLow
// Plot Fibonacci levels (compact mode to make lines shorter)
// if plotLevels
// lineStyle = compactLines ? line.style_dashed : line.style_solid
// line.new(bar_index[lookback], level0, bar_index, level0, color=color.green, width=1, style=lineStyle)
// line.new(bar_index[lookback], level23_6, bar_index, level23_6, color=color.blue, width=1, style=lineStyle)
// line.new(bar_index[lookback], level38_2, bar_index, level38_2, color=color.blue, width=1, style=lineStyle)
// line.new(bar_index[lookback], level50, bar_index, level50, color=color.orange, width=1, style=lineStyle)
// line.new(bar_index[lookback], level61_8, bar_index, level61_8, color=color.red, width=1, style=lineStyle)
// line.new(bar_index[lookback], level78_6, bar_index, level78_6, color=color.red, width=1, style=lineStyle)
// line.new(bar_index[lookback], level100, bar_index, level100, color=color.green, width=1, style=lineStyle)
// Long trade: Buy when price crosses above 61.8% retracement
longCondition = ta.crossover(close, level61_8)
if longCondition
strategy.entry("Long", strategy.long, alert_message="Price bounced off Fibonacci level - Enter Long")
// Short trade: Sell when price crosses below 38.2% retracement
shortCondition = ta.crossunder(close, level38_2)
if shortCondition
strategy.entry("Short", strategy.short, alert_message="Price crossed below Fibonacci level - Enter Short")
// Exit conditions
exitLong = close >= level23_6
if exitLong
strategy.close("Long", alert_message="Price reached 23.6% Fibonacci level - Exit Long")
exitShort = close <= level78_6
if exitShort
strategy.close("Short", alert_message="Price reached 78.6% Fibonacci level - Exit Short")
Published by ChaoZhang on the FMZ strategy square · last modified 2025-01-06. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.
Build this with AgenKit
A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Advanced-Fibonacci-Retracement-Trend-Following-and-Reversal-Trading-Strategy.md- npx agenkit install engineering-kit in your project
- Paste the command into your agent and approve each phase
- Get tests, backtest, risk controls and a paper-trading switch
Understand it first
Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.
Related specs
- Multi Timeframe Gold Reversal Tracking StrategyPine Script · Mean reversion · 2h
- RSI Indicator Long Short Separation Trading StrategyPine Script · Mean reversion · 3h
- Advanced Momentum EMA Trend Following with RSI Overbought Oversold Trading StrategyPine Script · Mean reversion · 1d
- Dynamic MACD and Ichimoku Cloud Trading StrategyPine Script · Mean reversion · 1h
- EMA Crossover Fibonacci Reversal StrategyPine Script · Mean reversion · 1h
- Multi Level Support Resistance Weekly Mean Reversion Trading StrategyPine Script · Mean reversion · 1d