Strategi Perdagangan Deviasi Standar Volatilitas DEV Berdasarkan Indeks Kekuatan Relatif RSI dan SMA Rata-rata Geser

RSI SMA DEV
Tanggal Pembuatan: 2024-05-28 10:57:06 Akhirnya memodifikasi: 2024-05-28 10:57:06
menyalin: 1 Jumlah klik: 626
1
fokus pada
1617
Pengikut

Strategi Perdagangan Deviasi Standar Volatilitas DEV Berdasarkan Indeks Kekuatan Relatif RSI dan SMA Rata-rata Geser

Ringkasan

Strategi Pine Script ini didasarkan pada indeks RSI yang relatif kuat dan deviasi standar DEV dari volatilitas harga, dengan membandingkan harga dengan orbit ke atas dan ke bawah untuk menilai titik masuk, sementara menggunakan RSI sebagai indikator penyaringan tambahan, menghasilkan sinyal buka posisi ketika harga menyentuh orbit ke atas dan ke bawah dan RSI mencapai area overbought dan oversold, dan melonggarkan posisi ketika harga berbalik untuk keluar dari orbit atau RSI berbalik mencapai area overbought. Strategi ini dapat menyesuaikan diri dengan dinamika pasar yang bergejolak, memegang posisi yang menguntungkan ketika volatilitas tinggi dan stop loss, ketika volatilitas rendah, adalah strategi perdagangan kuantitatif yang dapat beradaptasi dengan berbagai kondisi pasar.

Prinsip Strategi

  1. Harga dihitung dengan moving average SMA dan deviasi standar DEV selama periode terakhir.
  2. Dengan SMA sebagai sumbu tengah, SMA + thresholdEntry*DEV untuk naik, SMA-thresholdEntry*DEV turun ke bawah, membangun saluran fluktuasi.
  3. Selain itu, perhitungan indikator RSI untuk periode rsiLength yang lalu.
  4. Ketika harga naik ke bawah dan RSI lebih kecil dari oversold, sinyal overbought dihasilkan.
  5. Ketika harga menembus downtrend dan RSI lebih besar dari overbought rsi Overbought, sinyal open position dihasilkan.
  6. Dengan SMA sebagai sumbu tengah, SMA+thresholdExit*DEV ke jalur, SMA-thresholdExit*DEV meluncur ke bawah untuk membangun jalan keluar yang lebih sempit.
  7. Ketika memegang posisi over, jika harga turun ke bawah dan keluar dari jalur atau RSI lebih besar dari overbought, melunasi posisi over.
  8. Ketika memegang posisi kosong, jika harga naik dan keluar dari jalur atau RSI lebih kecil dari overbought, posisi kosong kosong.

Analisis Keunggulan

  1. Dengan menggunakan perilaku harga dan indikator momentum untuk membantu penilaian, sinyal palsu dapat disaring secara efektif.
  2. Dengan mengadaptasi lebar saluran secara dinamis melalui volatilitas, strategi dapat beradaptasi dengan kondisi pasar yang berbeda.
  3. Dengan dua set saluran, Anda dapat menghentikan kerugian pada awal perubahan harga, mengontrol penarikan kembali, dan tetap memegang posisi setelah tren terbentuk.
  4. Logika kode dan pengaturan parameter yang jelas, mudah dipahami dan dioptimalkan.

Analisis risiko

  1. Strategi ini dapat berhenti prematur dan kehilangan keuntungan tren ketika pasar terus berlanjut dengan tren unilateral.
  2. Pengaturan parameter sangat berpengaruh pada kinerja strategi, dan parameter harus dioptimalkan untuk varietas dan siklus yang berbeda.
  3. Strategi ini lebih menguntungkan di pasar yang bergoyang, dan umumnya berkinerja di pasar tren. Jika tren jangka panjang tiba-tiba berbalik, strategi ini mungkin menghasilkan retrograde yang lebih besar.
  4. Pengaturan parameter tetap mungkin tidak akan berlaku jika volatilitas aset dalam indikator berubah secara drastis.

