Chiến lược này là một hệ thống giao dịch dựa trên xác định xu hướng trung bình động và các mô hình đột phá sai mức hỗ trợ. Chiến lược này sử dụng các đường trung bình động đơn giản 50 giai đoạn và 200 giai đoạn để xác định xu hướng thị trường, kết hợp các mô hình đột phá sai mức hỗ trợ để tạo ra các tín hiệu giao dịch và sử dụng chỉ số ATR (Mức trung bình True Range) để thiết lập động các vị trí dừng lỗ trong khi thiết lập mục tiêu lợi nhuận tại các điểm đột phá. Chiến lược này sử dụng đầy đủ các đặc điểm xu hướng thị trường và các mô hình chuyển động giá để nắm bắt các cơ hội lợi nhuận thông qua sự phục hồi sau khi đột phá sai.
Logic cốt lõi của chiến lược bao gồm các yếu tố chính sau:
Chiến lược phá vỡ sai mức hỗ trợ đa SMA là một hệ thống giao dịch hoàn chỉnh kết hợp các mô hình theo xu hướng và giá cả. Thông qua xác định xu hướng bằng cách sử dụng các hệ thống trung bình động và nhận dạng mô hình phá vỡ sai mức hỗ trợ, kết hợp với các lỗ dừng động ATR, nó xây dựng một chiến lược giao dịch có thể kiểm soát rủi ro. Những lợi thế chính của chiến lược này nằm trong quy trình hoạt động có hệ thống và các phương pháp quản lý rủi ro rõ ràng. Thông qua tối ưu hóa và cải tiến liên tục, chiến lược có thể thích nghi tốt hơn với các môi trường thị trường khác nhau và cải thiện kết quả giao dịch. Trong các ứng dụng giao dịch trực tiếp, các nhà đầu tư được khuyên phải điều chỉnh các tham số chiến lược dựa trên khả năng chịu rủi ro và đặc điểm thị trường của họ.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("False Break Trading Strategy", overlay=true) // Define inputs for strategy parameters sma50Length = input.int(50, title="SMA 50 Length") sma200Length = input.int(200, title="SMA 200 Length") atrLength = input.int(14, title="ATR Length") lookbackPeriod = input.int(10, title="Swing High Lookback Period") // Calculate SMAs sma50 = ta.sma(close, sma50Length) sma200 = ta.sma(close, sma200Length) // Calculate ATR atr = ta.atr(atrLength) // Check if we are in an uptrend isUptrend = sma50 > sma200 // Calculate Pivot, Support, and Target Profit (Swing High) pivot = (high[1] + low[1] + close[1]) / 3 support = (2 * pivot) - high[1] swingHigh = ta.highest(high, lookbackPeriod) // Create signals for entry var float entryPrice = na var float stopLoss = na var float targetProfit = na longCondition = isUptrend and low[1] < support and close > support if (longCondition) entryPrice := open stopLoss := low - atr targetProfit := swingHigh // Plot signals and lines on chart plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Plot levels for entry, stop loss, and target plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr) plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr) plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr) // Backtest: Simulate exit points for the strategy if (longCondition) strategy.entry("Long", strategy.long) if (na(stopLoss) == false and na(targetProfit) == false) strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)