Chiến lược phá vỡ phạm vi ARGO

Tác giả:ChaoZhang, Ngày: 2023-10-07 16:04:16
Tags:

Tổng quan

Chiến lược đột phá phạm vi ARGO là một hệ thống giao dịch phạm vi 4 giờ lấy cảm hứng từ các nguyên tắc đột phá kênh. Nó tạo ra các tín hiệu giao dịch trong một khung thời gian 4 giờ để nắm bắt các biến động giá đáng kể.

Chiến lược logic

Chiến lược này đầu tiên tính toán mức cao nhất (upBound) và thấp nhất (downBound) trong một khoảng thời gian xác định để tạo ra phạm vi kênh. Sau đó nó tính toán đường giữa, dải trên và dải dưới của Kênh Bollinger.

Cụ thể, chiến lược tính toán upBound và downBound trong N khoảng thời gian (mục tiêu 47). Sau đó nó thiết lập một điểm tỷ lệ (mục tiêu 1) và độ khoan dung tol (mục tiêu 1000), để tính toán giới hạn trênBoundUp và giới hạn dướiBoundDown của kênh. Một tín hiệu mua được kích hoạt khi giá vượt qua giới hạn dưới. Một tín hiệu bán được kích hoạt khi giá vượt qua giới hạn trên.

Ngoài ra, các điều kiện dừng lỗ và lấy lợi nhuận được cấu hình. Stop loss cho các giao dịch dài được đặt gần giới hạn dưới, trong khi cho các giao dịch ngắn là gần giới hạn trên. Lợi nhuận lấy được dựa trên tỷ lệ lợi nhuận/mất mục tiêu đầu vào.

Phân tích lợi thế

  • Sử dụng các nguyên tắc kênh Bollinger để thích nghi với biến động thị trường
  • Khung thời gian 4 giờ nhằm mục đích nắm bắt các biến động giá đáng kể
  • Kết hợp chiến lược phá vỡ giúp phát hiện sự đảo ngược xu hướng
  • Đánh giá rủi ro/lợi nhuận cho mỗi giao dịch

Rủi ro và giải pháp

  • Thể bị tổn thương bởi những vụ trốn thoát giả và bị mắc kẹt.
  • Các khung thời gian lớn có thể dẫn đến tổn thất mở rộng
  • Chặn không đúng cách có thể gây ra tổn thất không thể chấp nhận được
  • Giải pháp:
    • Tối ưu hóa các tham số kênh chống lại các sự đột phá sai
    • Xác định cẩn thận kích thước vị trí và mức dừng lỗ
    • Cải thiện stop loss/take profit để kiểm soát rủi ro nghiêm ngặt

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

  • Tối ưu hóa các thông số kênh để phù hợp hơn với biến động thị trường
  • Điều chỉnh động stop loss/take profit để có rủi ro/lợi nhuận tốt hơn
  • Thêm các bộ lọc thương mại để tránh bẫy và theo đuổi cao
  • Bao gồm các yếu tố bổ sung để tránh tín hiệu sai
  • Kết hợp các chỉ số xu hướng và biến động để đưa ra quyết định tốt hơn
  • Tối ưu hóa quản lý vốn cho các điều kiện thị trường khác nhau

Kết luận

Chiến lược đột phá phạm vi ARGO là một hệ thống giao dịch trung hạn 4 giờ dựa trên kênh Bollinger và các nguyên tắc đột phá. So với giao dịch ngắn hạn, nó tập trung nhiều hơn vào việc nắm bắt sự đảo ngược xu hướng trong khung thời gian trung hạn. Với tối ưu hóa thích hợp, nó có thể thích nghi với các môi trường thị trường khác nhau và đạt được lợi nhuận đáng kể trong khi kiểm soát rủi ro. Chiến lược cân bằng theo xu hướng và quản lý rủi ro. Đây là một hệ thống giao dịch đột phá trung hạn được khuyến cáo.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-06 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

// strategy("ARGO_BAND-STRATEGY", overlay=true,default_qty_value=10000,scale=true,initial_capital=100,currency=currency.USD)

// A 4hours Breakout Strategy work in progres..it's  a starting point, thanks to all tradingview community
//How to use: test it only on gbpjpy 240 min, wait the end of the candle to place next order, red and blue dots are short and long stop orders, Targets are Upper and lowerBands. Test it and enjoy but use at your own risk..
//2016 © F.Peluso


risk=input(title="Risk", defval=1)
length = input(title="Length",  minval=1, maxval=1000, defval=47)
stopBound=input(title="Previous",defval=10)
upBound = highest(high, length)
downBound = lowest(low, length)
point=1
tol=1000
stopT=input(title="Stop", defval=5,minval=1, maxval=5)
dev =input(title="Tolerance",defval=2,minval=1, maxval=5)
limitBoundUp=( highest(high, length))*(point-(dev/tol))
limitBoundDown=downBound/(point-(dev/tol))
plot(limitBoundUp[1],linewidth = 3,style = circles, color = navy,trackprice=true),transp=0
plot(limitBoundDown[1],linewidth = 3,style = circles, color = red,trackprice=true,transp=0)
mezzalinea=((upBound+downBound)/2)

// Color Bands

colo = ((close>limitBoundUp[1]) ? blue : (close<upBound[1]) ? white : na)
UpB = plot(upBound[1], title="Upper Bound", style=linebr, linewidth=1, color=colo)
DownB = plot(limitBoundUp[1] ,title="Lower Bound", style=linebr, linewidth=2, color=colo)
fill(UpB, DownB, color=colo, transp=90)

plot(limitBoundUp[2]/(point+(stopT/tol)),color=colo)

coloS = ((close<limitBoundDown[1]) ? red : (close>downBound[1]) ? white : na)
DB = plot(downBound[1], title="Upper Bound", style=linebr, linewidth=1, color=coloS)
DoB = plot(limitBoundDown[1] ,title="Lower Bound", style=linebr, linewidth=2, color=coloS)
fill(DB, DoB, color=coloS, transp=90)

plot(limitBoundDown[2]*(point+(stopT/tol)),color=coloS)

// Strategy

past=input(title="Past", defval=5)
buy=(crossover(close,limitBoundUp))
closebuy=cross(high[past],upBound[0])
stopbuy = limitBoundUp[2]/(point+(stopT/tol))

sell=crossunder(close,limitBoundDown)
closesell=cross(low[past],downBound[0])


if (not na(close[length]))
    if (buy)
        strategy.entry("ChBrkLE", strategy.long,stop=limitBoundUp - syminfo.mintick,comment="Long I")   

strategy.close("ChBrkLE",when=closebuy)

if (not na(close[length]))
    if (sell)
        strategy.entry("ChBrkSE", strategy.short,stop=limitBoundDown + syminfo.mintick,comment="Short I")   

strategy.close("ChBrkSE",when=closesell)

Target =input(0) * 10 
Stop = input(90) * 10 
Trailing = input(40) * 10
CQ = 100
TPP = (Target > 0) ? Target : na
SLP = (Stop > 0) ? Stop : na
TSP = (Trailing > 0) ? Trailing : na
strategy.exit("Out Short", "ChBrkSE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Out Long", "ChBrkLE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa