
Ý tưởng cốt lõi của chiến lược này là kết hợp thời gian và chỉ số ATR để thiết lập thời gian mua và điểm dừng. Chiến lược phát ra tín hiệu mua tại thời điểm được chỉ định, lấy giá đóng cửa vào thời điểm đó làm giá mua, sau đó thêm giá mua cộng với giá ATR làm điểm dừng.
Chiến lược này bao gồm:
Các tham số đầu vào: bao gồm mua thời gian timeTrade và tham số ATRatrLength. timeTrade quyết định mua thời gian,atrLength quyết định tham số chu kỳ của ATR.
Tính toán chỉ số ATR: Tính toán giá trị của chỉ số ATR dựa trên tham sốatrLengthatrValue。
Định nghĩa điều kiện mua: tạo tín hiệu mua khi kết hợp giờ và phút bằng timeTrade.
Gửi lệnh mua: làm nhiều hơn khi đáp ứng các điều kiện mua, ghi lại giá mua buyprice.
Thiết lập điểm dừng lỗ: điểm dừng lỗ được cộng với giá mua ATR. Khi giá vượt qua điểm dừng lỗ, điểm dừng lỗ sẽ bị rút ra.
Hình vẽ: vẽ một đường thẳng đứng.
Ưu điểm lớn nhất của chiến lược này là sử dụng thời gian và chỉ số ATR để xác nhận hai lần thời điểm mua và điểm dừng. Điều này tránh theo dõi mù quáng thị trường mua và kiểm soát rủi ro một cách hiệu quả. Thứ hai, việc sử dụng điểm dừng của thiết lập ATR là thay đổi động, có thể thiết lập phạm vi dừng hợp lý dựa trên mức độ biến động của thị trường. Cuối cùng, logic của chiến lược đơn giản, dễ hiểu và theo dõi.
Chiến lược này có những rủi ro chủ yếu như sau:
Không đặt đúng thời gian mua, có thể bỏ lỡ thời gian mua tốt hơn hoặc mua vào thị trường không mong muốn.
Thiết lập ATR không đúng, điểm dừng quá lớn hoặc quá nhỏ sẽ ảnh hưởng đến hiệu quả của chiến lược.
Không thể theo dõi hiệu quả xu hướng đường dài, thích hợp hơn cho hoạt động đường ngắn.
Không có yếu tố phân tích cơ bản.
Chiến lược này có thể được tối ưu hóa hơn nữa ở những khía cạnh sau:
Kết hợp các mô hình đa yếu tố để xác định thời gian mua hàng khoa học hơn.
Thiết lập tham số ATR tối ưu hóa kết hợp với mô hình tỷ lệ dao động.
Tăng cơ chế theo dõi xu hướng, có thể thích ứng với thời gian nắm giữ dài hơn.
Các nhà phân tích cho rằng, việc mua nhà máy này là một quyết định hợp lý.
Chiến lược này nói chung là một chiến lược giao dịch trong ngày tần số cao đơn giản và trực quan hơn. Ý tưởng cốt lõi là sử dụng thời gian và xác nhận kép của chỉ số ATR để khóa thời gian mua và điểm dừng. Ưu điểm là rủi ro có thể kiểm soát được, tương đối dễ thực hiện.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Time-based Strategy with ATR Take Profit", overlay=true)
// Initialize take profit levels
var float takeProfitLevel = na
var float takeProfitLevelForSell = na
var float buyprice = na
var float sellprice = na
// Input for the time when the trade should be executed
tradeTime = input(0700, "Trade Execution Time (HHMM)", "Specify the time in HHMM format", group="Time Settings")
// Calculate ATR for the last 5 minutes
atrLength = input(14, "ATR Length", "Specify ATR length", group="ATR Settings")
atrValue = request.security(syminfo.tickerid, "5", ta.atr(atrLength))
// Define conditions for buy and sell
buyCondition = hour * 100 + minute == tradeTime // and strategy.position_size == 0
sellCondition = hour * 100 + minute == tradeTime // and strategy.position_size > 0
// Execute Buy and Sell orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
buyprice := close
takeProfitLevel := buyprice + atrValue
strategy.exit("Take Profit BUY", from_entry="Buy", limit =takeProfitLevel)
// if (sellCondition)
// strategy.entry("Sell", strategy.short)
// sellprice := close
// takeProfitLevelForSell := sellprice -atrValue
// strategy.exit("Take Profit Sell", from_entry="Sell", limit=takeProfitLevelForSell)
// Plot horizontal lines for take profit levels
plot(takeProfitLevel, color=color.green, title="Take Profit Level (Buy)")
plot(takeProfitLevelForSell, color=color.red, title="Take Profit Level (Sell)")