Wavetrend Chiến lược giao dịch Rebound Grid Large Amplitude bán quá

Tác giả:ChaoZhang, Ngày: 2024-04-25 17:13:39
Tags:DCAEMASMA

img

Tổng quan

Chiến lược này dựa trên chỉ số Wavetrend và thiết lập các vị trí dài khi giá đạt đến nhiều mức bán quá mức và mua quá mức. Nó đóng các vị trí để kiếm lợi nhuận khi giá phục hồi đến mức mua quá mức. Đây là một chiến lược giao dịch lưới được thiết kế để nắm bắt các cơ hội phục hồi bán quá mức trên thị trường, phù hợp với các chu kỳ 15 phút của tiền điện tử như Bitcoin và Solana.

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

  1. Tính toán hai dòng của chỉ số Wavetrend, một là giá trị ban đầu (wt1) và một là giá trị làm mịn (wt2).
  2. Đặt nhiều mức bán quá mức (oslevel1~8) và mức mua quá mức (Oblevel1~5).
  3. Khi cả wt1 và wt2 đều dưới một mức bán quá mức nhất định và wt1 trên wt2, mở một vị trí dài.
  4. Khi cả wt1 và wt2 đều trên mức mua quá mức 1 và wt1 dưới wt2, đóng 70% vị trí dài.
  5. Lặp lại các bước 3 và 4 để xây dựng một hệ thống giao dịch lưới.

Ưu điểm chiến lược

  1. Lấy cơ hội phục hồi bán quá mức: Bằng cách đặt nhiều mức bán quá mức, nó mở các vị trí sau khi giảm giá đáng kể để kiếm lợi nhuận từ sự phục hồi.
  2. Xây dựng vị trí lô để kiểm soát rủi ro: Nó xây dựng các vị trí theo lô theo mức bán quá mức, với các vị trí nặng hơn ở mức thấp hơn, cho phép kiểm soát rủi ro tốt hơn.
  3. Lợi nhuận tự động: Nó tự động đóng hầu hết các vị trí khi giá phục hồi vào vùng mua quá mức, khóa lợi nhuận.
  4. Các thông số linh hoạt: Mức bán quá mức và mua quá mức có thể được điều chỉnh theo đặc điểm thị trường và sở thích cá nhân, thích nghi với các sản phẩm và chu kỳ giao dịch khác nhau.

Rủi ro chiến lược

  1. Nguy cơ sụp đổ: Nếu giá tiếp tục giảm, gây ra nhiều tín hiệu mở bán quá mức, nó có thể dẫn đến các vị trí nặng bị mắc kẹt.
  2. Rủi ro thị trường hỗn loạn: Nếu giá liên tục biến động trong khu vực bán quá mức, nó có thể dẫn đến nhiều vị trí mở mà không thể kiếm lợi nhuận, do đó làm suy yếu hiệu quả của chiến lược.
  3. Rủi ro tham số: Các thiết lập tham số khác nhau có tác động đáng kể đến hiệu suất chiến lược và cần được tối ưu hóa dựa trên kiểm tra và kinh nghiệm, nếu không, chúng có thể mang lại tổn thất.

Hướng dẫn tối ưu hóa chiến lược

  1. Thêm lọc xu hướng: Xác định xem xu hướng cấp độ lớn có tăng hay không trước khi mở một vị trí để tránh mở các vị trí trong xu hướng giảm.
  2. Tối ưu hóa quản lý vị trí: Điều chỉnh kích thước vị trí mở theo khoảng cách giữa giá và mức bán quá mức, với các vị trí lớn hơn cho khoảng cách lớn hơn.
  3. Lợi nhuận động: Điều chỉnh năng động mức lợi nhuận dựa trên tỷ lệ lợi nhuận và lỗ nắm giữ, thay vì đóng các vị trí theo tỷ lệ cố định.
  4. Thêm stop-loss: Thiết lập một stop-loss cố định hoặc theo dõi để kiểm soát mức lỗ tối đa của một giao dịch duy nhất.

