Chiến lược đảo ngược giảm giá

Tác giả:ChaoZhang, Ngày: 2024-01-04 17:35:18
Tags:

img

Tổng quan

Đây là một chiến lược sử dụng mô hình ngập giảm trong các ngọn nến để xác định các tín hiệu đảo ngược thị trường để bán ngắn. Nó đi ngắn khi mô hình ngập giảm xuất hiện và đóng vị trí sau khi đạt được mục tiêu lợi nhuận.

Chiến lược logic

Lý thuyết cốt lõi của chiến lược này là xác định mô hình nuốt chửng giảm trong biểu đồ nến. Mô hình nuốt chửng giảm đề cập đến nến giảm hoàn toàn nuốt chửng cơ thể thực của nến tăng trước đó sau xu hướng tăng. Theo lý thuyết phân tích kỹ thuật, mô hình này thường ngụ ý rằng xu hướng tăng hiện tại sẽ sớm đảo ngược.

Do đó, logic giao dịch cụ thể của chiến lược này là:

  1. Khi mô hình nuốt chửng giảm được phát hiện (cây nến trước đây là một ngọn nến lên với kích thước thỏa mãn của cơ thể thực, các khoảng trống nến hiện tại xuống và cơ thể thực của nó hoàn toàn nuốt chửng các nến trước), đi ngắn.
  2. Nếu lỗ vượt quá mức dừng lỗ đã thiết lập, đóng vị trí.
  3. Nếu lợi nhuận vượt quá mức lợi nhuận được thiết lập, đóng vị trí.

Bằng cách đó, cơ hội đảo ngược có thể được nắm bắt sau khi tín hiệu giảm dần xuất hiện.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là nó có thể xác định sự đảo ngược thị trường tương đối sớm dựa trên mô hình ngập giảm, đây là một tín hiệu đảo ngược khá hiệu quả với tỷ lệ thành công cao. Ngoài ra, logic chiến lược là đơn giản và dễ hiểu và thực hiện.

Ngoài ra, các cơ chế dừng lỗ và lấy lợi nhuận giúp kiểm soát rủi ro và khóa lợi nhuận, do đó ngăn ngừa thiệt hại quá mức một cách hiệu quả.

Phân tích rủi ro

Rủi ro lớn của chiến lược này là tín hiệu đảo ngược giảm không phải lúc nào cũng đáng tin cậy. Mặc dù trong hầu hết các trường hợp, nó chính xác, nhưng đôi khi có thể xảy ra đánh giá sai. Điều này có thể dẫn đến tổn thất không thể tránh khỏi trong giao dịch thực tế.

Ngoài ra, sử dụng mức cố định để dừng lỗ và lấy lợi nhuận thiếu sự linh hoạt ở một mức độ nào đó. Nó có thể dẫn đến việc bị mắc kẹt hoặc bỏ lỡ lợi nhuận lớn hơn khi thị trường biến động mạnh mẽ.

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

Chiến lược này có thể được tối ưu hóa thêm trong các khía cạnh sau:

  1. Thêm các quy tắc lựa chọn cho các phiên giao dịch. Chỉ chạy chiến lược trong các phiên hoạt động có thể giảm xác suất đánh giá sai.
  2. Sử dụng các số liệu như khối lượng giao dịch hoặc phạm vi trung bình thực sự để xác định độ tin cậy của tín hiệu.
  3. Sử dụng stop loss động và lấy lợi nhuận, và sử dụng các chỉ số biến động để thiết lập mức độ linh hoạt hơn.
  4. Thêm các đánh giá xu hướng thị trường tổng thể để tránh tổn thất không cần thiết trong quá trình củng cố thị trường.

Kết luận

Chiến lược đảo ngược giảm giá này nắm bắt thời gian đảo ngược thị trường bằng cách xác định mô hình đảo ngược giảm giá. Logic chiến lược đơn giản và dễ thực hiện với tỷ lệ thành công tương đối cao. Nhưng vẫn có một số rủi ro đánh giá sai. Có thể thực hiện tối ưu hóa thêm để cải thiện hiệu suất chiến lược và giảm rủi ro.


/*backtest
start: 2023-12-04 00:00:00
end: 2024-01-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/10/2018
//
//    This is a bearish candlestick reversal pattern formed by two candlesticks. 
//    Following an uptrend, the first candlestick is a up candlestick which is 
//    followed by a down candlestick which has a long real body that engulfs or 
//    contains  the real body of the prior bar. The Engulfing pattern is the reverse 
//    of the Harami pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////

strategy(title = "Bearish Engulfing Backtest", overlay = true)
input_takeprofit = input(40, title="Take Profit pip")
input_stoploss = input(20, title="Stop Loss pip")
input_minsizebody = input(2, title="Min. Size Body pip")
barcolor(abs(close[1] - open[1]) >= 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[1] - open[1]) >= 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))

Thêm nữa