Dual Moving Average Crossover Dikombinasikan dengan Indikator RSI Strategi Perdagangan Kuantitatif

Penulis:ChaoZhang, Tanggal: 2023-11-21 12:09:50
Tag:

img

Gambaran umum

Strategi ini menggabungkan crossover rata-rata bergerak ganda dan indikator RSI untuk mengidentifikasi arah tren dan situasi overbought / oversold. Ini pergi panjang ketika kondisi pembelian terpenuhi dan menutup posisi ketika kondisi penjualan dipicu. Tujuannya adalah untuk menggunakan crossover rata-rata bergerak untuk menentukan arah tren sambil menggunakan indikator RSI untuk menghindari membeli secara salah di puncak dan menjual di bawah, sehingga menghasilkan keuntungan yang lebih baik.

Logika Strategi

Ketika rata-rata bergerak cepat 9 periode melintasi di atas rata-rata bergerak 50-periode yang lambat, itu menandakan tren naik dalam jangka waktu yang lebih pendek yang tumpang tindih dengan tren naik dalam jangka waktu yang lebih lama, yang merupakan sinyal bullish yang khas. Sementara itu, jika RSI lebih besar dari periode sebelumnya sebesar 5 poin dan kurang dari 70, itu berarti aset mendekati tetapi belum di wilayah overbought, menjadikannya waktu yang baik untuk pergi panjang.

Ketika rata-rata bergerak cepat 9 periode melintasi di bawah rata-rata bergerak lambat 50 periode, itu menandakan awal pasar menurun dan posisi panjang yang ada harus ditutup.

Analisis Keuntungan

  • Rata-rata bergerak ganda membantu menentukan arah pasar secara keseluruhan dan menghindari pecah palsu
  • Indikator RSI mencegah gerakan yang salah pada titik balik
  • Fleksibilitas dalam menyesuaikan periode rata-rata bergerak agar sesuai dengan simbol dan kerangka waktu yang berbeda
  • Strategi stop loss yang dapat dikontrol

Analisis Risiko

  • Sinyal crossover mungkin terlambat dan menyebabkan beberapa kerugian
  • Pengaturan parameter RSI yang tidak benar dapat melewatkan waktu masuk terbaik
  • Perlu menonton volume perdagangan untuk melihat apakah mendukung pergerakan harga
  • Acara angsa hitam membutuhkan intervensi manual

Arahan Optimasi

  • Optimalkan parameter RSI untuk hasil terbaik
  • Masukkan volume perdagangan untuk menghindari sinyal palsu
  • Uji periode rata-rata bergerak optimal berdasarkan simbol dan kerangka waktu
  • Loloskan stop loss untuk menghindari berhenti lebih awal

Ringkasan

Strategi ini menggunakan crossover rata-rata bergerak ganda untuk menentukan arah dan RSI untuk menghindari mengejar atas dan bawah. Ini dapat secara efektif menunggang tren jangka menengah hingga panjang untuk keuntungan yang stabil. Tetapi sifat tertinggal dari sinyal crossover dan penyetelan parameter RSI harus diperhatikan. Juga perlu berkorelasi harga dengan volume. Dengan pengujian dan optimalisasi terus-menerus, strategi ini menunjukkan janji untuk hasil yang lebih baik.


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





Lebih banyak