Tài nguyên đang được tải lên... tải...

Heikin-Ashi - 0.5% Thay đổi Chiến lược giao dịch ngắn hạn

Tác giả:ChaoZhang, Ngày: 2023-12-18 12:13:56
Tags:

img

Tổng quan

Đâ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.

Chiến lược logic

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] - 1Nế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 đồ.

Ưu điểm

  • Sử dụng tỷ lệ thay đổi Heikin-Ashi như là tín hiệu giao dịch, nắm bắt các thay đổi xu hướng giá tốt hơn so với trung bình di chuyển đơn giản v.v.
  • Phát hành tín hiệu dựa trên sự thay đổi giá nhỏ 0,5%, làm cho nó cực kỳ nhạy cảm và phù hợp với giao dịch ngắn hạn
  • Khá đơn giản và trực tiếp logic, dễ hiểu và thực hiện
  • Áp dụng cho nhiều khung thời gian, rất linh hoạt

Rủi ro và giải pháp

  • Heikin-Ashi chính nó tập trung nhiều hơn vào hành động giá ngắn hạn, dễ bị nhiễu thị trường và tín hiệu sai
    • Điều chỉnh các thông số như chỉ phản ứng với 1% hoặc 2% thay đổi để giảm tỷ lệ tín hiệu sai
  • Quá nhạy cảm, có thể giao dịch quá mức thường xuyên phải chịu phí cao hơn
    • Điều chỉnh thời gian giữ, ví dụ: tối thiểu 2 giờ mỗi giao dịch, để tránh giao dịch tần suất cao
  • Quá nhiều dấu hiệu đồ họa làm lộn xộn biểu đồ
    • ẩn hình dáng đồ thị và chỉ kiểm tra tín hiệu từ nhật ký chiến lược

Hướng dẫn tối ưu hóa

Các khía cạnh chính để tối ưu hóa chiến lược này:

  1. Điều chỉnh ngưỡng thay đổi giá dựa trên biến động thị trường và phong cách giao dịch để tìm các thông số tối ưu
  2. Bao gồm stop loss để giới hạn tỷ lệ lỗ tối đa cho mỗi giao dịch
  3. Thêm bộ lọc với các chỉ số khác để tránh giao dịch không cần thiết trong quá trình hợp nhất
  4. Đưa ra kích cỡ vị trí cho số lượng cố định, theo cấp số nhân, giao dịch lưới v.v.
  5. Tối ưu hóa các cơ chế nhập cảnh, tránh các whipsaws, giao dịch theo xu hướng hoặc ngược xu hướng

Kết luận

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)


Thêm nữa