Bugra Trading Strategy Berdasarkan Dual Kinetic Moving Average

Penulis:ChaoZhang, Tanggal: 2024-02-19 14:36:37
Tag:

img

Gambaran umum

Strategi perdagangan Bugra adalah strategi yang menggabungkan indikator OTT yang dikembangkan oleh guru tercinta saya Anıl Özekşi dan indikator Wavetrend Oscillator oleh lonestar108. Ini membentuk indikator perdagangan yang sukses dengan mengintegrasikan kedua indikator. Strategi dapat melakukan perdagangan panjang dan pendek di pasar dua arah.

Prinsip Strategi

Strategi perdagangan Bugra pertama kali menghitung garis tengah Bollinger Bands, yang merupakan garis rata-rata bergerak MAvg. Kemudian, berdasarkan rentang persentase dan periode yang ditetapkan oleh pengguna, ia menghitung stop loss longStop dan stop loss shortStop. Ketika harga menembus rel atas, pergi panjang. Ketika harga menembus rel bawah, pergi pendek. Sinyal penutupan adalah ketika harga kembali ke sekitar rata-rata bergerak.

Secara khusus, indikator inti dari strategi ini adalah indikator OTT. Indikator OTT terdiri dari rata-rata bergerak dan garis batas. Ini menyesuaikan posisi garis batas sesuai dengan volatilitas pasar berdasarkan algoritma tertentu. Ketika harga menembus garis batas bawah OTT, pergi pendek. Ketika menembus garis batas atas OTT, pergi panjang.

Strategi ini juga menggunakan indikator Wavetrend untuk menentukan arah tren harga. Jika dinilai sebagai tren penurunan, hanya pergi pendek, tidak panjang. Jika dinilai sebagai tren kenaikan, hanya pergi panjang, tidak pendek.

Analisis Keuntungan

Strategi perdagangan Bugra menggabungkan keuntungan dari moving average, Bollinger Bands dan indikator OTT. Ini dapat secara otomatis menyesuaikan posisi stop loss dan mengurangi kemungkinan stop loss dipicu. Pada saat yang sama, dengan menggabungkan indikator penilaian tren, ia menghindari terjebak dalam tren osilasi.

Secara khusus, keuntungan utama dari strategi ini adalah:

  1. Ini dapat secara otomatis menyesuaikan posisi stop loss untuk mengontrol risiko secara efektif.
  2. Indikator OTT dapat menentukan titik pembalikan dengan relatif akurat.
  3. Dengan memasukkan indikator penilaian tren, ia menghindari terjebak dalam pasar berosilasi.
  4. Peraturan-peraturannya relatif sederhana dan jelas, mudah dimengerti dan diterapkan.

Analisis Risiko

Strategi perdagangan Bugra juga memiliki beberapa risiko, terutama dalam aspek berikut:

  1. Dalam kondisi pasar yang keras, stop loss dapat rusak, menyebabkan kerugian yang lebih besar.
  2. Sinyal pembalikan yang dinilai oleh indikator OTT mungkin tidak akurat, dan sinyal yang rusak mungkin terjadi.
  3. Penghakiman tren juga bisa salah. Berjalan panjang dalam osilasi ke bawah akan menyebabkan kerugian.
  4. Pengaturan parameter yang salah juga akan mempengaruhi kinerja strategi.

Tindakan penanggulangan terutama:

  1. Luangkan rentang stop loss dengan tepat untuk memastikan bahwa garis stop loss tidak mudah diaktifkan.
  2. Gabungkan dengan indikator lain untuk menilai keandalan sinyal OTT untuk menghindari sinyal palsu.
  3. Sesuaikan parameter untuk membuat penilaian tren lebih dapat diandalkan.
  4. Optimalkan parameter untuk menemukan kombinasi parameter terbaik.

Arahan Optimasi

