Strategi pembalikan berdasarkan RSI cepat dan warna kandil


Tanggal Pembuatan: 2023-09-13 17:24:54 Akhirnya memodifikasi: 2023-09-13 17:24:54
menyalin: 0 Jumlah klik: 693
1
fokus pada
1617
Pengikut

Strategi ini disebut dengan strategi berbalik berdasarkan RSI cepat dan warna garis K. Strategi ini menggunakan RSI cepat untuk menilai overbought dan oversold dengan warna garis K untuk menentukan arah tren dan melakukan perdagangan berbalik ketika keduanya mengirimkan sinyal bersama.

Pengaturan parameter indikator RSI cepat lebih kecil, yang dapat lebih cepat menangkap fenomena overbought dan oversold. Ketika RSI cepat di bawah 30 mewakili oversold, di atas 70 mewakili oversold.

Garis K berwarna putih menunjukkan harga ditutup di dekat harga buka, hijau menunjukkan harga naik, dan merah menunjukkan harga turun.

Logika transaksi adalah sebagai berikut:

Ketika RSI cepat menunjukkan oversold, dan 4 garis K merah muncul berturut-turut, anggap itu sebagai sinyal pembalikan yang kuat, dan lakukan lebih banyak.

Ketika RSI cepat menunjukkan overbought, dan 4 garis K hijau muncul berturut-turut, anggap sebagai sinyal reversal yang kuat, dan lakukan shorting;

Jika saat ini memegang posisi multihead, muncul 1 garis K hijau maka posisi kosong; Jika saat ini memegang posisi kosong, muncul 1 garis K merah maka posisi kosong.

Keuntungan dari strategi ini adalah bahwa portofolio indikator menilai sinyal reversal secara akurat dan dapat diandalkan. Namun, karena investasi yang lebih besar, manajemen dana yang ketat diperlukan. Strategi stop loss juga diperlukan.

Secara keseluruhan, perdagangan reversal bergantung pada indikator untuk menentukan waktu yang tepat. Penggunaan indikator seperti RSI yang masuk akal dan dilengkapi dengan informasi K-line dapat meningkatkan efektivitas strategi. Namun, tidak ada strategi tunggal yang sempurna, dan pedagang masih perlu mempertahankan fleksibilitas pemikiran perdagangan.

||

This strategy is named “Reversal Strategy Based on Fast RSI and Candlestick Colors”. It uses the fast RSI to judge overbought/oversold levels and candlestick colors to determine trend direction, entering reversal trades when both give concurring signals.

The fast RSI has smaller parameters and can more quickly detect price overbought/oversold conditions. RSI below 30 suggests oversold state, while above 70 is overbought.

Candlestick colors show white prices closing near open, green represents rising and red flags falling prices.

The trading logic is:

When fast RSI shows oversold and 4 consecutive red candles appear, it is considered a strong reversal signal for going long.

When fast RSI overbought and 4 straight green candles appear, it signals a strong reversal opportunity for going short.

If already holding long positions, exit when 1 green candle appears. If holding short positions, exit when 1 red candle appears.

The advantage of this strategy is using indicator combos to accurately determine reversal signals. But strict money management is required due to heavy position sizing. Stop loss is also essential.

In summary, reversal trading relies on indicators precisely identifying timing. Reasonable application of RSI plus candlestick information can improve strategy performance. But no single strategy is perfect. Traders still need to maintain flexible trading mindset.

Kode Sumber Strategi
/*backtest
start: 2022-09-06 00:00:00
end: 2023-01-20 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Hundred Strategy v1.0", shorttitle = "Hundred str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
lev = input(5, defval = 5, minval = 1, maxval = 100, title = "leverage")
onlyprofit = input(true, defval = true, title = "Only Profit")
fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
cbars = input(4, defval = 4, minval = 1, maxval = 20, title = "Color Bars")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), fast)
fastdown = rma(-min(change(rsisrc), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
upsignal = fastrsi > uplimit ? 1 : 0
dnsignal = fastrsi < dnlimit ? 1 : 0
uprsi = sma(upsignal, rsibars) == 1
dnrsi = sma(dnsignal, rsibars) == 1

//Signals
long = strategy.position_size >= 0
short = strategy.position_size <= 0
up = sma(bar, cbars) == -1 and long and dnrsi
dn = sma(bar, cbars) == 1 and short and uprsi
profit = (strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price) or onlyprofit == false
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and profit
lot = strategy.position_size == 0 ? strategy.equity / close * lev : lot[1]

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()