Ide inti dari strategi ini adalah untuk menggabungkan indikator RSI dan moving average untuk menemukan peluang untuk pembalikan harga saham dan mencapai pembelian rendah dan penjualan tinggi. Ketika indikator RSI menunjukkan bahwa saham terlalu laris dan rata-rata bergerak jangka pendek melintasi di bawah harga, itu berfungsi sebagai sinyal beli. Setelah mengatur stop loss dan mengambil keuntungan, tunggu sampai harga berbalik ke atas.
Strategi ini terutama menggunakan indikator RSI untuk menilai kondisi oversold dan overbought, dan salib emas dan salib mati dari rata-rata bergerak untuk menentukan tren harga. Secara khusus, indikator RSI dapat secara efektif menilai apakah saham oversold atau overbought. Ketika RSI di bawah 30, itu berada dalam kisaran oversold. Dan ketika rata-rata bergerak jangka pendek (disetel menjadi 9 hari dalam strategi ini) melintasi di bawah harga, itu berarti harga jatuh.
Jadi ketika indikator RSI berada di bawah 40, mendekati keadaan oversold, dan rata-rata bergerak 9 hari melintasi di bawah harga, itu dapat dinilai sebagai waktu yang mungkin untuk harga saham untuk membalik, pergi panjang untuk membeli.
Strategi ini menggabungkan indikator RSI dan moving average, yang dapat secara efektif menentukan waktu pembelian. Dibandingkan dengan penilaian tunggal oversold, penilaian kondisi tambahan dari moving average menghindari fluktuasi di area oversold. Pengaturan stop loss dan take profit fleksibel dan dapat bervariasi dari orang ke orang.
Strategi ini bergantung pada pengaturan parameter seperti ambang penilaian RSI, jendela waktu rata-rata bergerak, dll. Parameter yang berbeda dapat menyebabkan hasil yang berbeda. Dan dalam kondisi pasar tertentu, stop loss masih mungkin.
Selain itu, biaya transaksi juga akan memiliki dampak tertentu pada keuntungan.
Pertimbangkan untuk menyesuaikan parameter rata-rata bergerak secara dinamis, memilih parameter yang berbeda untuk siklus yang berbeda; atau memperkenalkan indikator lain untuk menilai, seperti KDJ, MACD, dll, untuk membentuk penilaian yang komprehensif berdasarkan beberapa kondisi.
Hal ini juga mungkin untuk membangun volume perdagangan atau modul manajemen modal untuk mengontrol proporsi dana yang ditempati oleh perdagangan tunggal dan mengurangi dampak dari kerugian tunggal.
Secara umum, strategi ini menggunakan indikator RSI dan rata-rata bergerak untuk menentukan waktu beli dan dapat secara efektif menentukan pembalikan harga. Membeli di oversold dan mengunci keuntungan dengan stop loss dan mengambil keuntungan dapat menghasilkan hasil yang baik. Untuk optimasi di masa depan, perlu dipertimbangkan untuk memasukkan lebih banyak Indikator atau menambahkan modul perdagangan / manajemen dana tambahan untuk membuat strategi lebih kuat.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-24 23:59:59 period: 30m basePeriod: 15m 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/ // © Coinrule //@version=4 strategy(shorttitle='MARSI',title='Moving Average', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true //MA inputs and calculations inshort=input(9, title='MA short period') MAshort= sma(close, inshort) // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = MAshort<close and RSI<40 and window()) //Exit longLossPerc = input(title="Long Stop Loss (%)", type=input.float, minval=0.0, step=0.1, defval=1.5) * 0.01 longTakePerc = input(title="Long Take Profit (%)", type=input.float, minval=0.0, step=0.1, defval=3) * 0.01 longSL = strategy.position_avg_price * (1 - longLossPerc) longTP = strategy.position_avg_price * (1 + longTakePerc) if (strategy.position_size > 0 and window()) strategy.exit(id="TP/SL", stop=longSL, limit=longTP) bgcolor(color = showDate and window() ? color.gray : na, transp = 90) plot(MAshort, color=color.purple, linewidth=4)