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:
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)