Strategi perdagangan Ethereum berdasarkan supertrend


Tanggal Pembuatan: 2024-01-08 14:35:37 Akhirnya memodifikasi: 2024-01-08 14:35:37
menyalin: 0 Jumlah klik: 726
1
fokus pada
1617
Pengikut

Strategi perdagangan Ethereum berdasarkan supertrend

Ringkasan

Strategi ini didasarkan pada indikator supertrend, yang digabungkan dengan ATR untuk secara dinamis menetapkan garis stop loss, sehingga menghasilkan keuntungan dalam tren kuat Ethereum. Strategi ini dapat dijalankan pada pasangan perdagangan ETH/USD di bursa Coinbase.

Prinsip Strategi

Strategi ini menggunakan indikator trend-following klasik dan indikator supertrend untuk menilai arah trend. Indikator supertrend terdiri dari dua kurva, yaitu:

  1. Garis stop-loss naik, memegang lebih banyak opsi di tengah-tengah kenaikan;
  2. Garis stop loss tren turun, memegang tiket di tren turun.

Ketika harga berubah dari tren naik ke tren turun, buka posisi kosong; Ketika harga berubah dari tren turun ke tren naik, buka posisi multihead.

Selain itu, strategi ini juga menggunakan indikator ATR untuk secara dinamis menyesuaikan posisi stop loss. Secara khusus, posisi stop loss naik adalah rata-rata harga tertinggi dan harga terendah dikurangi ATR dikali satu faktor; posisi stop loss turun adalah rata-rata harga tertinggi dan harga terendah ditambah ATR dikali satu faktor.

Setelah masuk ke sinyal, jika harga kembali melewati batas stop loss, maka stop loss exit akan dilakukan.

Keunggulan Strategis

Ini adalah strategi pelacakan tren yang lebih matang, dengan keuntungan sebagai berikut:

  1. Menggunakan indikator supertrend untuk menentukan arah tren, dengan keandalan yang lebih tinggi;
  2. Menggunakan ATR untuk menyesuaikan stop loss line secara otomatis, dapat mengontrol risiko secara efektif;
  3. Logika strategi sederhana dan jelas, mudah dipahami dan dimodifikasi;
  4. Ini adalah salah satu cara untuk mendapatkan keuntungan dari pasar mata uang digital yang sangat berfluktuasi.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko:

  1. Ada kemungkinan kesalahan dalam penilaian indikator supertrend yang dapat menyebabkan kerugian yang tidak perlu;
  2. Stop loss ATR mungkin terlalu radikal dan akan dibalikkan oleh harga;
  3. Pasar mata uang digital berfluktuasi besar, kemungkinan besar stop loss akan ditembus;
  4. Bursa dengan biaya transaksi yang lebih tinggi akan mempengaruhi keuntungan akhir.

Untuk mengurangi risiko di atas, ATR dapat disesuaikan sesuai, atau digabungkan dengan indikator lain untuk memfilter sinyal perdagangan.

Arah optimasi strategi

Strategi ini masih bisa dioptimalkan lebih jauh:

  1. Ini adalah salah satu cara untuk mempercepat proses pengumpulan data.
  2. Nilai-nilai optimal dari faktor ATR dan parameter panjang yang dapat dipelajari;
  3. Anda dapat mengatur Stop Loss Ratio untuk mengubah ukuran posisi secara dinamis.
  4. Strategi ini dapat diuji pada lebih banyak pasangan mata uang digital.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang terbukti dan andal. Strategi ini menggunakan indikator supertrend untuk menentukan arah tren dan menggunakan ATR untuk menyesuaikan posisi stop loss untuk mengendalikan risiko sekaligus mendapatkan keuntungan. Strategi ini cocok untuk perdagangan mata uang digital yang berfluktuasi tinggi dan bekerja dengan baik pada mata uang utama seperti Ethereum. Dengan pengoptimalan lebih lanjut, strategi ini dapat diterapkan di pasar yang lebih luas dan mendapatkan keuntungan ekstra yang lebih stabil.

Kode Sumber Strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4 
strategy("SuperTrend Strategy", 
     overlay=true, 
     initial_capital=2e3, 
     process_orders_on_close=true, 
     commission_type=strategy.commission.percent, 
     commission_value=0.1 
     ) 
  
length = input(title="ATR Period", type=input.integer, defval=21) 
mult = input(title="ATR Multiplier", type=input.float, step=.25, defval=6.2) 
wicks = input(title="Take Wicks into Account ?", type=input.bool, defval=false) 
  
useDate = input(title="Start from Specific Date ?", defval=false) 
yearStart = input(title="Start Year", defval=2019) 
monthStart = input(title="Start Month", minval=1, maxval=12, defval=1) 
dayStart = input(title="Start Day", minval=1, maxval=31, defval=1) 
  
startTime = timestamp(yearStart, monthStart, dayStart, 0, 0) 
startFrom = useDate ? time(timeframe.period) >= startTime : true 
  
atr = mult * ta.atr(length) 
  
longStop = hl2 - atr 
longStopPrev = nz(longStop[1], longStop) 
longStop := (wicks ? low[1] : close[1]) > longStopPrev ? math.max(longStop, longStopPrev) : longStop 
  
shortStop = hl2 + atr 
shortStopPrev = nz(shortStop[1], shortStop) 
shortStop := (wicks ? high[1] : close[1]) < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop 
  
dir = 1 
dir := nz(dir[1], dir) 
dir := dir == -1 and (wicks ? high : close) > shortStopPrev ? 1 : dir == 1 and (wicks ? low : close) < longStopPrev ? -1 : dir 
  
longColor = color.green 
shortColor = color.red 
  
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor) 
plotshape(dir == 1 and dir[1] == -1 ? longStop : na, title="Long Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0) 
  
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor) 
plotshape(dir == -1 and dir[1] == 1 ? shortStop : na, title="Short Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0) 
  
longCondition = dir[1] == -1 and dir == 1 
if longCondition and startFrom 
    strategy.entry("Long", strategy.long, stop=longStop) 
else 
    strategy.cancel("Long") 
  
shortCondition = dir[1] == 1 and dir == -1 
if shortCondition and startFrom 
    strategy.entry("Short", strategy.short, stop=shortStop) 
else 
    strategy.cancel("Short")