
A estratégia é um sistema de negociação de tendências baseado nos níveis de retração de Fibonacci e na forma de linha K. Funciona em múltiplos períodos de tempo, combinando princípios de análise técnica e gerenciamento de risco. A estratégia procura principalmente oportunidades de negociação potenciais identificando os níveis de retração de Fibonacci cruciais (de 0,618 e 0,786) e gerenciando o risco com o uso de metas de stop loss e profit.
A lógica central da estratégia é baseada nos seguintes elementos-chave:
Trata-se de uma estratégia de acompanhamento de tendências bem estruturada, que oferece aos traders uma metodologia de negociação sistematizada, combinando retrações de Fibonacci, formas de linha K e princípios de gerenciamento de risco. Apesar de existir um certo risco, a estabilidade e a confiabilidade da estratégia podem ser ainda melhoradas com a orientação de otimização sugerida. A característica de múltiplos períodos da estratégia e os parâmetros personalizáveis a tornam adequada para diferentes tipos de usuários de 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)