
Chiến lược này là một hệ thống giao dịch xu hướng dựa trên mức Fibonacci Reversal và hình dạng K-line. Nó hoạt động trên nhiều chu kỳ thời gian, kết hợp các nguyên tắc phân tích kỹ thuật và quản lý rủi ro. Chiến lược chủ yếu tìm kiếm các cơ hội giao dịch tiềm năng bằng cách xác định các mức Fibonacci Reversal quan trọng (.618 và 0.786) và quản lý rủi ro bằng cách sử dụng các mục tiêu dừng lỗ và lợi nhuận.
Logic cốt lõi của chiến lược này dựa trên các yếu tố chính sau:
Đây là một chiến lược theo dõi xu hướng có cấu trúc hoàn hảo, cung cấp cho các nhà giao dịch một phương pháp giao dịch có hệ thống bằng cách kết hợp Fibonacci retraction, K-line morphology và các nguyên tắc quản lý rủi ro. Mặc dù có một số rủi ro, nhưng sự ổn định và độ tin cậy của chiến lược có thể được nâng cao hơn nữa thông qua hướng tối ưu hóa được đề xuất. Tính chất đa chu kỳ của chiến lược và các tham số có thể tùy chỉnh làm cho nó phù hợp với các loại người dùng giao dịch khác nhau.
/*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)