
Artikel ini membahas strategi perdagangan kuantitatif multihead yang didasarkan pada indeks yang relatif kuat (RSI) dengan stop loss. Strategi ini menggunakan indikator RSI untuk menilai kondisi pasar oversold dan oversold, membuka posisi multihead saat oversold, dan posisi terendah saat oversold. Strategi ini juga menggunakan persentase stop loss untuk mengendalikan risiko.
Inti dari strategi ini adalah indeks kekuatan relatif (RSI). RSI adalah indikator oscillasi dinamis yang digunakan untuk mengukur besarnya perubahan harga dalam jangka waktu tertentu.
RS = N天内上涨幅度的平均值 / N天内下跌幅度的平均值
RSI = 100 - 100 / (1 + RS)
Di antaranya, N adalah periode waktu untuk menghitung RSI, biasanya diambil 14.
Logika dari strategi ini adalah sebagai berikut:
Strategi ini mencoba untuk membuka posisi di awal bursa dan menutup posisi di akhir bursa untuk menangkap tren naik utama.
Artikel ini membahas strategi perdagangan kuantitatif multihead yang didasarkan pada RSI dan stop loss. Strategi ini menggunakan sinyal RSI oversell overbuy untuk membuka posisi, sekaligus menggunakan risiko kontrol stop loss persentase. Ini adalah strategi pelacakan tren yang sederhana dan praktis, cocok untuk pemula. Namun, ada beberapa keterbatasan, seperti kinerja pasar yang tidak stabil, stop loss dan manajemen posisi yang kurang fleksibel, dll.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)
// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)
// *** Risk management ***
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price
// *** Positions ***
if enter_long and strategy.position_size == 0
strategy.entry("Long", strategy.long)
strategy.exit("SL Long", "Long", stop = stop_loss_price_long)
if enter_short and strategy.position_size == 0
strategy.entry("Short", strategy.short, qty=.001)
strategy.exit("SL short", "Short", stop = stop_loss_price_short)
if close_long
strategy.close("Long", "Exit Long")
if close_short
strategy.close("Short", "Exit Short")