Momentum Breakout Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-23 15:17:45
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan momentum yang didasarkan pada garis K dan D dari indikator Smoothed Stochastic Oscillator.

Logika Strategi

Strategi ini terdiri dari bagian-bagian berikut:

  1. Pengaturan indikator

    Menggunakan RSI 14 periode untuk menghasilkan garis K dan D dari indikator Smoothed Stochastic Oscillator, dengan SMA 3 periode diterapkan pada garis K dan D.

  2. Generasi Sinyal

    Ketika garis K melintasi level 20, sinyal beli dihasilkan untuk masuk panjang.

  3. Hentikan Kerugian

    Trailing stop loss digunakan dengan jarak stop trailing yang tetap. Juga terendah terendah dalam 20 periode terakhir digunakan sebagai harga stop loss.

  4. Ukuran Posisi

    Jumlah poin antara harga stop loss dan penutupan saat ini dihitung dengan menggunakan posisi terendah terendah 20 periode lalu. Kemudian ukuran posisi dihitung berdasarkan jumlah dolar yang berisiko per perdagangan dan nilai per titik.

Dengan cara ini, strategi mengidentifikasi momentum breakout pada pembalikan oversold sebagai sinyal masuk, dan mengadopsi ukuran posisi yang akurat dan trailing stop loss untuk pembalikan momentum perdagangan, dengan pengendalian risiko yang efektif.

Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Sinyal masuk yang jelas di area overbought dengan momentum yang kuat.

  2. Gerakan stop trailing yang fleksibel dengan perubahan pasar.

  3. Ukuran posisi yang tepat mengendalikan risiko perdagangan tunggal.

  4. Stop loss yang akurat berdasarkan low historis.

  5. Logika ukuran posisi yang sederhana dan jelas.

  6. Logika strategi yang sederhana dan jelas, mudah dipahami.

  7. Struktur kode yang bersih, mudah dibaca dan dimodifikasi.

Risiko

Ada beberapa risiko untuk strategi:

  1. Fluktuasi harga yang mendasari. pemicu stop loss yang sering terjadi selama volatilitas pasar.

  2. Potensi lebih dari perdagangan.

  3. Satu kepemilikan arah, tidak dapat mendapatkan keuntungan dari pergerakan harga terbalik.

  4. Penyaringan kondisi pasar yang tidak efektif.

Optimasi di bawah ini dapat membantu mengelola risiko:

  1. Mengoptimalkan parameter untuk menghindari perdagangan berlebihan.

  2. Gunakan entri bertahap untuk mengurangi risiko satu arah.

  3. Tambahkan analisis tren jangka waktu yang lebih besar untuk menghindari perdagangan dalam kondisi pasar yang tidak menguntungkan.

  4. Mengoptimalkan strategi stop loss untuk mencegah sensitivitas yang berlebihan.

Optimalisasi

Di bawah ini aspek strategi dapat dioptimalkan:

  1. Optimalkan stop loss untuk menggunakan stop trailing dinamis, stop loss bertahap, moving average dll untuk membuatnya lebih halus.

  2. Tambahkan analisis tren jangka waktu yang lebih besar untuk menghindari perdagangan di pasar sisi. Dapat menggabungkan analisis tren dengan moving average, channel breakout dll.

  3. Pertimbangkan dua kepemilikan arah untuk mendapatkan keuntungan dari penarikan.

  4. Gunakan pembelajaran mesin untuk optimasi parameter otomatis untuk menemukan parameter optimal untuk perubahan kondisi pasar.

  5. Mengoptimalkan ukuran posisi dengan menggunakan persentase tetap, modal tetap dll untuk meningkatkan pemanfaatan modal.

  6. Tambahkan lebih banyak filter dengan indikator seperti volume, Bollinger Bands untuk meningkatkan kualitas sinyal perdagangan.

Ringkasan

Secara keseluruhan ini adalah strategi momentum breakout yang sederhana dan jelas. Ini mengadopsi pendekatan stop loss yang bijaksana untuk mengontrol risiko perdagangan tunggal secara efektif. Tetapi masih diperlukan optimasi untuk menyesuaikan strategi dengan kondisi pasar tertentu, menyaring sinyal yang tidak efektif, dan mencapai keseimbangan yang lebih baik antara pengembalian dan risiko. Meningkatkan analisis tren kerangka waktu yang lebih besar dan ukuran posisi adalah arah optimasi yang penting untuk strategi ini. Singkatnya, sebagai strategi momentum breakout dasar, masih praktis dan layak diteliti lebih lanjut untuk menyesuaikan dengan kondisi pasar instrumen perdagangan tertentu.


//@version=2
//descripcion: 
//entrada en saturacion oscilador estocastico
//salida por trailing
strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)

//condicion de compra: k>80
buycondition=crossover(k,oversold)
//entrada a la posicion
posicionabierta=0
if year>2015
    if buycondition 
        stoplow=lowest(stop_dentro_de_los_ultimos_lows)   
        riesgo_en_pips = (close - stoplow)   
        valor_del_pip = (riesgo_en_dolares / riesgo_en_pips)
        tamanio_de_la_posicion= ( valor_del_pip)              //la posicion la esta calculando bien
        strategy.entry("buy",strategy.long)
        strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow))

//////////////////////////////////condicion de stop por drodown 10% equity
//strategy.risk.max_drawdown(15,strategy.cash)
// condicion de stop por perdida mayor a $15 en op abierta
//strategy.risk.max_intraday_loss(15,strategy.cash)
//formas de tomar stop:
// cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order
// determinado por un numero de pips strategy.exit
// determinado por el calculo de la posicion:
//tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop
//calcular la posicion en base a ese stop:
//prcio de entrada - precio de stop = pips_en-reisgo
//riesgo_e_dolares / pips_en_riesgo = pip_value
//position_size=10000 * pip_value


Lebih banyak