This strategy is a trend trading system based on Fibonacci retracement levels and candlestick patterns. It operates across multiple timeframes, combining technical analysis and risk management principles. The strategy primarily seeks trading opportunities by identifying key Fibonacci retracement levels (0.618 and 0.786) while utilizing stop-loss and profit targets for risk management.
The core logic of the strategy is based on several key elements: 1. Timeframe Selection: The strategy can operate on multiple timeframes including 4-hour, daily, weekly, and monthly to accommodate different trading styles. 2. Fibonacci Level Calculation: Uses 50-period high and low prices to calculate two key retracement levels at 0.618 and 0.786. 3. Entry Signal Generation: The system generates long or short signals when the closing price breaks through Fibonacci levels under specific conditions. Long signals require the closing price to be above the opening price and above the 0.618 level; short signals require the closing price to be below the opening price and below the 0.786 level. 4. Risk Management: The strategy employs fixed percentage stop-losses and determines profit targets through preset risk-reward ratios.
This is a well-structured trend-following strategy that provides traders with a systematic trading approach by combining Fibonacci retracement, candlestick patterns, and risk management principles. While certain risks exist, the strategy’s stability and reliability can be further enhanced through the suggested optimization directions. The strategy’s multi-timeframe nature and customizable parameters make it suitable for different types of traders.
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 2m basePeriod: 2m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jontucklogic7467 //@version=5 strategy("Fibonacci Swing Trading Bot", overlay=true) // Input parameters fiboLevel1 = input.float(0.618, title="Fibonacci Retracement Level 1") fiboLevel2 = input.float(0.786, title="Fibonacci Retracement Level 2") riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio") stopLossPerc = input.float(1.0, title="Stop Loss Percentage") / 100 // Timeframe selection useTimeframe = input.timeframe("240", title="Timeframe for Analysis", options=["240", "D", "W", "M"]) // Request data from selected timeframe highTF = request.security(syminfo.tickerid, useTimeframe, high) lowTF = request.security(syminfo.tickerid, useTimeframe, low) // Swing high and low calculation over the last 50 bars in the selected timeframe highestHigh = ta.highest(highTF, 50) lowestLow = ta.lowest(lowTF, 50) // Fibonacci retracement levels fib618 = highestHigh - (highestHigh - lowestLow) * fiboLevel1 fib786 = highestHigh - (highestHigh - lowestLow) * fiboLevel2 // Plot Fibonacci levels // line.new(bar_index[1], fib618, bar_index, fib618, color=color.red, width=2, style=line.style_dashed) // line.new(bar_index[1], fib786, bar_index, fib786, color=color.orange, width=2, style=line.style_dashed) // Entry signals based on candlestick patterns and Fibonacci levels bullishCandle = close > open and close > fib618 and close < highestHigh bearishCandle = close < open and close < fib786 and close > lowestLow // Stop loss and take profit calculation stopLoss = bullishCandle ? close * (1 - stopLossPerc) : close * (1 + stopLossPerc) takeProfit = bullishCandle ? close + (close - stopLoss) * riskRewardRatio : close - (stopLoss - close) * riskRewardRatio // Plot buy and sell signals if bullishCandle strategy.entry("Buy", strategy.long) strategy.exit("Take Profit", "Buy", limit=takeProfit, stop=stopLoss) if bearishCandle strategy.entry("Sell", strategy.short) strategy.exit("Take Profit", "Sell", limit=takeProfit, stop=stopLoss)