Durasi Rata-rata Pergerakan Strategi Crossover Renko


Tanggal Pembuatan: 2024-01-24 10:55:57 Akhirnya memodifikasi: 2024-01-24 10:55:57
menyalin: 0 Jumlah klik: 717
1
fokus pada
1617
Pengikut

Durasi Rata-rata Pergerakan Strategi Crossover Renko

Ringkasan

Strategi ini adalah strategi crossover rata-rata bergerak yang didasarkan pada grafik Renko. Strategi ini menggunakan indikator TEMA untuk membangun sinyal crossover dan memfilternya dengan garis rata-rata jangka panjang untuk mengidentifikasi tren pada grafik Renko dan mengirimkan sinyal beli dan jual.

Prinsip Strategi

Sumber sinyal utama dari strategi ini adalah indikator TEMA jangka pendek dan indikator SMA. Logika spesifiknya adalah:

Ketika short term TEMA melewati short term SMA, melakukan over; ketika short term TEMA melewati short term SMA, melakukan close out.

Selain itu, kebijakan ini juga menetapkan dua parameter pilihan, yaitu avg_protection dan gain_protection, untuk mengatur masuk dan stop loss logik:

  • avg_protection>0, hanya akan membeli jika harga tutup lebih rendah dari harga rata-rata yang dipegang saat ini, sehingga mengurangi biaya kepemilikan;

  • Pada gain_protection>0, stop loss hanya akan dijual jika harga tutup melebihi persentase tertentu dari harga masuk, sehingga mengunci keuntungan.

Akhirnya, strategi ini juga menggunakan indikator SMMA jangka panjang sebagai filter tren.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan utama:

  1. Dengan menggunakan peta Renko, Anda dapat memfilter kebisingan secara efektif dan mengidentifikasi tren.
  2. Dengan menggunakan indikator TEMA untuk membangun sinyal, sensitivitas yang tinggi, dan kemampuan untuk mengikuti;
  3. Ada banyak parameter yang dapat disesuaikan untuk mengontrol strategi penarikan.
  4. Dengan menggunakan garis rata-rata jangka panjang dan jangka pendek, Anda dapat menangkap peluang dalam tren.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Renko sendiri tidak memiliki waktu yang seragam dan tidak dapat mengontrol interval waktu.
  2. Sensitivitas TEMA yang tinggi juga lebih mudah untuk menghasilkan sinyal yang salah.
  3. Setting parameter yang tidak tepat dapat menyebabkan kebocoran.

Untuk menghindari risiko ini, Anda dapat menyesuaikan parameter yang sesuai, mengatur posisi stop loss, dan sebagainya.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Periksa kombinasi parameter yang berbeda untuk menemukan yang optimal.
  2. Meningkatkan strategi stop loss, seperti stop loss bergerak, stop loss interval, dan lain-lain, untuk mengurangi DD;
  3. Filter sinyal dalam kombinasi dengan indikator lain untuk mengurangi sinyal palsu;
  4. Uji efek parameter dari berbagai varietas.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi crossover moving average yang sederhana namun sangat praktis. Ini terutama bergantung pada efek penghapusan suara yang sangat baik dari Renko K line dan sensitivitas tinggi dari indikator TEMA untuk menghasilkan sinyal.

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

//@version=2
strategy("TEMA Cross", overlay = true)

tema(src, len) =>
    3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)

smma(src, len) =>
    sa = 0.0
    sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
    sa

temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)


plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")
minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1

avg_protection = input(1)
gain_protection = input(1)

longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)

strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))