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.
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 = "平多")