
Đây là một hệ thống chiến lược giao dịch dựa trên trung bình di chuyển đơn giản bốn chu kỳ, tích hợp cơ chế quản lý dừng lỗ động. Chiến lược này nắm bắt các điểm biến của xu hướng thị trường bằng cách theo dõi giá và mối quan hệ chéo của đường trung bình ngắn hạn và đặt dừng lỗ theo tỷ lệ phần trăm để thực hiện quản lý rủi ro.
Chiến lược hoạt động dựa trên logic cốt lõi sau: Đầu tiên tính toán đường trung bình di chuyển đơn giản 4 chu kỳ (SMA) làm chỉ số chính, hệ thống nhận ra tín hiệu xem nhiều và mở nhiều khi giá vượt qua SMA; khi giá vượt qua SMA xuống, hệ thống nhận ra tín hiệu xem ít và mở vị trí trống. Mỗi giao dịch được thiết lập một điểm dừng lỗ động dựa trên giá mở vị trí, dừng lỗ là 2% và dừng lỗ là 1%. Cài đặt này đảm bảo tỷ lệ lợi nhuận / lỗ là 2: 1, phù hợp với nguyên tắc quản lý tài chính chuyên nghiệp.
Đây là một chiến lược giao dịch định lượng có cấu trúc, logic rõ ràng. Nó nắm bắt động lực thị trường thông qua đường trung bình ngắn hạn, được hỗ trợ bởi cơ chế kiểm soát rủi ro nghiêm ngặt, phù hợp với các nhà giao dịch theo đuổi lợi nhuận ổn định. Mặc dù có một số không gian tối ưu hóa, nhưng khung cơ bản của chiến lược có khả năng mở rộng tốt, có khả năng đạt được hiệu quả giao dịch tốt hơn thông qua việc tối ưu hóa và điều chỉnh liên tục.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4SMA Strategy with Targets and Stop Loss", overlay=true)
// Input parameters for SMA
smaLength = input.int(4, title="SMA Length", minval=1)
// Input parameters for stop loss and take profit
takeProfitPercent = input.float(2.0, title="Take Profit (%)", step=0.1) // Default: 2%
stopLossPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) // Default: 1%
// Calculate 4-period SMA
sma = ta.sma(close, smaLength)
// Plot SMA
plot(sma, color=color.blue, title="4SMA Line")
// Entry Conditions
longCondition = ta.crossover(close, sma) // Price crosses above SMA (bullish signal)
shortCondition = ta.crossunder(close, sma) // Price crosses below SMA (bearish signal)
// Strategy Logic
if (longCondition)
strategy.entry("Long", strategy.long) // Enter long position
if (shortCondition)
strategy.entry("Short", strategy.short) // Enter short position
// Calculate Take Profit and Stop Loss
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) // TP for long
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) // SL for long
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // TP for short
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) // SL for short
// Exit for Long
if (strategy.position_size > 0) // If in a long position
strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Exit for Short
if (strategy.position_size < 0) // If in a short position
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)