
Strategi ini menentukan waktu yang tepat untuk membeli Bitcoin dengan mencari kebalikan dari RSI untuk melihat kapan harga Bitcoin mungkin akan bangkit dalam jangka pendek.
Menggunakan indikator RSI untuk menentukan apakah ada multiple deviation
Menentukan apakah RSI berada di bawah batas
Penjelasan apakah harga penutupan berada di bawah titik terendah awal
Definisi kondisi penarikan diri
Menentukan kondisi pengunduran diri
Menggunakan indikator RSI untuk menilai deviasi multihead, dapat secara efektif menangkap waktu rebound harga jangka pendek
Dengan menggunakan penilaian RSI low, Anda dapat menentukan titik beli yang tepat sebelum bouncing
Menetapkan kondisi stop loss dan stop loss untuk mengelola risiko dan keuntungan trading
Strategi ini mengacu pada karakteristik indikator RSI dalam banyak perdagangan bitcoin yang sangat cocok untuk shorting bitcoin.
Pengaturan parameter strategi yang masuk akal, dapat beradaptasi dengan situasi pasar yang berbeda, yang menguntungkan untuk aplikasi di tempat kerja
Ada kemungkinan bahwa indikator RSI akan gagal, dan jika salah, akan menyebabkan kerugian perdagangan.
Indikator teknis tunggal mudah menimbulkan sinyal palsu dan harus digunakan dalam kombinasi dengan indikator lainnya
Anda perlu memilih nilai parameter yang tepat, jika tidak diatur dengan benar, itu akan mempengaruhi tingkat pengembalian strategi
Untuk melakukan perdagangan multi arah, Anda perlu memperhatikan tren skala besar dan menghindari countertrend.
Perhatikan biaya transaksi, terlalu sering transaksi akan mempengaruhi pendapatan akhir
Parameter optimasi harus diperiksa kembali secara berkala dan strategi harus disesuaikan dengan pasar yang berbeda.
Penambahan indikator lain seperti Moving Average dapat dipertimbangkan untuk mengatur kondisi penyaringan dan mengurangi sinyal palsu.
Anda dapat menguji pengaturan parameter dari periode yang berbeda untuk menemukan kombinasi parameter yang optimal
Anda dapat mengkombinasikan penilaian tren tingkat yang lebih besar untuk menghindari melakukan lebih banyak ketika tren berbalik
Anda dapat mengatur stop loss yang dinamis, yang secara bertahap meningkatkan stop loss ketika keuntungan mencapai tingkat tertentu
Anda dapat mengatur stop loss yang berbeda tergantung pada situasi yang Anda miliki.
Teknologi seperti pembelajaran mesin dapat diperkenalkan untuk mengoptimalkan parameter otomatis
Strategi ini digunakan untuk menentukan kapan tepat untuk membeli Bitcoin dengan menangkap beberapa indikator RSI yang menyimpang dan menilai kemungkinan kenaikan rebound Bitcoin dalam waktu singkat. Strategi ini sederhana dan efektif, berdasarkan banyak pengalaman di pasar nyata, sangat cocok untuk melakukan lebih banyak shorting Bitcoin. Namun, indikator teknis tunggal mudah menghasilkan sinyal palsu, perlu digunakan dalam kombinasi dengan indikator lain, sambil memperhatikan optimasi parameter, pengaturan stop loss, dan biaya perdagangan.
/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)
max_range = 50
min_range = 5
///pivot_left = 25
pivot_right = 5
//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")
//RSI Function/ value
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100
pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true
//create a function that returns truee/false
confirm_range(x) =>
bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5)
// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1])
// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)
bullCond = price_ll_check and RSI_HL_check and pivot_low_true
//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right)) ? false : true
// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65
// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)
bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin
plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))
plotshape(bullCond ? rsi_value : na , text = "BUY", style = shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )
plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))
plotshape(bearCond ? rsi_value : na , text = "Sell", style = shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)
//Entry Condition
longCondition = false
//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
strategy.entry("Long", strategy.long)
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
strategy.close("Long")