Strategi Osilator Stokastik dan Rata-rata Pergerakan

STOCH MA SL
Tanggal Pembuatan: 2024-04-30 16:45:30 Akhirnya memodifikasi: 2024-04-30 16:45:30
menyalin: 1 Jumlah klik: 642
1
fokus pada
1617
Pengikut

Strategi Osilator Stokastik dan Rata-rata Pergerakan

Ringkasan

Strategi ini menggabungkan Stochastic Oscillator dan Moving Average untuk menilai kondisi overbought dan oversold di pasar dan menentukan arah perdagangan berdasarkan arah tren rata-rata bergerak. Strategi ini membuka posisi overbought ketika indikator bergoyang acak berlawanan arah oversold dan rata-rata bergerak berorientasi ke atas. Strategi ini membuka posisi kosong ketika indikator bergoyang acak berlawanan arah oversold dan rata-rata bergerak berorientasi ke bawah.

Prinsip Strategi

  1. Hitung nilai K dan nilai D dari indikator getaran acak, di mana nilai K adalah posisi harga relatif terhadap harga tertinggi dan terendah, dan nilai D adalah rata-rata bergerak dari nilai K.
  2. Hitung moving average dari periode yang ditentukan.
  3. Untuk menentukan kondisi masuk: Buka posisi overhead ketika K melewati level oversold dari bawah ke atas dan bergerak ke atas rata-rata; buka posisi overhead ketika K melewati level oversold dari atas ke bawah dan bergerak ke bawah rata-rata.
  4. Untuk menentukan kondisi keluar: posisi kosong ketika nilai K berpotongan dengan rata-rata bergerak dan rata-rata bergerak berubah arah.
  5. Pengaturan Stop Loss dan Pengendalian Risiko

Analisis Keunggulan

  1. Kombinasi indikator bergoyang acak dan rata-rata bergerak dapat menangkap tren pasar dan overbought dan oversold dengan lebih baik.
  2. Menggunakan Moving Average untuk memfilter sinyal perdagangan dan meningkatkan kualitas transaksi.
  3. Pengaturan Stop Loss, Pengendalian Risiko yang Efektif
  4. Struktur kodenya jelas, mudah dipahami dan dimodifikasi.

Analisis risiko

  1. Indikator goyangan acak dan rata-rata bergerak adalah indikator yang tertunda, yang dapat menyebabkan keterlambatan sinyal.
  2. Dalam pasar yang bergejolak, strategi ini dapat menyebabkan perdagangan yang sering terjadi, yang mengakibatkan biaya transaksi yang tinggi.
  3. Rasio stop loss tetap mungkin tidak dapat disesuaikan dengan kondisi pasar yang berbeda dan perlu disesuaikan dengan volatilitas pasar.

Arah optimasi

  1. Indikator teknis lainnya seperti MACD, RSI, dan lain-lain dapat dipertimbangkan untuk meningkatkan keandalan sinyal.
  2. Untuk stop loss, Anda dapat menggunakan stop loss dinamis atau stop loss berbasis ATR (Average True Range) untuk lebih beradaptasi dengan perubahan pasar.
  3. Untuk mengoptimalkan kinerja strategi, parameter indikator dan moving averages dapat disesuaikan secara dinamis berdasarkan tren dan volatilitas pasar.
  4. Memperkenalkan Manajemen Posisi, yang secara dinamis menyesuaikan ukuran posisi berdasarkan kondisi pasar dan risiko akun.

Meringkaskan

Strategi ini menggunakan arah tren rata-rata bergerak untuk memfilter sinyal perdagangan dan mengatur stop loss untuk mengendalikan risiko dengan menggabungkan indikator goyangan acak dan rata-rata bergerak, sambil menangkap pasar yang terlalu banyak membeli dan menjual. Ide strategi ini jelas, mudah dipahami dan diterapkan. Namun, strategi ini juga memiliki beberapa keterbatasan, seperti masalah keterlambatan indikator, perdagangan yang sering terjadi.

Kode Sumber Strategi
/*backtest
start: 2024-04-22 00:00:00
end: 2024-04-29 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Pablo_2uc

//@version=5
strategy("Estrategia Stoch + MA c/ SL", overlay=true)

// Parámetros del Estocástico
length = input.int(14, title="Longitud Estocástico")
smoothK = input.int(3, title="Suavizado K")
smoothD = input.int(3, title="Suavizado D")
oversold = input.int(20, title="Sobreventa")
overbought = input.int(80, title="Sobrecompra")

// Parámetros de la Media Móvil
maLength = input.int(9, title="Longitud MA")
maSource = input(close, title="Fuente MA")

// Capital inicial
capital = 500

// Tamaño de posición (10% del capital)
positionSize = 1

// Stop Loss (2% del precio de entrada)
stopLossPercent = input.int(2, title="Stop Loss (%)") / 100

// Cálculo del Estocástico
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)

// Cálculo de la Media Móvil
ma = ta.sma(maSource, maLength)

// Condiciones de entrada en largo y corto
longCondition = ta.crossunder(k, oversold) and ma > ma[1]
shortCondition = ta.crossover(k, overbought) and ma < ma[1]

// Condiciones de salida
exitLongCondition = ta.crossover(k, ma) and ma < ma[1]
exitShortCondition = ta.crossunder(k, ma) and ma > ma[1]

// Estrategia
if (longCondition)
    strategy.entry("Long", strategy.long, qty=positionSize)
    strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent))
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=positionSize)
    strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent))

// Cierre de posiciones
if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")