Chiến lược này dựa trên xu hướng của nến liên tục. Nó xác định liệu có nên nhập vào một vị trí bằng cách so sánh giá đóng hiện tại với giá đóng của ba nến trước đó. Khi ba nến liên tiếp tăng, nó nhập vào vị trí dài, nếu không nó sẽ đóng vị trí. Đồng thời, chiến lược này áp dụng phương pháp dừng lỗ động, nơi mức dừng lỗ được xác định dựa trên giá nhập và tỷ lệ lỗ dừng cố định. Phương pháp này cho phép điều chỉnh năng động mức dừng lỗ, kiểm soát tốt rủi ro.
Chiến lược này đưa ra quyết định về việc mở và đóng các vị trí dựa trên phán đoán xu hướng của nến liên tục, trong khi áp dụng phương pháp dừng lỗ năng động để kiểm soát rủi ro. Logic chiến lược rõ ràng, dễ hiểu và thực hiện và áp dụng cho các thị trường và công cụ khác nhau. Tuy nhiên, trong ứng dụng thực tế, cần chú ý đến rủi ro của các thị trường không có xu hướng, và các thông số như tỷ lệ dừng lỗ cần được tối ưu hóa. Ngoài ra, việc giới thiệu các chỉ số kỹ thuật hơn, quản lý vị trí và các phương pháp khác có thể cải thiện hơn nữa hiệu suất chiến lược.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4 Candle Entry and Exit Strategy", overlay=true) // Define the stop loss percentage stopLossPercent = input.float(11, title="Stop Loss Percentage", minval=0.1) / 100 // Identify if the previous 3 candles are consecutively higher longCondition = close[3] > close[4] and close[2] > close[3] and close[1] > close[2] // Identify if the previous 3 candles are consecutively lower exitCondition = close[3] < close[4] and close[2] < close[3] and close[1] < close[2] // Initialize the entry price and stop loss variables var float entryPrice = na var float stopLoss = na // Update the entry price and stop loss if the long condition is met if (longCondition) entryPrice := close[1] stopLoss := entryPrice * (1 - stopLossPercent) // Enter the long position at the open of the 4th candle if (longCondition) strategy.entry("Long", strategy.long, qty=1) // Exit the position if exit condition is met or stop loss is hit if (exitCondition or (strategy.position_size > 0 and low <= stopLoss)) strategy.close("Long") // Optional: Plot the entry and exit signals on the chart plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=exitCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")