Strategi Perdagangan Saham Piramida Berbasis Indikator RSI

Penulis:ChaoZhangTanggal: 2024-01-30 15:26:49
Tag:

img

Gambaran umum

Artikel ini terutama memperkenalkan strategi perdagangan saham piramida yang dirancang berdasarkan indikator Relative Strength Index (RSI). Strategi ini menggunakan indikator RSI untuk menentukan area overbought dan oversold saham dan menerapkan keuntungan melalui prinsip piramida.

Prinsip Strategi

  • Gunakan indikator RSI untuk menilai apakah saham telah memasuki area overbought atau oversold. RSI di bawah 25 adalah oversold, dan di atas 80 adalah overbought.
  • Ketika RSI memasuki area oversold, mulailah pergi long.
  • Mengadopsi metode piramida, dengan hingga 7 pembelian tambahan.

Analisis Keuntungan

  • Menggunakan indikator RSI untuk menentukan area overbought dan oversold dapat menangkap peluang pembalikan harga yang lebih besar.
  • Metode piramida dapat memperoleh pengembalian yang relatif lebih baik ketika pasar bergerak dengan benar.
  • Menetapkan mengambil keuntungan dan stop loss setelah setiap pembelian tambahan dapat mengendalikan risiko.

Analisis Risiko

  • Efek dari indikator RSI untuk menentukan area overbought dan oversold tidak stabil, dan sinyal yang salah dapat terjadi.
  • Jumlah pembelian tambahan harus ditetapkan secara wajar, terlalu banyak pembelian tambahan akan meningkatkan risiko.
  • Pengaturan titik stop loss perlu mempertimbangkan volatilitas, tidak dapat ditetapkan terlalu kecil.

Arahan Optimasi

  • Pertimbangkan untuk menggabungkan indikator lain untuk menyaring sinyal RSI dan meningkatkan akurasi menentukan status overbought dan oversold.
  • Dapat mengatur stop loss mengambang untuk melacak harga. menyesuaikan secara dinamis sesuai dengan volatilitas dan persyaratan kontrol risiko.
  • Pertimbangkan untuk menggunakan parameter adaptif berdasarkan kondisi pasar (pasar bull, pasar bear, dll.).

Ringkasan

Strategi ini menggabungkan indikator RSI dengan strategi piramida. Saat menilai status overbought dan oversold, ia dapat memperoleh lebih banyak pengembalian melalui pembelian tambahan. Meskipun akurasi penilaian RSI perlu ditingkatkan, melalui optimasi parameter yang wajar dan kombinasi dengan indikator lain, ia dapat membentuk strategi perdagangan yang efektif. Strategi ini memiliki beberapa universalitas dan merupakan metode perdagangan kuantitatif yang relatif sederhana dan langsung.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni

strategy(title='Simple RSI strategy', overlay=false)

SWperiod = 1
look = 0
OverBought = input(80, minval=50)
OverSold = input(25, maxval=50)

bandmx = hline(100)
bandmn = hline(0)

band1 = hline(OverBought)
band0 = hline(OverSold)
//band50 = hline(50, color=black, linewidth=1)
fill(band1, band0, color=color.purple, transp=98)


src = close
len = input(5, minval=1, title="RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

p = 100

//scale
hh = highest(high, p)
ll = lowest(low, p)
scale = hh - ll

//dynamic OHLC
dyno = (open - ll) / scale * 100
dynl = (low - ll) / scale * 100
dynh = (high - ll) / scale * 100
dync = (close - ll) / scale * 100

//candle color
color_1 = close > open ? 1 : 0

//drawcandle
hline(78.6)
hline(61.8)
hline(50)
hline(38.2)
hline(23.6)
plotcandle(dyno, dynh, dynl, dync, title="Candle", color=color_1 == 1 ? color.green : color.red)
plot(10, color=color.green)
plot(55, color=color.black)
plot(80, color=color.black)
plot(90, color=color.red)

long = rsi <= OverSold ? 5 : na

//Strategy
golong = rsi <= OverSold ? 5 : na

longsignal = golong  
//based on https://www.tradingview.com/script/7NNJ0sXB-Pyramiding-Entries-On-Early-Trends-by-Coinrule/
//set take profit

ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick

//set take profit

LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick


//Order Placing

strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)

strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)

strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)

strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)

strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)

strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal)

strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal)



if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)


Lebih banyak