Chiến lược này là một hệ thống giao dịch toàn diện kết hợp việc khôi phục Fibonacci, theo xu hướng và quản lý rủi ro. Nó chủ yếu sử dụng mức khôi phục Fibonacci 0,65 như một điểm tham chiếu giá chính, kết hợp các đường trung bình động để xác nhận xu hướng và tích hợp các cơ chế dừng lỗ và lấy lợi nhuận năng động dựa trên ATR. Chiến lược hoạt động trên một khung thời gian 15 phút và nhằm mục đích nắm bắt các cơ hội giao dịch có khả năng cao phù hợp với xu hướng thị trường hiện tại.
Lý thuyết cốt lõi của chiến lược dựa trên một số thành phần chính:
Đây là một chiến lược theo xu hướng trung hạn được thiết kế tốt, xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách kết hợp lý thuyết Fibonacci, theo xu hướng và quản lý rủi ro. Đặc điểm chính của chiến lược là tạo ra các tín hiệu giao dịch dựa trên sự đột phá giá của các mức chính trong khi xác định xu hướng thị trường, quản lý rủi ro thông qua các cơ chế dừng lỗ và lấy lợi nhuận năng động.
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-25 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Refined Fibonacci Strategy - Enhanced Risk Management", overlay=true) // Input parameters fibonacci_lookback = input.int(38, minval=2, title="Fibonacci Lookback Period") atr_multiplier = input.float(1.8, title="ATR Multiplier for Stop Loss and Take Profit") sma_length = input.int(181, title="SMA Length") // Calculating Fibonacci levels var float high_level = na var float low_level = na if (ta.change(ta.highest(high, fibonacci_lookback))) high_level := ta.highest(high, fibonacci_lookback) if (ta.change(ta.lowest(low, fibonacci_lookback))) low_level := ta.lowest(low, fibonacci_lookback) fib_level_0_65 = high_level - ((high_level - low_level) * 0.65) // Trend Filter using SMA sma = ta.sma(close, sma_length) in_uptrend = close > sma in_downtrend = close < sma // ATR for Risk Management atr = ta.atr(12) long_stop_loss = close - (atr * atr_multiplier) long_take_profit = close + (atr * atr_multiplier) short_stop_loss = close + (atr * atr_multiplier) short_take_profit = close - (atr * atr_multiplier) // Entry Conditions buy_signal = close > fib_level_0_65 and close[1] <= fib_level_0_65 and in_uptrend sell_signal = close < fib_level_0_65 and close[1] >= fib_level_0_65 and in_downtrend // Execute Trades if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Exit Conditions if (strategy.position_size > 0) strategy.exit("Exit Long", "Buy", stop=long_stop_loss, limit=long_take_profit) if (strategy.position_size < 0) strategy.exit("Exit Short", "Sell", stop=short_stop_loss, limit=short_take_profit) // Plotting plot(fib_level_0_65, color=color.blue, title="Fibonacci 0.65 Level") plot(sma, color=color.orange, title="SMA")