Chiến lược này là một hệ thống giao dịch theo xu hướng tiên tiến dựa trên chỉ số Supertrend, kết hợp nhiều cơ chế xác nhận tín hiệu và quản lý vị trí năng động.
Chiến lược sử dụng một cơ chế lọc tín hiệu ba lớp:
Chiến lược sử dụng 15% vốn chủ sở hữu tài khoản như kích thước vị trí cho mỗi giao dịch, hỗ trợ quản lý rủi ro thận trọng.
Đây là một chiến lược theo xu hướng có cấu trúc tốt và hợp lý nghiêm ngặt với giá trị ứng dụng thực tế thông qua nhiều cơ chế xác nhận tín hiệu và hệ thống quản lý rủi ro toàn diện.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step=0.01) // Compute supertrend values [supertrendValue, supertrendDirection] = ta.supertrend(factor, atrPeriod) var float direction = na if not na(supertrendDirection[1]) and supertrendDirection[1] != supertrendDirection direction := supertrendDirection > 0 ? 1 : -1 // Variables to track conditions var int lastShortTime = na var int lastLongTime = na // Detecting short and long entries if direction == -1 strategy.entry("My Short Entry Id", strategy.short) lastShortTime := bar_index if direction == 1 strategy.entry("My Long Entry Id", strategy.long) lastLongTime := bar_index // Custom signal logic bool bullishSignal = false bool bearishSignal = false // Define bullish signal conditions if not na(lastShortTime) and (bar_index - lastShortTime >= 15 and bar_index - lastShortTime <= 19) if close > open and close[1] > open[1] and close[2] > open[2] bullishSignal := true // Define bearish signal conditions if not na(lastLongTime) and (bar_index - lastLongTime >= 15 and bar_index - lastLongTime <= 19) if close < open and close[1] < open[1] and close[2] < open[2] bearishSignal := true // Plot signals if bullishSignal strategy.entry("Bullish Upward Signal", strategy.long) label.new(bar_index, close, text="Bullish", style=label.style_circle, color=color.green, textcolor=color.white) if bearishSignal strategy.entry("Bearish Downward Signal", strategy.short) label.new(bar_index, close, text="Bearish", style=label.style_circle, color=color.red, textcolor=color.white) // Optionally plot the strategy equity //plot(strategy.equity, title="Equity", color=color.red, linewidth=2, style=plot.style_areabr)