Stochastic Oscillator dan Strategi Purata Pergerakan

STOCH MA SL
Tarikh penciptaan: 2024-04-30 16:45:30 Akhirnya diubah suai: 2024-04-30 16:45:30
Salin: 1 Bilangan klik: 642
1
fokus pada
1617
Pengikut

Stochastic Oscillator dan Strategi Purata Pergerakan

Gambaran keseluruhan

Strategi ini menggabungkan penunjuk goyah rawak (Stochastic Oscillator) dan purata bergerak (Moving Average) untuk menilai keadaan pasaran yang terlalu banyak beli dan terlalu banyak dijual, dan menentukan arah perdagangan berdasarkan arah trend rata-rata bergerak. Strategi ini membuka kedudukan berpatutan apabila penunjuk goyah rawak melintasi kawasan yang terlalu banyak dijual dan rata-rata bergerak sedang dalam trend naik; strategi membuka kedudukan kosong apabila penunjuk goyah rawak melintasi kawasan yang terlalu banyak dibeli dan rata-rata bergerak sedang dalam trend menurun.

Prinsip Strategi

  1. Hitung nilai K dan nilai D dari indikator goyah rawak, di mana nilai K adalah kedudukan harga berbanding harga tertinggi dan terendah, dan nilai D adalah purata bergerak nilai K.
  2. Hitung purata bergerak untuk tempoh yang ditetapkan.
  3. Untuk menentukan syarat masuk: Buka kedudukan bermulut apabila nilai K melintasi tahap oversell dari bawah ke atas dan rata-rata bergerak ke atas; Buka kedudukan bermulut kosong apabila nilai K melintasi tahap overbuy dari atas ke bawah dan rata-rata bergerak ke bawah.
  4. Untuk menilai keadaan keluar: Apabila nilai K bercampur dengan purata bergerak, dan purata bergerak berubah arah, kedudukan kosong.
  5. Tetapkan Stop Loss dan Kawal Risiko.

Analisis kelebihan

  1. Gabungan penunjuk goyah rawak dan purata bergerak dapat menangkap lebih baik trend pasaran dan keadaan overbought dan oversold.
  2. Menggunakan purata bergerak untuk menapis isyarat perdagangan dan meningkatkan kualiti perdagangan.
  3. Tetapkan Stop Loss, mengawal risiko dengan berkesan.
  4. Kodnya jelas dan mudah difahami dan diubah suai.

Analisis risiko

  1. Indikator goyah rawak dan purata bergerak adalah penanda keterlambatan, yang mungkin menyebabkan kelewatan isyarat.
  2. Dalam pasaran yang bergolak, strategi ini boleh menyebabkan perdagangan yang kerap dan kos yang tinggi.
  3. Peratusan kerugian tetap mungkin tidak sesuai dengan keadaan pasaran yang berbeza dan perlu disesuaikan dengan turun naik pasaran.

Arah pengoptimuman

  1. Indikator teknikal lain seperti MACD, RSI dan lain-lain boleh dipertimbangkan untuk meningkatkan kebolehpercayaan isyarat.
  2. Untuk hentikan, anda boleh menggunakan hentikan dinamik atau hentikan berdasarkan ATR (Average True Range) untuk menyesuaikan diri dengan perubahan pasaran.
  3. Untuk mengoptimumkan prestasi strategi, parameter indikator goyah rawak dan purata bergerak boleh disesuaikan secara dinamik mengikut trend dan turun naik pasaran.
  4. Memperkenalkan pengurusan kedudukan, menyesuaikan saiz kedudukan secara dinamik mengikut keadaan pasaran dan risiko akaun.

ringkaskan

Strategi ini menggunakan arah trend rata-rata bergerak untuk menyaring isyarat perdagangan dan menetapkan hentian untuk mengawal risiko dengan menggabungkan indikator goyah rawak dan purata bergerak, sambil menangkap keadaan pasaran yang terlalu banyak membeli dan menjual. Gagasan strategi ini jelas, mudah difahami dan dilaksanakan. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti masalah keterlambatan indikator, perdagangan yang kerap.

Kod 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")