Strategi dagangan berdasarkan Petunjuk Perlahan Stochastic

EMA RSI TP SL AI RNN
Tarikh penciptaan: 2024-04-12 16:26:06 Akhirnya diubah suai: 2024-04-12 16:26:06
Salin: 3 Bilangan klik: 649
1
fokus pada
1617
Pengikut

Strategi dagangan berdasarkan Petunjuk Perlahan Stochastic

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan berdasarkan Stochastic Slow Oscillator, yang menggabungkan Moving Average, RSI, dan AI. Strategi ini membuat keputusan melalui isyarat silang dari indikator perlahan secara rawak, sambil mempertimbangkan kedudukan harga terhadap purata bergerak 200 hari, dan isyarat yang dihasilkan oleh model AI, untuk menentukan isyarat membeli dan menjual.

Prinsip Strategi

  1. Hitung penunjuk kelajuan perlahan rawak 30 kitaran, di mana kitaran kelancaran nilai K adalah 18, dan kitaran kelancaran nilai D adalah 7.
  2. Tanda aras untuk overbuy dan oversell adalah 40 dan 19, dan set nilai K minimum ialah 12 .
  3. Menggunakan purata bergerak sederhana 200 hari sebagai penapis trend.
  4. Menjana isyarat beli dan jual menggunakan model rangkaian saraf berulang ((RNN)).
  5. Syarat kemasukan berbilang kepala: harga melalui purata bergerak 200 hari, nilai K kurang daripada paras teratas dan lebih besar daripada nilai K minimum, isyarat AI adalah 1 ◦
  6. Syarat kemasukan kosong: harga menembusi purata bergerak 200 hari di bawahnya, nilai K lebih besar daripada had overbought dan lebih besar daripada nilai K minimum, isyarat AI adalah -1.
  7. Sinyal jual beli juga dihasilkan apabila penunjuk rawak muncul bersilang dan memenuhi syarat overbought dan oversold.
  8. Tetapkan Stop Stop 500 mata ke bawah harga semasa, dan Stop Loss 200 mata ke atas harga semasa.

Kelebihan Strategik

  1. Menggabungkan pelbagai petunjuk teknikal dan teknologi kecerdasan buatan untuk meningkatkan ketahanan dan kebolehlakuan strategi.
  2. Menggunakan penunjuk kelajuan perlahan secara rawak sebagai isyarat utama untuk membeli dan menjual, ia berkesan menangkap keadaan pasaran yang terlalu banyak membeli dan terlalu banyak menjual.
  3. Memperkenalkan purata bergerak 200 hari sebagai penapis trend untuk mengelakkan dagangan dalam trend terbalik.
  4. Dengan menggunakan model kecerdasan buatan untuk menghasilkan isyarat jual beli, strategi ini telah dipertingkatkan kecerdasan.
  5. Ia mempunyai titik hentian yang jelas untuk mengawal risiko secara berkesan.

Risiko Strategik

  1. Penunjuk rawak mungkin menghasilkan lebih banyak isyarat palsu dalam keadaan pasaran tertentu.
  2. Keberkesanan model kecerdasan buatan bergantung kepada kualiti data latihan dan reka bentuk model, dengan beberapa ketidakpastian.
  3. Stop loss yang tetap mungkin tidak dapat disesuaikan dengan keadaan pasaran yang berbeza.
  4. Strategi kekurangan mekanisme untuk bertindak balas terhadap kejadian kejutan dan turun naik yang luar biasa di pasaran.

Arah pengoptimuman strategi

  1. Optimumkan parameter penunjuk rawak, seperti menyesuaikan kitaran kelancaran nilai K dan nilai D, untuk meningkatkan keberkesanan penunjuk.
  2. Meningkatkan reka bentuk model kecerdasan buatan, memperkenalkan lebih banyak ciri dan data pasaran, meningkatkan ketepatan ramalan model.
  3. Menggunakan mekanisme hentian hentian dinamik, menyesuaikan diri dengan kedudukan hentian hentian mengikut turun naik pasaran dan tahap risiko.
  4. Memperkenalkan analisis sentimen pasaran dan faktor pemandu peristiwa, meningkatkan keupayaan strategi untuk bertindak balas terhadap kejadian kejutan pasaran.
  5. Pertimbangkan untuk memasukkan modul pengurusan kedudukan dan pengurusan wang, untuk mengoptimumkan kecekapan penggunaan wang dan kawalan risiko strategi.

ringkaskan

Strategi ini membina strategi perdagangan berbilang faktor dengan menggabungkan penunjuk perlahan acak, purata bergerak, indeks yang agak kuat dan teknologi kecerdasan buatan. Strategi ini menggunakan penunjuk acak untuk menangkap isyarat overbought dan oversold, sambil menggunakan penapis trend dan penjanaan isyarat pintar, meningkatkan kestabilan dan kemampuan adaptasi strategi. Walaupun terdapat risiko tertentu, seperti kegagalan indikator dan ketidakpastian model, prestasi dan kawalan risiko strategi dapat ditingkatkan dengan mengoptimumkan parameter indikator, memperbaiki model kecerdasan buatan, menggunakan kaedah langkah-langkah kawalan risiko dinamik, dan sebagainya.

Kod sumber strategi
/*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")