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

Penulis:ChaoZhang, Tanggal: 2024-04-12 16:26:06
Tag:EMARSITPSLAlRNN

img

Gambaran umum

Strategi ini adalah strategi perdagangan yang didasarkan pada Stochastic Slow Oscillator, dikombinasikan dengan Moving Average, Relative Strength Index (RSI), dan teknik Artificial Intelligence (AI). Strategi ini menentukan sinyal beli dan jual dengan menganalisis sinyal silang dari Stochastic Slow Oscillator, mempertimbangkan posisi harga relatif terhadap rata-rata bergerak 200 hari, dan menggabungkan sinyal yang dihasilkan oleh model AI. Strategi ini juga menetapkan tingkat take-profit dan stop-loss untuk mengelola risiko.

Prinsip Strategi

  1. Menghitung Stochastic Slow Oscillator dengan periode 30, di mana periode perataan untuk nilai K adalah 18 dan periode perataan untuk nilai D adalah 7.
  2. Tentukan ambang overbought dan oversold masing-masing 40 dan 19, dan atur nilai minimum K sebagai 12.
  3. Hitung rata-rata bergerak sederhana 200 hari sebagai filter tren.
  4. Gunakan model Jaringan Neural Ulang (RNN) untuk menghasilkan sinyal beli dan jual.
  5. Kondisi masuk panjang: Harga melintasi di atas rata-rata bergerak 200 hari, nilai K di bawah ambang oversold dan di atas nilai minimum K, dan sinyal AI adalah 1.
  6. Kondisi masuk pendek: Harga melintasi di bawah rata-rata bergerak 200 hari, nilai K berada di atas ambang overbought dan di atas nilai minimum K, dan sinyal AI adalah -1.
  7. Sinyal beli dan jual juga dihasilkan ketika Stochastic Oscillator menunjukkan crossover dan memenuhi kondisi overbought atau oversold.
  8. Atur tingkat take profit sebesar 500 poin di atas atau di bawah harga saat ini, dan tingkat stop loss sebesar 200 poin di atas atau di bawah harga saat ini.

Keuntungan Strategi

  1. Menggabungkan beberapa indikator teknis dan teknik AI, meningkatkan ketahanan dan kemampuan beradaptasi strategi.
  2. Menggunakan Stochastic Slow Oscillator sebagai sinyal beli dan jual utama, secara efektif menangkap kondisi pasar overbought dan oversold.
  3. Memperkenalkan rata-rata bergerak 200 hari sebagai filter tren untuk menghindari perdagangan melawan tren.
  4. Menggunakan model AI untuk menghasilkan sinyal beli dan jual, meningkatkan kecerdasan strategi.
  5. Menetapkan tingkat take profit dan stop loss yang jelas untuk mengelola risiko secara efektif.

Risiko Strategi

  1. Stochastic Oscillator dapat menghasilkan sinyal palsu dalam kondisi pasar tertentu.
  2. Efektivitas model AI tergantung pada kualitas data pelatihan dan desain model, memperkenalkan ketidakpastian.
  3. Tingkat take profit dan stop loss yang tetap mungkin tidak beradaptasi dengan baik dengan kondisi volatilitas pasar yang berbeda.
  4. Strategi ini tidak memiliki mekanisme untuk menanggapi peristiwa pasar yang tiba-tiba dan fluktuasi yang tidak normal.

Arah Optimasi Strategi

  1. Mengoptimalkan parameter dari Stochastic Oscillator, seperti menyesuaikan periode perataan untuk nilai K dan D, untuk meningkatkan efektivitas indikator.
  2. Meningkatkan desain model AI dengan memasukkan lebih banyak fitur pasar dan data untuk meningkatkan akurasi prediktifnya.
  3. Menerapkan mekanisme take profit dan stop loss yang dinamis yang beradaptasi dengan volatilitas pasar dan tingkat risiko.
  4. Memperkenalkan analisis sentimen pasar dan faktor yang didorong oleh peristiwa untuk meningkatkan kemampuan strategi untuk menanggapi peristiwa pasar yang tiba-tiba.
  5. Pertimbangkan untuk menambahkan ukuran posisi dan modul manajemen uang untuk mengoptimalkan efisiensi pemanfaatan modal dan pengendalian risiko strategi.

Ringkasan

Strategi ini menggabungkan teknik Stochastic Slow Oscillator, Moving Average, Relative Strength Index, dan AI untuk membangun strategi perdagangan multi-faktor. Strategi ini memanfaatkan Stochastic Oscillator untuk menangkap sinyal overbought dan oversold sambil menggunakan filter tren dan generasi sinyal cerdas untuk meningkatkan ketahanan dan daya adaptasi. Meskipun strategi ini memiliki risiko tertentu, seperti kegagalan indikator dan ketidakpastian model, ini dapat dikurangi dengan mengoptimalkan parameter indikator, meningkatkan model AI, menerapkan langkah-langkah kontrol risiko dinamis, dan menggabungkan modul tambahan untuk ukuran posisi dan manajemen uang.


/*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 banyak