Chiến lược theo dõi đảo ngược hai lần

Tác giả:ChaoZhang, Ngày: 2023-12-01 15:36:34
Tags:

img

Tổng quan

Chiến lược theo dõi đảo ngược hai lần tạo ra tín hiệu giao dịch bằng cách theo dõi các điểm đảo ngược hai lần của giá. Nó sẽ mở một vị trí ngắn khi giá hình thành một điểm cao mới và sẽ mở một vị trí dài khi giá hình thành một điểm thấp mới.

Chiến lược logic

Chiến lược Double Reversal Tracking sử dụng hai cách đánh giá mô hình để tạo ra tín hiệu giao dịch, bao gồm mô hình đảo ngược mua cao (HHS) và mô hình đảo ngược bán thấp (LLB).

  1. Mô hình HHS: gần[0] < gần[1] và cao[0] > cao[1]
  2. Mô hình LLB: gần [0] > gần [1] và thấp [0] < thấp [1]

Khi các điều kiện trên được đáp ứng, chỉ số thanh và giá của HHS và LLB sẽ được ghi lại tương ứng. Sau đó, chiến lược sẽ theo dõi trong thời gian thực xem giá có vượt qua mức giá đảo ngược được ghi lại hay không. Khi giá vượt qua mức giá cao đảo ngược của HHS, nó cho thấy mô hình giá đã đảo ngược sang xu hướng giảm và chiến lược sẽ mở một vị trí ngắn. Ngược lại, khi giá vượt qua mức giá thấp đảo ngược của LLB, nó cho thấy mô hình giá đã đảo ngược sang xu hướng tăng và chiến lược sẽ mở một vị trí dài. Bằng cách này, chiến lược Theo dõi đảo ngược đôi có thể nắm bắt các cơ hội đảo ngược giá một cách năng động.

Khi chiến lược đang chạy, nó cũng sẽ hiển thị trực quan các mẫu HHS, LLB và tình huống đột phá thông qua các dấu hiệu và màu nền. Điều này rất hữu ích để đánh giá trực quan điều kiện thị trường và xác minh chiến lược. Tóm lại, chiến lược Theo dõi đảo ngược hai lần thực hiện giao dịch bằng cách theo dõi các điểm đảo ngược giá một cách năng động, có thể nắm bắt hiệu quả các cơ hội đảo ngược giá.

Phân tích lợi thế

Chiến lược theo dõi đảo ngược hai lần có những lợi thế sau:

  1. Theo dõi thời gian thực của sự đảo ngược giá cho phép nắm bắt nhanh các cơ hội đảo ngược thị trường. So với các chiến lược theo dõi trung bình động và các chỉ số kỹ thuật khác, chiến lược này có phản ứng nhanh hơn.

  2. Nó tạo ra các tín hiệu giao dịch trực tiếp từ các tính năng đảo ngược giá, mà không cần quá nhiều thông số để tối ưu hóa.

  3. Các dấu hiệu của các mô hình và đột phá làm cho việc hình dung chiến lược hoạt động có thể, làm cho việc xác minh hiệu suất chiến lược rất dễ dàng.

  4. Cơ sở mã của chiến lược nhỏ và dễ hiểu và tùy chỉnh. Nó có thể phục vụ như một chiến lược giao dịch định lượng giới thiệu để học.

Tóm lại, mặc dù đơn giản, chiến lược Double Reversal Tracking có thể nắm bắt hiệu quả sự đảo ngược giá và đáng được sử dụng như một chiến lược đảo ngược theo dõi nhanh.

Phân tích rủi ro

Chiến lược theo dõi đảo ngược hai lần cũng có một số rủi ro, chủ yếu là:

  1. Phán quyết đảo ngược giá dựa trên thông tin một điểm, có khả năng đánh giá sai cao hơn.

  2. Nó không xem xét xu hướng chính và vẫn có thể tạo ra các tín hiệu ngắn không chính xác trong các xu hướng tăng lớn.

  3. Không có cơ chế dừng lỗ để kiểm soát lỗ giao dịch duy nhất. Các chiến lược dừng lỗ hợp lý cần phải được thiết lập cho giao dịch trực tiếp để kiểm soát lỗ đến mức chấp nhận được.

  4. Dữ liệu backtest có thể có thiên vị tối ưu hóa và hiệu suất trực tiếp có thể kém hơn các backtest.

Nói chung, như một chiến lược đảo ngược theo dõi nhanh, chiến lược này có thực hiện đơn giản nhưng cũng có một số khả năng đánh giá sai. Bằng cách giới thiệu lọc xu hướng, dừng lỗ và các mô-đun khác, rủi ro có thể được giảm hiệu quả để làm cho nó trở thành một chiến lược giao dịch trực tiếp ổn định và đáng tin cậy.

