Chiến lược kiểm tra ngược Bearish Reversal Harami


Ngày tạo: 2023-11-23 11:47:10 sửa đổi lần cuối: 2023-11-23 11:47:10
sao chép: 0 Số nhấp chuột: 654
1
tập trung vào
1617
Người theo dõi

Chiến lược kiểm tra ngược Bearish Reversal Harami

Tổng quan

Chiến lược phản hồi Harami ngược của thị trường gấu được thực hiện bằng cách xác định hình dạng Harami ngược của thị trường gấu trong biểu đồ. Khi xác định hình dạng Harami ngược của thị trường gấu, chiến lược này sẽ vào vị trí khấu trừ; khi dừng lỗ hoặc dừng lại, vị trí thanh toán.

Nguyên tắc chiến lược

Các chỉ số nhận dạng cốt lõi của chiến lược này là: đường K trước là đường dài, đường K thứ hai là giá đóng cửa được chứa trong thực thể đường K trước, và là đường âm, có thể tạo ra hình dạng Harami đảo ngược thị trường gấu. Khi phù hợp với hình dạng này, chiến lược sẽ vào vị trí làm giảm.

Lý do của việc này là:

  1. Tính toán xem một trong những K trục trước có kích thước ABS ((Close1 - Open1) lớn hơn kích thước thực thể nhỏ nhất được đặt
  2. Xác định xem đường K trước là đường dương hay là đường dương
  3. Kiểm tra xem đường K hiện tại là đường âm
  4. Xác định giá mở K hiện tại nhỏ hơn hoặc bằng giá đóng K trước đó
  5. Xác định liệu giá mở K trước có nhỏ hơn hoặc bằng giá đóng K hiện tại không Open1 <= Close
  6. Xác định thực thể K-đường hiện tại có nhỏ hơn thực thể K-đường trước không Open - Close < Close1 - Open1
  7. Nếu đáp ứng các điều kiện trên, thị trường gấu sẽ đảo ngược Harami và vào vị trí giao dịch ngắn hạn.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Các nhà đầu tư đã sử dụng các tín hiệu xoay chuyển mạnh mẽ của thị trường gấu để tăng khả năng lợi nhuận.
  2. Dữ liệu phản hồi đầy đủ, kết quả giao dịch mô phỏng tốt
  3. Chiến lược logic đơn giản, rõ ràng, dễ hiểu và tối ưu hóa
  4. Cài đặt điểm dừng lỗ, kiểm soát rủi ro

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Thị trường có thể có sự phá vỡ giả tạo, gây ra vị trí bị chốt. Các điểm dừng lỗ có thể được nới lỏng thích hợp, hoặc thêm các điều kiện lọc.
  2. Giá chứng khoán có thể biến động quá lớn và không thể dừng. Bạn nên chọn loại giao dịch có tỷ lệ biến động thấp hơn.
  3. Dữ liệu phản hồi không đầy đủ, có thể không phản ánh tình hình thị trường thực.

Hướng tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa bằng cách:

  1. Tăng bộ lọc cho các chỉ số như Volume, MACD, để cải thiện chất lượng tín hiệu
  2. Tối ưu hóa chiến lược dừng lỗ, điều chỉnh điểm động
  3. Tăng hiệu quả giữ vị trí, kết hợp các yếu tố như xu hướng, giảm giao dịch không hiệu quả
  4. Thử các loại giao dịch khác nhau và chọn loại phù hợp với tỷ lệ biến động

Tóm tắt

Chiến lược phản hồi Harami của thị trường chứng khoán có logic rõ ràng, dễ hiểu và tối ưu hóa, kết quả phản hồi tốt hơn. Rủi ro có thể kiểm soát được, có không gian điều chỉnh thực tế. Nhìn chung, tín hiệu giao dịch được hình thành từ chiến lược này là đáng tin cậy hơn, đáng để kiểm tra thực tế và tối ưu hóa hơn nữa.

Mã nguồn chiến lược
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-19 23:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/01/2019 
//    This is a bearish reversal pattern formed by two candlesticks in which a short 
//    real body is contained within the prior session's long real body. Usually the 
//    second real body is the opposite color of the first real body. The Harami pattern 
//    is the reverse of the Engulfing pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Bearish Harami Backtest", overlay = true)
input_takeprofit = input(20, title="Take Profit pip")
input_stoploss = input(10, title="Stop Loss pip")
input_minsizebody = input(3, title="Min. Size Body pip")
barcolor(abs(close- open) >= input_minsizebody ? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? yellow :na :na : na : na : na : na)
pos = 0.0
barcolor(nz(pos[1], 0) == -1 ? red: nz(pos[1], 0) == 1 ? green : blue )
posprice = 0.0
posprice := abs( close - open) >= input_minsizebody? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? close :nz(posprice[1], 0) :nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0): nz(posprice[1], 0)
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))