Stochastic RSI dengan Auto Buy Scalper Strategy

Penulis:ChaoZhang, Tanggal: 2023-10-31 11:34:47
Tag:

img

Gambaran umum

Strategi ini bertujuan untuk menerapkan strategi perdagangan scalper koin auto buy-in and hold berdasarkan indikator teknis Stochastic RSI dan EMA. Ini dirancang untuk lilin 5 menit, dioptimalkan untuk BTC. Tujuannya adalah untuk menahan koin sebanyak mungkin selama downtrends sampingan atau tidak signifikan.

Logika Strategi

Strategi ini menggunakan indikator RSI untuk menentukan tingkat overbought dan oversold, dikombinasikan dengan hubungan antara nilai K dan D dari Stochastic RSI untuk menghasilkan sinyal beli dan jual.

Ini akan memicu sinyal beli ketika garis Stochastic RSI K berada di bawah 20, dianggap oversold, dan K berada di atas D. Setelah itu, akan menentukan apakah akan menjual berdasarkan tiga kondisi: 1) harga naik lebih dari 1% diikuti oleh pembalikan EMA; 2) garis Stochastic RSI K di bawah D; 3) harga stop loss mencapai 98,5% dari harga masuk.

Selain itu, penurunan EMA jangka pendek setelah tren naik juga akan dianggap sebagai sinyal jual.

Keuntungan

  • Menggunakan RSI Stochastic untuk waktu masuk lebih dapat diandalkan, menyaring breakout palsu secara efektif.
  • Mengintegrasikan EMA dapat lebih baik mendeteksi waktu perubahan tren.
  • Menerapkan stop loss membantu mengendalikan kerugian secara efektif.
  • Memegang koin sebanyak mungkin mengurangi frekuensi perdagangan dan biaya.

Risiko

  • Potensi sinyal palsu dari indikator RSI. fine tuning parameter RSI dapat membantu mengoptimalkan.
  • Mengatur persentase stop loss yang tepat.
  • Pengaturan parameter EMA yang tidak benar dapat melewatkan waktu perubahan tren.

Arahan Optimasi

  • Uji kombinasi yang berbeda dari parameter RSI dan Stochastic RSI untuk pengaturan yang optimal.
  • Cobalah persentase stop loss yang berbeda untuk menyeimbangkan pencegahan kerugian dan penarikan.
  • Uji kombinasi EMA panjang dan pendek untuk menentukan parameter terbaik untuk menangkap perubahan tren.
  • Pertimbangkan untuk menambahkan indikator lain untuk meningkatkan akurasi waktu masuk dan keluar.

Ringkasan

Strategi ini mengintegrasikan kekuatan dari Stochastic RSI, EMA dan indikator lainnya, menggunakan metode yang relatif kuat untuk menentukan waktu masuk dan keluar. Perbaikan lebih lanjut pada profitabilitas dan stabilitas dapat dicapai melalui optimasi parameter dan manajemen risiko. Secara keseluruhan logika strategi yang sehat dan layak diverifikasi dan dioptimalkan dalam perdagangan langsung.


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

//@version=5
strategy(title="Stochastic RSI W Auto Buy Scalper Scirpt III ", shorttitle="Stoch RSI_III", format=format.price, precision=2)
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(3, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
plot(k, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(80, "Upper Band", color=#787B86)
hline(50, "Middle Band", color=color.new(#787B86, 50))
h1 = hline(20, "Lower Band", color=#787B86)

longStopLoss  = strategy.opentrades.entry_price(0)* (.985)

stochDropping = ta.falling(k,2)
shortSma = ta.sma(hlc3,12)
shorterSma = ta.sma(hlc3,3)
plot(shortSma[3])

shortSmaFlip = (ta.change(shortSma,3)>0) and ta.falling(hlc3,1)
shorterSmaFlip = (ta.change(shorterSma,2)>0) and ta.falling(hlc3,1)
messageSellText ='"type": "sell", "symbol": "BTCUSD", "marketPosition": "{{strategy.market_position}}"'

messageBuyText ='"type": "buy", "symbol": "BTCUSD", "marketPosition": {{strategy.market_position}}"'

fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

strategy.entry("Tech", strategy.long, when=(strategy.position_size <= 0 and k<17 and k>d),alert_message=messageBuyText)
//original: strategy.close("TL", when=(strategy.position_size >= 0 and (k>90 and k<d)))

takeProfit = hlc3 > strategy.opentrades.entry_price(0)*1.01
//longStopLoss  = strategy.opentrades.entry_price(0)* (.995)

strategy.close("Tech", when=(strategy.position_size >= 0 and (k>90 and k<d and stochDropping)) or close<longStopLoss, comment="rsi or Stop sell",alert_message=messageSellText)
//strategy.close("Tech", when=(strategy.position_size >= 0 and close<longStopLoss), comment="stopLoss sell",alert_message=messageSellText)

strategy.close("Tech", when=(shortSmaFlip and k>20 and takeProfit),comment="Sma after profit",alert_message=messageSellText)



Lebih banyak