Strategi HIGH/LOW harian

Penulis:ChaoZhang, Tanggal: 23 September 2023 15:07:58
Tag:

Gambaran umum

Ini adalah strategi perdagangan intraday sederhana yang menggabungkan titik tinggi/rendah harian, rata-rata bergerak dan volume.

Logika Strategi

Strategi ini terutama didasarkan pada indikator berikut:

  1. Titik tinggi/rendah harian: Catat harga tertinggi dan terendah dari hari perdagangan sebelumnya sebagai patokan untuk penilaian breakout.

  2. Rata-rata bergerak: Menghitung rata-rata bergerak harga penutupan selama periode tertentu sebagai referensi untuk tren keseluruhan.

  3. Aliran uang volume: Menghitung nilai normal panjang/pendek volume selama periode untuk menentukan arus masuk dan arus keluar dana.

Aturan perdagangan khusus adalah:

  1. Kondisi panjang: Ketika hari tinggi melanggar hari sebelumnyas tinggi, dan penutupan di atas rata-rata bergerak, dan aliran uang volume positif, pergi panjang.

  2. Tutup posisi panjang: Ketika menutup melanggar di bawah rata-rata bergerak, tutup posisi panjang.

  3. Kondisi Short: Ketika hari terendah melanggar hari sebelumnyas rendah, dan penutupan di bawah rata-rata bergerak, dan aliran uang volume negatif, pergi pendek.

  4. Tutup posisi pendek: Ketika tutup melanggar di atas rata-rata bergerak, tutup posisi pendek.

Strategi ini memperhitungkan breakout, tren dan arus modal secara komprehensif, membentuk sistem penilaian lengkap yang dapat secara efektif menyaring kebisingan breakout palsu.

Analisis Keuntungan

Strategi high/low breakout ini memiliki keuntungan berikut:

  1. Logikanya sederhana dan intuitif, mudah dimengerti dan diterapkan.

  2. Melanggar titik tinggi / rendah hari sebelumnya dapat menangkap arah kekuatan yang lebih kuat.

  3. Menyaring dengan rata-rata bergerak menghindari banyak sinyal berisik.

  4. Indikator arus modal membantu menentukan distribusi kekuatan panjang/pendek.

  5. Perdagangan intraday memungkinkan akumulasi keuntungan melalui beberapa perdagangan.

  6. Tidak diperlukan optimasi parameter yang kompleks, relatif mudah diterapkan.

  7. Terapkan pada produk yang berbeda dengan fleksibilitas tinggi.

  8. Secara keseluruhan, ide strategi sederhana dan jelas, dengan sedikit kesulitan dalam pelaksanaan dan potensi keuntungan yang cukup besar.

Analisis Risiko

Meskipun strategi ini memiliki banyak keuntungan, ada juga beberapa risiko:

  1. Mengandalkan bursa tinggi/rendah dapat menyebabkan kerugian dari bursa palsu.

  2. Terlalu bergantung pada perdagangan intraday, mudah terpengaruh oleh peristiwa semalam.

  3. Kelewatan rata-rata bergerak dapat melewatkan titik balik tren.

  4. Indikator volume kadang-kadang bisa memberikan sinyal yang salah.

  5. Tidak dapat mengendalikan ukuran kerugian taruhan tunggal dengan baik, dengan risiko kerugian yang terlalu besar.

  6. Perdagangan intraday yang sering dipengaruhi oleh biaya perdagangan.

  7. Ruang pengoptimalan terbatas membuat sulit untuk mencapai alfa persisten.

  8. Secara keseluruhan, strategi ini memiliki frekuensi sinyal yang tinggi tetapi stabilitas dan profitabilitas belum terbukti.

Arahan Optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Tambahkan stop loss untuk mengendalikan risiko taruhan tunggal.

  2. Optimalkan parameter rata-rata bergerak untuk sensitivitas atau kelancaran yang lebih baik.

  3. Cobalah indikator volume yang berbeda untuk meningkatkan penilaian arus modal.

  4. Tambahkan lebih banyak filter untuk mengurangi kemungkinan kebocoran palsu.

  5. Jalankan strategi dalam jangka waktu yang lebih tinggi untuk menghindari over-trading.

  6. Memperkenalkan pembelajaran mesin untuk generasi sinyal adaptif.

  7. Masukkan lebih banyak data untuk pengambilan keputusan, misalnya berita, makro, dll.

  8. Mengevaluasi stabilitas dan risiko secara komprehensif, tidak mengejar keuntungan yang berlebihan.

Kesimpulan

Singkatnya, ini adalah strategi high/low breakout yang sederhana dan intuitif, berfokus pada hubungan harga-volume dan penilaian tren. Ini memiliki beberapa manfaat tetapi juga risiko, yang membutuhkan optimasi dan verifikasi lebih lanjut. Jika dikelola risiko dengan benar, ini bisa menjadi ide strategi jangka pendek yang praktis. Tetapi strategi yang lebih efisien dan kuat membutuhkan lebih banyak faktor pemodelan dan backtesting yang ketat.


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=5

strategy(title='Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)

////////////////////////////GENERAL INPUTS//////////////////////////////////////
len = input.int(24, minval=1, title='Length MA', group='Optimization paramters')
src = input.source(close, title='Source MA', group='Optimization paramters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization paramters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0


if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, when=barstate.isconfirmed, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, when=barstate.isconfirmed, stop=pricehigh[1])
    strategy.close('long', when=close < out)




Lebih banyak