KRK ADA 1H Strategi Slow Stochastic dengan lebih banyak entri dan AI

Penulis:ChaoZhang, Tarikh: 2024-04-12 16:26:06
Tag:EMARSITPSLALRNN

img

Ringkasan

Strategi ini adalah strategi perdagangan berdasarkan Stochastic Slow Oscillator, digabungkan dengan Moving Average, Indeks Kekuatan Relatif (RSI), dan teknik Kecerdasan Buatan (AI). Strategi ini menentukan isyarat beli dan jual dengan menganalisis isyarat silang dari Stochastic Slow Oscillator, mempertimbangkan kedudukan harga berbanding dengan purata bergerak 200 hari, dan menggabungkan isyarat yang dihasilkan oleh model AI. Strategi ini juga menetapkan tahap mengambil keuntungan dan stop-loss untuk menguruskan risiko.

Prinsip Strategi

  1. Mengira Stokastis Slow Oscillator dengan tempoh 30, di mana tempoh pelembap untuk nilai K adalah 18 dan tempoh pelembap untuk nilai D adalah 7.
  2. Tentukan ambang terlalu banyak beli dan terlalu banyak jual masing-masing 40 dan 19, dan tetapkan nilai K minimum sebagai 12.
  3. Mengira purata bergerak mudah 200 hari sebagai penapis trend.
  4. Gunakan model RNN untuk menjana isyarat beli dan jual.
  5. Keadaan kemasukan panjang: Harga melintasi di atas purata bergerak 200 hari, nilai K di bawah ambang oversold dan di atas nilai minimum K, dan isyarat AI adalah 1.
  6. Keadaan kemasukan pendek: Harga melintasi di bawah purata bergerak 200 hari, nilai K di atas ambang overbought dan di atas nilai minimum K dan isyarat AI adalah -1.
  7. Isyarat beli dan jual juga dihasilkan apabila Osilator Stochastic menunjukkan persilangan dan memenuhi keadaan overbought atau oversold.
  8. Tetapkan tahap mengambil keuntungan pada 500 mata di atas atau di bawah harga semasa, dan tahap stop-loss pada 200 mata di atas atau di bawah harga semasa.

Kelebihan Strategi

  1. Menggabungkan pelbagai penunjuk teknikal dan teknik AI, meningkatkan ketahanan dan kesesuaian strategi.
  2. Menggunakan Stochastic Slow Oscillator sebagai isyarat beli dan jual utama, dengan berkesan menangkap keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual.
  3. Memperkenalkan purata bergerak 200 hari sebagai penapis trend untuk mengelakkan perdagangan terhadap trend.
  4. Menggunakan model AI untuk menjana isyarat beli dan jual, meningkatkan kecerdasan strategi.
  5. Menetapkan tahap mengambil keuntungan dan stop-loss yang jelas untuk menguruskan risiko dengan berkesan.

Risiko Strategi

  1. Osilator Stochastic boleh menghasilkan isyarat palsu di bawah keadaan pasaran tertentu.
  2. Keberkesanan model AI bergantung pada kualiti data latihan dan reka bentuk model, memperkenalkan ketidakpastian.
  3. Tahap keuntungan dan stop loss tetap mungkin tidak disesuaikan dengan baik dengan keadaan turun naik pasaran yang berbeza.
  4. Strategi ini tidak mempunyai mekanisme untuk bertindak balas terhadap peristiwa pasaran tiba-tiba dan turun naik yang tidak normal.

Arahan Pengoptimuman Strategi

  1. Mengoptimumkan parameter Osilator Stochastic, seperti menyesuaikan tempoh penyelarasan untuk nilai K dan D, untuk meningkatkan keberkesanan penunjuk.
  2. Meningkatkan reka bentuk model AI dengan menggabungkan lebih banyak ciri pasaran dan data untuk meningkatkan ketepatan ramalannya.
  3. Melaksanakan mekanisme mengambil keuntungan dan menghentikan kerugian yang dinamik yang disesuaikan dengan turun naik pasaran dan tahap risiko.
  4. Memperkenalkan analisis sentimen pasaran dan faktor yang didorong oleh peristiwa untuk meningkatkan keupayaan strategi untuk bertindak balas terhadap peristiwa pasaran yang tiba-tiba.
  5. Pertimbangkan untuk menambah saiz kedudukan dan modul pengurusan wang untuk mengoptimumkan kecekapan penggunaan modal strategi dan kawalan risiko.

Ringkasan

Strategi ini menggabungkan teknik Stochastic Slow Oscillator, Moving Average, Relative Strength Index, dan AI untuk membina strategi perdagangan pelbagai faktor. Strategi ini menggunakan Stochastic Oscillator untuk menangkap isyarat overbought dan oversold sambil menggunakan penapis trend dan penjanaan isyarat pintar untuk meningkatkan ketahanan dan daya adaptasi. Walaupun strategi ini mempunyai risiko tertentu, seperti kegagalan penunjuk dan ketidakpastian model, ini boleh dikurangkan dengan mengoptimumkan parameter penunjuk, meningkatkan model AI, melaksanakan langkah kawalan risiko dinamik, dan menggabungkan modul tambahan untuk ukuran kedudukan dan pengurusan wang.


/*backtest
start: 2024-03-12 00:00:00
end: 2024-04-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastic Slow Strategy with More Entries and AI", overlay=true)

length = input.int(30, minval=1)
OverBought = input(40)
OverSold = input(19)
smoothK = input.int(18, minval=1)
smoothD = input.int(7, minval=1)
minKValue = input(12, title="Minimum K Value")

// Stochastic calculations
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k, d)
cu = ta.crossunder(k, d)

// Trend filter (200-period simple moving average)
ema200 = ta.sma(close, 200)

// Define la función para calcular la señal de la red neuronal recurrente
rnn_signal(price_series) =>
    // Aquí implementa tu modelo de red neuronal recurrente para generar la señal
    // Puedes usar bibliotecas externas o implementar tu propio modelo aquí

    // Ejemplo de señal aleatoria
    signal = ta.rsi(price_series, 14) > 50 ? 1 : -1
    
    // Devuelve la señal generada por la red neuronal recurrente
    signal

// Calcula la señal utilizando la función definida anteriormente
ai_signal = rnn_signal(close)

// Entry conditions
longCondition = ta.crossover(close, ema200) and k < OverSold and k > minKValue and ai_signal == 1
shortCondition = ta.crossunder(close, ema200) and k > OverBought and k > minKValue and ai_signal == -1

if (not na(k) and not na(d))
    if (co and k < OverSold and k > minKValue)
        strategy.entry("LONG", strategy.long, comment="LONG")
        strategy.exit("ExitLong", "LONG", profit = close * 500, loss = close * 200)
    if (cu and k > OverBought and k > minKValue)
        strategy.entry("SHORT", strategy.short, comment="SHORT")
        strategy.exit("ExitShort", "SHORT", profit = close * 500, loss = close * 200)
    
if (longCondition)
    strategy.entry("LongEntry", strategy.long, comment="LongEntry")
    strategy.exit("ExitLongEntry", "LongEntry", profit = close * 500, loss = close * 200)
if (shortCondition)
    strategy.entry("ShortEntry", strategy.short, comment="ShortEntry")
    strategy.exit("ExitShortEntry", "ShortEntry", profit = close * 500, loss = close * 200)

// Plotting
plot(ema200, color=color.blue, title="200 SMA")

Berkaitan

Lebih lanjut