Tóm lại

Chiến lược Wavetrend Large Amplitude Oversold Rebound Grid Trading là một chiến lược định lượng dựa trên tín hiệu bán quá mức và mua quá mức. Nó cố gắng nắm bắt các cơ hội phục hồi sau khi giảm mạnh thông qua xây dựng vị trí lô và lấy lợi nhuận tự động, nhằm kiếm lợi từ sự khác biệt giá. Ưu điểm của chiến lược này nằm trong khả năng thích nghi mạnh mẽ và điều chỉnh tham số linh hoạt. Tuy nhiên, nó cũng phải đối mặt với những rủi ro như suy giảm thị trường liên tục và cài đặt tham số không đúng. Trong các ứng dụng thực tế, các phương pháp lọc xu hướng, định vị năng động, lấy lợi nhuận và tối ưu hóa dừng lỗ có thể được xem xét để cải thiện sự ổn định và lợi nhuận của chiến lược. Tuy nhiên, vẫn cần lưu ý rằng chiến lược này là một chiến lược rủi ro cao đòi hỏi kiểm soát vị trí nghiêm ngặt và sử dụng thận trọng.


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

//@version=5
// © And Isaac, all rights reserved. If there is any piracy, please call the police immediately. 

strategy(title='wavetrend',shorttitle='DCA-High win rate quantitative trading')
n1 = input(40,'channel length')
n2 = input(60,'average length')
Oblevel1 = input(40,'over bought level 1')
Oblevel2 = input(50,'over bought level 1')
Oblevel3 = input(70,'over bought level 1')
Oblevel4 = input(80,'over bought level 1')
Oblevel5 = input(100,'over bought level 2')
oslevel1 = input(-40,'over sold level 1')
oslevel2 = input(-45,'over sold level 1')
oslevel3 = input(-50,'over sold level 1')
oslevel4 = input(-55,'over sold level 1')
oslevel5 = input(-65,'over sold level 1')
oslevel6 = input(-75,'over sold level 1')
oslevel7 = input(-85,'over sold level 1')
oslevel8 = input(-100,'over sold level 2')

ap = input(title="source",defval=hlc3)
esa =ta.ema(ap, n1)
d =ta.ema(math.abs(ap - esa),n1)
ci = (ap - esa)/ (0.015 * d)
tci = ta.ema(ci,n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

plot(0,color=color.new(#787b86, 0 ))
plot(Oblevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel3, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel4, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel5, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel6, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel7, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel8, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(wt1, color=color.new(#ff5252,0))
plot(wt2, color=color.new(#ffffff,0))
plot(wt1 - wt2, color=color.new(#00bcd4, 30),style=plot.style_area)

plot(ta.cross(wt1, wt2) ? wt2 : na, color=color.new(#ff5252,0) , style=plot.style_circles, linewidth=4 )

// barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.new(#ffffff,0) : color.new(#89ff52, 53)) : na)

/////////////
Long1 = wt2 < oslevel1 and wt1 < oslevel1 and wt1>wt2 and wt2 > oslevel3 and wt1>oslevel3
Long5 = wt2 < oslevel5 and wt1 < oslevel5 and wt1>wt2 and wt2 > oslevel6 and wt1>oslevel6

Long7 = wt2 < oslevel7 and wt1 < oslevel7 and wt1>wt2 and wt2 > oslevel8 and wt1>oslevel8
Long8 = wt2 < oslevel8 and wt1 < oslevel8 and wt1>wt2
LS1 = wt2 > Oblevel1 and wt1 > Oblevel1 and wt1<wt2



if Long1
    strategy.entry("L",strategy.long,comment = "做多1")


if Long5
    strategy.entry("L",strategy.long,comment = "做5")

if Long7
    strategy.entry("L",strategy.long,comment = "做多7")
if Long8
    strategy.entry("L",strategy.long,comment = "做多8")
if LS1
    strategy.close("L", qty_percent = 70,comment = "平多")




Có liên quan

Thêm nữa