Strategi perdagangan kuantitatif yang menggabungkan crossover rata-rata pergerakan ganda dan indikator RSI


Tanggal Pembuatan: 2023-11-21 12:09:50 Akhirnya memodifikasi: 2023-11-21 12:09:50
menyalin: 0 Jumlah klik: 669
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif yang menggabungkan crossover rata-rata pergerakan ganda dan indikator RSI

Ringkasan

Strategi ini bertujuan untuk menggunakan persimpangan garis rata untuk menentukan arah tren, sementara menggunakan indikator RSI untuk menghindari oversold di bagian atas pasar dan oversold di bagian bawah pasar, sehingga mendapatkan keuntungan yang lebih baik.

Prinsip Strategi

Ketika kecepatan 9 siklus rata-rata garis melewati kecepatan 50 siklus rata-rata garis, menunjukkan tren jangka pendek naik diletakkan di atas tren jangka panjang naik, termasuk sinyal multi-kepala khas. Sementara itu, jika RSI lebih besar dari periode sebelumnya 5 poin dan kurang dari 70, menunjukkan berada di daerah sebelum overbought, ini adalah waktu yang lebih baik untuk melakukan lebih banyak.

Ketika kecepatan 9 siklus rata-rata di bawah melewati kecepatan 50 siklus rata-rata, berarti berada di pasar kosong, perlu posisi kosong.

Analisis Keunggulan

  • Menggunakan dua garis sejajar untuk mengevaluasi tren, dan menghindari tertipu oleh terobosan palsu
  • Indeks RSI menghindari kesalahan keputusan di titik balik pasar
  • Fleksibel untuk menyesuaikan siklus rata-rata untuk varietas dan dimensi waktu yang berbeda
  • Strategi Stop Loss yang Dapat Dikendalikan

Analisis risiko

  • Pengambilan keputusan di persimpangan rata-rata kadang-kadang tidak efektif dan dapat menyebabkan kerugian.
  • Setting parameter RSI yang tidak tepat dapat menyebabkan kehilangan waktu terbaik untuk masuk
  • Perhatikan apakah volume transaksi dapat mendukung harga.
  • Keadaan tidak rasional yang disebabkan oleh insiden mendadak membutuhkan intervensi manual.

Arah optimasi

  • Optimalkan parameter RSI untuk hasil terbaik
  • Menghindari sinyal palsu dengan indikator volume transaksi
  • Parameter rata-rata terbaik berdasarkan varietas dan dimensi waktu yang berbeda
  • Memperkecil Stop Loss yang Tepat untuk Menghindari Penetapan

Meringkaskan

Strategi ini dapat memanfaatkan tren garis tengah dan panjang secara efektif untuk mendapatkan keuntungan yang stabil dengan menentukan arah dan menghindari RSI yang tinggi dan rendah melalui penilaian dua garis tengah. Namun, Anda juga perlu waspada terhadap keterlambatan sinyal garis tengah dan penyesuaian parameter RSI, sambil memperhatikan hubungan antara harga dan volume transaksi. Dengan pengujian dan pengoptimalan terus menerus, strategi ini diharapkan untuk mendapatkan hasil yang lebih baik.

Kode Sumber Strategi
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © joshuajcoop01

//@version=5
strategy("Bitpanda Coinrule Template",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)