
Đây là một chiến lược giao dịch dựa trên giao dịch vàng chéo hai đường trung bình, kết hợp quản lý rủi ro thích ứng và điều chỉnh vị trí động. Chiến lược sử dụng đường trung bình di chuyển đơn giản 50 và 200 ngày ((SMA) để xác định xu hướng và tạo ra tín hiệu mua khi đi qua đường trung bình 200 ngày trên đường trung bình 50 ngày.
Chiến lược quản lý rủi ro tự điều chỉnh dựa trên giao lộ vàng hai đường bằng phẳng này cung cấp cho các nhà giao dịch một hệ thống giao dịch tương đối ổn định bằng cách kết hợp các phương pháp phân tích kỹ thuật cổ điển với các công nghệ quản lý rủi ro hiện đại. Nó không chỉ có thể nắm bắt xu hướng trung và dài hạn, mà còn có thể kiểm soát rủi ro một cách hiệu quả, phù hợp với các nhà đầu tư tìm kiếm thu nhập ổn định. Tuy nhiên, khi sử dụng chiến lược này, các nhà giao dịch vẫn cần theo dõi chặt chẽ sự thay đổi của thị trường và liên tục tối ưu hóa các tham số để đạt được tỷ lệ lợi nhuận rủi ro tối ưu dựa trên hoạt động giao dịch thực tế.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Golden Cross with 1.5% Stop-Loss & MA Exit", overlay=true)
// Define the 50-day and 200-day moving averages
ma50 = ta.sma(close, 50)
ma200 = ta.sma(close, 200)
// Entry condition: 50-day MA crosses above 200-day MA (Golden Cross)
goldenCross = ta.crossover(ma50, ma200)
// Exit condition: price drops below the 200-day MA
exitCondition = close < ma200
// Set the stop-loss to 1.5% below the 200-day moving average
stopLoss = ma200 * 0.985 // 1.5% below the 200-day MA
// Risk management (1.5% of total equity)
riskPercent = 0.025 // 1.5% risk
equity = strategy.equity
riskAmount = equity * riskPercent
// Calculate the distance between the entry price (close) and the stop-loss
stopDistance = close - stopLoss
// Calculate position size based on the risk amount and stop-loss distance
if (goldenCross and stopDistance > 0)
positionSize = riskAmount / stopDistance
strategy.entry("Long", strategy.long, qty=positionSize)
// Exit the trade when the price crosses below the 200-day moving average
if (exitCondition)
strategy.close("Long")
// Plot the moving averages on the chart for visualization
plot(ma50, color=color.blue, linewidth=2, title="50-day MA")
plot(ma200, color=color.red, linewidth=2, title="200-day MA")