Strategi Terobosan Osilasi Berdasarkan Rata-rata Bergerak

Penulis:ChaoZhang, Tanggal: 2024-01-23
Tag:

img

Gambaran umum

Strategi ini disebut Oscillation Breakthrough Strategy Based on Moving Average. Ini menghitung garis rata-rata bergerak dari siklus harga yang berbeda untuk menentukan apakah harga menembus rata-rata bergerak utama untuk perdagangan panjang dan pendek. Ketika rata-rata bergerak jangka pendek menembus rata-rata bergerak jangka panjang, pergi panjang. Ketika rata-rata bergerak jangka pendek jatuh melalui rata-rata bergerak jangka panjang, pergi pendek.

Prinsip Strategi

Rata-rata bergerak adalah alat analisis yang umum digunakan dalam analisis teknis. Rata-rata bergerak meluruskan data harga dengan menyaring fluktuasi harga jangka pendek dan mencerminkan arah tren utama harga. Rata-rata bergerak cepat mencerminkan tren harga jangka pendek, sedangkan rata-rata bergerak lambat mencerminkan tren harga jangka panjang. Ketika rata-rata bergerak cepat melintasi di atas atau di bawah rata-rata bergerak lambat, itu berarti bahwa tren jangka pendek membalikkan tren jangka panjang, yang sering menandakan pembalikan harga.

Strategi ini memanfaatkan prinsip ini dengan menetapkan dua rata-rata EMA dengan parameter yang berbeda, satu jangka pendek sebagai garis cepat dan satu jangka panjang sebagai garis lambat. Strategi menetapkan EMA dengan panjang 9 dan 26 untuk menghitung garis konversi dan garis dasar. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang, pergi panjang, menunjukkan harga jangka pendek lebih tinggi dari harga jangka panjang, sinyal bullish. Ketika EMA jangka pendek melintasi di bawah EMA jangka panjang, pergi pendek, menunjukkan harga jangka pendek lebih rendah dari harga jangka panjang, sinyal bearish.

Dengan demikian, strategi ini menilai titik pembalikan harga yang mungkin melalui terobosan EMA cepat dan lambat untuk menangkap peluang tren harga jangka pendek.

Analisis Keuntungan

  • Menggunakan indikator yang dapat diandalkan berdasarkan teori rata-rata bergerak untuk menentukan titik pembalikan harga
  • Mudah dimengerti dan diterapkan berdasarkan indikator dasar
  • Parameter yang fleksibel untuk penyesuaian dan optimalisasi untuk produk yang berbeda
  • Pilihan untuk hanya membuka posisi selama jam perdagangan tertentu untuk menghindari risiko overnight
  • Cari titik terobosan yang lebih jelas untuk meningkatkan tingkat kemenangan

Analisis Risiko dan Solusi

  • Kemungkinan kerugian kecil dari perdagangan bolak-balik
    Dapat dengan tepat melonggarkan stop loss range, menunggu sinyal pembalikan yang jelas sebelum memasuki posisi

  • Untuk stok likuiditas rendah, celah harga atau harga yang tidak konsisten dapat terjadi Parameter dapat dioptimalkan, menyesuaikan parameter siklus rata-rata bergerak, perdagangan dengan parameter yang dioptimalkan

  • Mudah untuk mendapatkan sinyal palsu di sisi pasar bergolak Dapat dikombinasikan dengan indikator lain untuk konfirmasi sebelum memasuki posisi

  • Kemampuan terbatas untuk menangani situasi pasar yang kompleks hanya dengan indikator rata-rata bergerak sederhana Dapat memperkenalkan indikator teknis lainnya untuk peningkatan pengambilan keputusan pada titik-titik kunci

Arahan Optimasi

Strategi ini juga dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Menambahkan mekanisme ukuran posisi untuk mengontrol risiko posisi dengan menambahkan/mengurangi

  2. Menambahkan mekanisme stop loss untuk mengontrol kerugian per perdagangan secara efektif

  3. Masukkan volume perdagangan, indikator volume untuk menghindari pergeseran harga palsu

  4. Tambahkan prediksi model, gunakan pembelajaran mesin dll untuk memprediksi kemungkinan pembalikan harga, meningkatkan keputusan

  5. Menggunakan pembelajaran mendalam untuk mensimulasikan logika pengambilan keputusan trader profesional dan memilih sinyal pada titik kemungkinan pembalikan yang tinggi

Ringkasan

Ini adalah strategi reversi rata-rata jangka pendek berdasarkan indikator rata-rata bergerak. Parameter yang dapat disesuaikan memberikan fleksibilitas yang baik. Meskipun menggunakan indikator sederhana, ini dapat disesuaikan dengan baik dengan lingkungan pasar melalui penyesuaian parameter. Strategi ini bertujuan untuk menangkap peluang arbitrage dari pembalikan harga jangka pendek. Dengan memperkenalkan mekanisme seperti ukuran posisi, stop loss dll, risiko dapat dikelola secara efektif untuk meningkatkan stabilitas. Indikator teknis yang lebih maju dan metode pembelajaran mesin juga dapat digunakan untuk mengeksplorasi peningkatan kinerja.


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

//@version=3
strategy("Juiced Ichimoku Strat", overlay=true)

USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0800-1600', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)

varLo = input(title="Fast (Conversion) Line",  defval=9, minval=1, maxval=99999)
varHi = input(title="Slow (Base) Line",  defval=26, minval=1, maxval=99999)
emafreq = input(title="Ema on price frequency",  defval=2, minval=1, maxval=99999)

a = lowest(varLo)
b = highest(varLo)
c = (a + b ) / 2

d = lowest(varHi)
e = highest(varHi)
f = (d + e) / 2

//g = ((c + f) / 2)[varHi]
//h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi]

z = ema(close, emafreq)

bgcolor(z > c and z > f ? green : z < c and z < f ? red : yellow, transp=70)
plot(z, title="ema on Price", color=black)
plot(c, title="Fast (Conversion) Line", color=green)
plot(f, title="Slow (Base) Line", color=red)

long = z > c and z > f and (USE_TRADESESSION ? istradingsession : true)
short = z < c and z < f and (USE_TRADESESSION ? istradingsession : true)
//exit = z < c and z > f or z > c and z < f

closelong = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closelong)
    strategy.close("Long")
closeshort = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closeshort)
    strategy.close("Short")
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)




Lebih banyak