Các lĩnh vực cải tiến

Để giảm khả năng đánh giá sai và cải thiện sự ổn định, chiến lược có thể được tăng cường từ các khía cạnh sau:

  1. Thêm xác nhận đột phá hiệu quả, chẳng hạn như yêu cầu giá phá vỡ điểm đảo ngược bằng một số phần trăm trước khi mở các vị trí.

  2. Thêm mô-đun đánh giá xu hướng chính để tránh các tín hiệu ngắn không chính xác trong các xu hướng tăng lớn.

  3. Thực hiện các chiến lược dừng lỗ như dừng lỗ sau và dừng lỗ khu vực để kiểm soát lỗ giao dịch duy nhất trong giới hạn nhất định.

  4. Tối ưu hóa các thuật toán kích thước vị trí để điều chỉnh kích thước vị trí dựa trên biến động thị trường, giảm kích thước vị trí duy nhất trong môi trường biến động cao.

  5. Kiểm tra khung thời gian dài hơn của dữ liệu trực tiếp để đánh giá sự ổn định của tham số và tiến hành lặp nhiều vòng tối ưu hóa.

Với các điều chỉnh thông qua các khía cạnh trên, có thể đạt được những cải tiến đáng kể về hiệu suất và sự ổn định của chiến lược này.

Kết luận

Chiến lược Double Reversal Tracking nắm bắt các cơ hội đảo ngược bằng cách theo dõi thời gian thực các điểm đảo ngược giá. Nó có logic đơn giản, thực thi trực tiếp và có thể nhanh chóng mở các vị trí dọc theo xu hướng đảo ngược. Nhưng nó cũng có một số khả năng đánh giá sai. Bằng cách giới thiệu lọc xu hướng, chiến lược dừng lỗ và tối ưu hóa tham số, rủi ro đánh giá sai có thể được giảm hiệu quả để làm cho nó trở thành một chiến lược ổn định và hiệu quả cho giao dịch trực tiếp. Nó đặc biệt phù hợp như một chiến lược đảo ngược theo dõi nhanh.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Rev. FO", shorttitle="Rev. FO", overlay=true, pyramiding=0,calc_on_order_fills=true,calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity,default_qty_value=50,initial_capital=1000,currency="USD",commission_type=strategy.commission.percent,commission_value=0.2,process_orders_on_close=false)

HHS = close[0] < close[1] and high[0] > high[1]
LLB = close[0] > close[1] and low[0] < low[1]

var trade_long = false
var text_status = "Awaiting Trade..."
var index_hhs = 0
var index_llb = 0
var price_hhs = 0.0
var price_llb = 0.0

if (HHS)
    trade_long := false
    text_status := "Trade in Short"
    index_hhs := bar_index
    price_hhs := high
if (LLB)
    trade_long := true
    text_status := "Trade in Long"
    index_llb := bar_index
    price_llb := low

plotshape(HHS, style=shape.labeldown, title="HHS", location=location.abovebar, color=color.red, text="HHS", textcolor=color.white,size=size.tiny)
plotshape(LLB, style=shape.labelup, title="LLB", location=location.belowbar, color=color.white, text="LLB", textcolor=color.white,size=size.tiny)

// HHS_top = line.new(index_hhs-1,price_hhs,bar_index,price_hhs,extend=extend.right,style=line.style_solid,width=1,color=color.red)
// LLB_bot = line.new(index_llb-1,price_llb,bar_index,price_llb,extend=extend.right,style=line.style_solid,width=1,color=color.white)
// line.delete(HHS_top[1])
// line.delete(LLB_bot[1])

//Calculates how far the signal is painted to right. 
hours = 5
lapos_x = timenow+1000*60*60*hours
lapos_y = highest(20)

// lb = label.new(lapos_x, lapos_y, text=text_status,color=trade_long?color.white:color.red,xloc = xloc.bar_time,style=label.style_diamond,textcolor=trade_long?color.white:color.red,size=size.small)
// label.delete(lb[1])

breakout_hhs = crossover(high,price_hhs)
breakout_llb = crossunder(low,price_llb)

bgcolor(breakout_hhs?color.lime:na,transp=50,title="BO HHS")
bgcolor(breakout_llb?color.maroon:na,transp=50,title="BO LLB")

long_condition = breakout_hhs
long_close = close < price_hhs or breakout_llb
short_condition = breakout_llb
short_close = close > price_llb or breakout_hhs

strategy.entry(id="long",long=true,comment="L",when=long_condition)
strategy.close(id="long",when=long_close)
strategy.entry(id="short",long=false,comment="S",when=short_condition)
strategy.close(id="short",when=short_close)



Thêm nữa