Masih ada ruang untuk optimasi lebih lanjut dari strategi perdagangan rata-rata bergerak kinetik ganda:

  1. Pertimbangkan untuk menggabungkan dengan indikator lain untuk meningkatkan akurasi penilaian sinyal.
  2. Pelajari algoritma stop loss adaptif sehingga garis stop loss dapat disesuaikan sesuai dengan volatilitas pasar.
  3. Tambahkan indikator volume perdagangan untuk menghindari breakout palsu dengan volume rendah.
  4. Uji berbagai jenis rata-rata bergerak untuk menemukan rata-rata bergerak yang paling cocok.
  5. Cobalah pembelajaran mesin dan metode lain untuk mengoptimalkan parameter secara otomatis.

Ringkasan

Strategi perdagangan moving average dual mengintegrasikan keuntungan dari beberapa indikator. Ini dapat secara otomatis menyesuaikan posisi stop loss, menilai sinyal pembalikan, dan mengidentifikasi arah tren. Ini memiliki keuntungan seperti kemampuan pengendalian risiko yang kuat dan mudah dipahami dan digunakan. Tetapi juga memiliki risiko seperti terjebak dan sinyal yang tidak akurat. Strategi ini dapat lebih dioptimalkan dengan menggabungkan dengan indikator lain, mempelajari algoritma adaptif, dll. Secara umum, strategi perdagangan moving average dual adalah strategi perdagangan breakout yang praktis.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bugra trade strategy", shorttitle="Bugra trade strategy", overlay=true)

// Kullanıcı Girdileri
length = input(5, title="Period", minval=1)
percent = input(1, title="Sihirli Yüzde", type=input.float, step=0.1, minval=0)
mav = input(title="Hareketli Ortalama Türü", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
wt_n1 = input(10, title="Kanal Periyodu")
wt_n2 = input(21, title="Averaj Uzunluğu")
src = close

// Tarih Aralığı Girdileri
startDate = input(20200101, title="Başlangıç Tarihi (YYYYMMDD)")
endDate = input(20201231, title="Bitiş Tarihi (YYYYMMDD)")

// Tarih Filtresi Fonksiyonu
isDateInRange() => true
// Özel Fonksiyonlar
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = sum(vud1, length)
    vDD = sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    varResult = 0.0
    varResult := nz(valpha * abs(vCMO) * src + (1 - valpha * abs(vCMO)) * nz(varResult[1]))
    varResult

Wwma_Func(src, length) =>
    wwalpha = 1 / length
    wwma = 0.0
    wwma := wwalpha * src + (1 - wwalpha) * nz(wwma[1])
    wwma

Zlema_Func(src, length) =>
    zxLag = floor(length / 2)
    zxEMAData = src + (src - src[zxLag])
    zlema = ema(zxEMAData, length)
    zlema

Tsf_Func(src, length) =>
    lrc = linreg(src, length, 0)
    lrs = lrc - linreg(src, length, 1)
    tsf = lrc + lrs
    tsf

getMA(src, length) =>
    ma = mav == "SMA" ? sma(src, length) :
         mav == "EMA" ? ema(src, length) :
         mav == "WMA" ? wma(src, length) :
         mav == "TMA" ? sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) :
         mav == "VAR" ? Var_Func(src, length) :
         mav == "WWMA" ? Wwma_Func(src, length) :
         mav == "ZLEMA" ? Zlema_Func(src, length) :
         mav == "TSF" ? Tsf_Func(src, length) : na

// Strateji Hesaplamaları
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop

dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT = MAvg > MT ? MT*(200+percent)/200 : MT*(200-percent)/200

plot(OTT, title="BugRA", color=color.rgb(251, 126, 9))

// Alım ve Satım Koşulları
longCondition = crossover(src, OTT) and isDateInRange()
shortCondition = crossunder(src, OTT) and isDateInRange()

// Strateji Giriş ve Çıkış Emirleri
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")


Lebih banyak