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

Chiến lược giao dịch đảo ngược nến Doji

Tác giả:ChaoZhang, Ngày: 2023-09-27 16:40:28
Tags:

Tổng quan

Chiến lược này xác định các mô hình nến doji và kết hợp SMA để xác định sự đảo ngược cho giao dịch. Nó tạo ra các tín hiệu giao dịch khi các mô hình doji hình thành và giá mở / đóng nằm ngoài đường SMA. Các tín hiệu tăng được tạo ra trên các đường đàn ông treo và các tín hiệu giảm trên các đường sao bắn.

Nguyên tắc

Các nguyên tắc chính của chiến lược này là:

  1. Xác định các mô hình doji bằng cách tính toán phạm vi giá mở / đóng so với chuyển động giá tổng thể.

  2. Kiểm tra xem việc đóng cửa trước đó có cao hơn / thấp hơn mức cao / thấp hiện tại để tránh tín hiệu sai.

  3. Đánh giá giá mở / đóng liên quan đến đường SMA để tạo ra tín hiệu đảo ngược.

  4. Tạo tín hiệu dài / ngắn khi các mô hình doji đủ điều kiện được xác định.

Các bước chính trong mã là:

  1. Tính toán đường SMA

  2. Vòng xoay qua nến để xác định các mô hình doji

  3. Kiểm tra mối quan hệ gần trước đó so với mối quan hệ cao / thấp hiện tại

  4. Xác nhận tín hiệu đảo ngược dựa trên mối quan hệ mở/khép và SMA

  5. Đánh dấu tín hiệu và phát ra tín hiệu dài / ngắn

Ưu điểm

Những lợi thế của chiến lược này bao gồm:

  1. Các mô hình Doji rõ ràng và dễ dàng xác định / thực hiện.

  2. Bộ lọc SMA giúp giảm tín hiệu sai.

  3. Các tín hiệu dài / ngắn rõ ràng làm cho các hoạt động giao dịch đơn giản.

  4. Giao dịch đảo ngược nắm bắt xu hướng ngắn hạn.

  5. Các thông số linh hoạt có thể thích nghi với các điều kiện thị trường khác nhau.

  6. Dễ hiểu và thực hiện, thân thiện với người mới bắt đầu.

Rủi ro

Một số rủi ro tiềm ẩn:

  1. Dựa vào mô hình duy nhất, dễ bị phá vỡ sai.

  2. Không có cơ chế dừng lỗ để kiểm soát lỗ.

  3. Chế độ điều chỉnh tham số không tốt có thể dẫn đến giao dịch quá mức.

  4. Tùy thuộc vào xu hướng, hoạt động kém trong các thị trường xu hướng.

  5. Hiệu suất phụ thuộc vào tối ưu hóa tham số.

Giải pháp:

  1. Thêm các bộ lọc khác để xác nhận tín hiệu.

  2. Thực hiện lệnh dừng lỗ để quản lý rủi ro.

  3. Tối ưu hóa các thông số và hạn chế tần suất giao dịch.

  4. Sử dụng chủ yếu trong các thị trường giới hạn phạm vi.

  5. Kiểm tra và tối ưu hóa liên tục.

Các lĩnh vực cải thiện

Một số cách để cải thiện chiến lược:

  1. Thêm bộ lọc âm lượng để tránh các sự đột phá giả.

  2. Thực hiện các cơ chế dừng lỗ như dừng lỗ sau.

  3. Tối ưu hóa các thông số dựa trên điều kiện thị trường như xu hướng.

  4. Thêm các chỉ số khác để xác nhận tín hiệu, chẳng hạn như MACD, KDJ v.v.

  5. Thêm xác định xu hướng để tránh giao dịch ngược xu hướng.

  6. Tối ưu hóa thời gian xem lại để cân bằng tần suất và chất lượng.

Tóm lại

Chiến lược này sử dụng mô hình doji với SMA để giao dịch đảo ngược hiệu quả. Nó có những lợi thế như quy tắc đơn giản và giao dịch dễ dàng. Nhưng cũng có rủi ro và các lĩnh vực để cải thiện. Với tối ưu hóa liên tục, nó có thể trở thành một hệ thống giao dịch ngắn hạn vững chắc.

[/trans]


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Doji Reversal", overlay=true)

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Thêm nữa