Đây là một chiến lược giao dịch ngắn hạn phát hành tín hiệu mua và bán dựa trên sự thay đổi 0,5% trong giá đóng Heikin-Ashi. Nó chỉ phù hợp với biểu đồ nến Heikin-Ashi và hoạt động tốt nhất ở khoảng thời gian 2 giờ, 1 giờ và 30 phút.
Logic cốt lõi của chiến lược này là:Đi dài khi giá đóng cửa Heikin-Ashi tăng 0,5% so với nến trước; Đi ngắn khi giá đóng cửa Heikin-Ashi giảm 0,5% so với nến trước.
Cụ thể, chiến lược đầu tiên tính toán sự thay đổi tỷ lệ phần trăm giữa giá đóng cửa hiện tại và giá đóng cửa trước đó, tức làpriceChange = close / close[1] - 1
Nếu.priceChange >= 0.005
, một tín hiệu dài được phát ra.priceChange <= -0.005
, một tín hiệu ngắn được phát ra.
Khi phát ra tín hiệu, chiến lược cũng đánh giá liệu có một vị trí hiện có hay không. Nếu đã có vị trí (dài hoặc ngắn), không có tín hiệu nào sẽ được lặp lại. Nếu không có vị trí, nó sẽ phát ra tín hiệu vị trí mở dựa trên điều kiện mua hoặc bán.
Cuối cùng,plotshape
được sử dụng để đánh dấu các tín hiệu mua và bán trên biểu đồ.
Các khía cạnh chính để tối ưu hóa chiến lược này:
Tóm lại, đây là một thông số rất đơn giản, thấp, dễ hiểu chiến lược giao dịch ngắn hạn. Nó bắt được sự thay đổi giá cực kỳ nhanh, phù hợp với các nhà giao dịch tần số cao. Nhưng cũng cần kiểm soát số lượng giao dịch để giảm chi phí. Với một số phương pháp tối ưu hóa, nó có thể đạt được kết quả tốt hơn.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true) // Calculate 0.5% price change priceChange = close / close[1] - 1 // Buy and Sell Signals buyp = priceChange >= 0.005 sellp = priceChange <= -0.005 // Initialize position and track the current position var int position = na // Strategy entry conditions buy_condition = buyp and (na(position) or position == -1) sell_condition = sellp and (na(position) or position == 1) if buy_condition strategy.entry("Buy", strategy.long) position := 1 if sell_condition strategy.entry("Sell", strategy.short) position := -1 // Plot Buy and Sell signals using plotshape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)