La estrategia es un sistema de negociación de tendencias basado en los niveles de retracción de Fibonacci y en la forma de la línea K. Funciona en múltiples períodos de tiempo y combina los principios de análisis técnico y gestión de riesgos. La estrategia busca oportunidades potenciales de negociación principalmente mediante la identificación de los niveles clave de retracción de Fibonacci ((0.618 y 0.786)), mientras que utiliza objetivos de pérdidas y ganancias para administrar el riesgo.
La lógica central de la estrategia se basa en los siguientes elementos clave:
Esta es una estrategia de seguimiento de tendencias bien estructurada que ofrece a los operadores un método de negociación sistematizado mediante la combinación de retrocesos de Fibonacci, formas de línea K y principios de gestión de riesgos. Aunque existe un cierto riesgo, la estabilidad y la fiabilidad de la estrategia se pueden mejorar aún más mediante la orientación de optimización recomendada. La característica de la estrategia de múltiples ciclos y los parámetros de personalización la hacen adecuada para diferentes tipos de usuarios de operadores.
/*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)