Chiến lược Backtest đảo ngược Harami giảm giá xác định các mẫu đảo ngược Harami giảm giá trong biểu đồ nến và tự động giao dịch chúng. Nó đi ngắn khi phát hiện mô hình Harami giảm giá và đóng vị trí khi dừng lỗ hoặc lấy lợi nhuận được kích hoạt.
Chỉ số nhận dạng mô hình cốt lõi của chiến lược này là: đóng của nến đầu tiên là nến tăng dài và đóng của nến thứ hai nằm bên trong thân nến đầu tiên, tạo thành nến giảm. Điều này chỉ ra một mô hình đảo ngược Harami giảm tiềm năng. Khi mô hình này hình thành, chiến lược sẽ ngắn.
Lý thuyết cụ thể là:
Những lợi thế của chiến lược này là:
Ngoài ra còn có một số rủi ro:
Chiến lược có thể được tối ưu hóa hơn nữa trong các lĩnh vực sau:
Chiến lược thử nghiệm ngược của Bearish Harami có logic rõ ràng, dễ hiểu, kết quả kiểm tra lại tốt và rủi ro có thể kiểm soát được. Nó có chỗ cho các điều chỉnh và tối ưu hóa giao dịch trực tiếp. Nhìn chung các tín hiệu giao dịch đáng tin cậy và đáng để tối ưu hóa và xác minh thêm trong giao dịch trực tiếp.
/*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))