Arah optimasi

  1. Anda dapat mencoba untuk memperkenalkan indikator untuk menilai tren, seperti jangka panjang dan jangka pendek rata-rata crossover, ADX, dan lain-lain, untuk membedakan antara tren dan pasar goyah, menggunakan parameter yang berbeda pengaturan.
  2. Pertimbangkan untuk menggunakan indikator volatilitas yang lebih adaptif, seperti ATR, untuk menyesuaikan secara dinamis lebar saluran volatilitas.
  3. Sebelum membuka posisi, menilai tren pergerakan harga, mendeteksi apakah ada tren yang jelas, dan menghindari perdagangan berlawanan arah.
  4. Kombinasi parameter yang berbeda dapat dioptimalkan untuk mencari pengaturan parameter yang optimal melalui algoritma genetik, pencarian grid, dll.
  5. Pertimbangkan untuk menggunakan pengaturan parameter yang berbeda untuk posisi multihead dan posisi kosong untuk mengontrol risiko.

Meringkaskan

Strategi ini menggunakan saluran volatilitas dan indeks yang relatif kuat untuk membuat keputusan posisi terbuka dengan merujuk pada indikator RSI saat harga berfluktuasi, sehingga dapat lebih memahami tren bertahap, dan menghentikan kerugian dan keuntungan tepat waktu. Namun, kinerja strategi ini relatif sensitif terhadap pengaturan parameter, yang perlu dioptimalkan untuk berbagai lingkungan pasar dan aset yang ditandai, sambil mempertimbangkan untuk memperkenalkan indikator lain untuk penilaian tambahan terhadap tren pasar, untuk memanfaatkan sepenuhnya keunggulan strategi.

Kode Sumber Strategi
/*backtest
start: 2024-05-20 00:00:00
end: 2024-05-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"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/
// © tmalvao

//@version=5
strategy("Estratégia de Desvio Padrão com RSI", overlay=true, margin_long=100, margin_short=100)

// Parâmetros
length = input.int(20, title="Período do Desvio Padrão")
thresholdEntry = input.float(1.5, title="Limite de Entrada")
thresholdExit = input.float(0.5, title="Limite de Saída")
rsiLength = input.int(14, title="Período do RSI")
rsiOverbought = input.int(70, title="RSI Overbought")
rsiOversold = input.int(30, title="RSI Oversold")

// Cálculo do Desvio Padrão
price = close
stdDev = ta.stdev(price, length)

// Média Móvel Simples
sma = ta.sma(price, length)

// Limites baseados no Desvio Padrão
upperLimit = sma + thresholdEntry * stdDev
lowerLimit = sma - thresholdEntry * stdDev
exitUpperLimit = sma + thresholdExit * stdDev
exitLowerLimit = sma - thresholdExit * stdDev

// Cálculo do RSI
rsi = ta.rsi(price, rsiLength)

// Condições de Entrada com RSI
longCondition = ta.crossover(price, lowerLimit) and rsi < rsiOversold
shortCondition = ta.crossunder(price, upperLimit) and rsi > rsiOverbought

// Condições de Saída com RSI
exitLongCondition = ta.crossunder(price, exitLowerLimit) or rsi > rsiOverbought
exitShortCondition = ta.crossover(price, exitUpperLimit) or rsi < rsiOversold

// Plotar Linhas
plot(upperLimit, color=color.red, title="Limite Superior")
plot(lowerLimit, color=color.green, title="Limite Inferior")
plot(exitUpperLimit, color=color.orange, title="Limite de Saída Superior")
plot(exitLowerLimit, color=color.blue, title="Limite de Saída Inferior")
plot(sma, color=color.gray, title="SMA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

// Estratégia de Trade
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (exitLongCondition)
    strategy.close("Long")

if (exitShortCondition)
    strategy.close("Short")