Strategi Penembusan Jangkauan ARGO

Penulis:ChaoZhang, Tanggal: 2023-10-07 16:04:16
Tag:

Gambaran umum

ARGO Range Breakout Strategy adalah sistem perdagangan kisaran 4 jam yang terinspirasi oleh prinsip-prinsip channel breakout.

Logika Strategi

Strategi ini pertama-tama menghitung tertinggi tertinggi (upBound) dan terendah terendah (downBound) selama periode yang ditentukan untuk membentuk rentang saluran.

Secara khusus, strategi menghitung upBound dan downBound selama N periode (default 47). Kemudian menetapkan titik rasio (default 1) dan toleransi tol (default 1000), untuk menghitung batas atas BoundUp dan batas bawah BoundDown saluran. Sinyal beli dipicu ketika harga melanggar batas bawah. Sinyal jual dipicu ketika harga melanggar batas atas.

Selain itu, kondisi stop loss dan take profit dikonfigurasi. Stop loss untuk perdagangan panjang ditetapkan di dekat batas bawah, sedangkan untuk perdagangan pendek berada di dekat batas atas. Take profit didasarkan pada rasio target keuntungan / kerugian input.

Analisis Keuntungan

  • Menggunakan prinsip Bollinger Channel untuk beradaptasi dengan volatilitas pasar
  • Kerangka waktu 4 jam bertujuan untuk menangkap perubahan harga yang signifikan
  • Menggabungkan strategi breakout membantu mendeteksi pembalikan tren
  • Stop loss dan take profit mengontrol risiko/imbalan per perdagangan

Risiko dan Solusi

  • rentan terhadap pelarian palsu dan terperangkap
  • Jangka waktu yang panjang dapat menyebabkan kerugian yang lebih luas
  • Hentian yang tidak tepat dapat menyebabkan kerugian yang tidak dapat diterima
  • Solusi:
    • Mengoptimalkan parameter saluran terhadap false breakout
    • Tentukan dengan hati-hati ukuran posisi dan tingkat stop loss
    • Meningkatkan stop loss/take profit untuk kontrol risiko yang ketat

Arahan Optimasi

  • Mengoptimalkan parameter saluran untuk lebih sesuai dengan volatilitas pasar
  • Mengatur secara dinamis stop loss/take profit untuk risiko/imbalan yang lebih baik
  • Tambahkan filter perdagangan untuk menghindari perangkap dan mengejar tinggi
  • Sertakan faktor tambahan untuk menghindari sinyal palsu
  • Menggabungkan indikator tren dan volatilitas untuk keputusan yang lebih baik
  • Mengoptimalkan manajemen modal untuk kondisi pasar yang berbeda

Kesimpulan

Strategi ARGO Range Breakout adalah sistem perdagangan jangka menengah 4 jam berdasarkan Bollinger Channel dan prinsip breakout. Dibandingkan dengan perdagangan jangka pendek, strategi ini lebih berfokus pada menangkap pembalikan tren pada jangka waktu menengah. Dengan optimasi yang tepat, strategi ini dapat beradaptasi dengan lingkungan pasar yang berbeda dan mencapai keuntungan yang signifikan sambil mengendalikan risiko. Strategi ini menyeimbangkan mengikuti tren dan manajemen risiko.


/*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)

Lebih banyak