This strategy is a trend breakthrough trading system based on the Fibonacci 0.7 retracement level. It generates trading signals when price breaks through the Fibonacci 0.7 level, which is calculated using the highest and lowest prices within a specified lookback period. The strategy employs fixed percentage take-profit and stop-loss levels for risk management, using 5% of account equity as the default position size.
The core logic of the strategy is based on the following key elements:
The strategy combines classic Fibonacci theory with core elements of trend breakthrough and risk management. While it has certain limitations, through appropriate parameter optimization and signal filtering, it has the potential to maintain stable performance across various market conditions. Successful strategy implementation requires traders to deeply understand market characteristics and make appropriate adjustments and optimizations based on actual conditions.
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-25 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci 0.7 Strategy - 60% Win Rate", overlay=true) // Input parameters fibonacci_lookback = input.int(20, minval=1, title="Fibonacci Lookback Period") take_profit_percent = input.float(1.8, title="Take Profit (%)") stop_loss_percent = input.float(1.2, title="Stop Loss (%)") // Calculating Fibonacci levels var float high_level = na var float low_level = na if (ta.change(ta.highest(high, fibonacci_lookback))) high_level := ta.highest(high, fibonacci_lookback) if (ta.change(ta.lowest(low, fibonacci_lookback))) low_level := ta.lowest(low, fibonacci_lookback) fib_level_0_7 = high_level - ((high_level - low_level) * 0.7) // Entry Conditions buy_signal = close > fib_level_0_7 and close[1] <= fib_level_0_7 sell_signal = close < fib_level_0_7 and close[1] >= fib_level_0_7 // Risk management long_take_profit = strategy.position_avg_price * (1 + take_profit_percent / 100) long_stop_loss = strategy.position_avg_price * (1 - stop_loss_percent / 100) short_take_profit = strategy.position_avg_price * (1 - take_profit_percent / 100) short_stop_loss = strategy.position_avg_price * (1 + stop_loss_percent / 100) // Execute trades if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Take Profit and Stop Loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Buy", stop=long_stop_loss, limit=long_take_profit) if (strategy.position_size < 0) strategy.exit("Take Profit/Stop Loss", "Sell", stop=short_stop_loss, limit=short_take_profit) // Plot Fibonacci Level plot(fib_level_0_7, color=color.blue, title="Fibonacci 0.7 Level")