
Cet article présente une stratégie de trading quantitative multi-points basée sur un indice relativement faible (RSI) et des arrêts. Cette stratégie utilise l’indicateur RSI pour juger de la survente et de la survente du marché, ouvrant des positions multi-points en cas de survente et des positions plates en cas de survente.
Le RSI est un indicateur dynamique d’oscillation utilisé pour mesurer l’ampleur de la variation des prix sur une période de temps. Sa formule de calcul est:
RS = N天内上涨幅度的平均值 / N天内下跌幅度的平均值
RSI = 100 - 100 / (1 + RS)
Parmi ceux-ci, N est la période de temps pour calculer le RSI, généralement 14 .
La logique de la stratégie est la suivante:
Cette stratégie vise à ouvrir des positions au début de la période de baisse et de hausse, puis à les liquider à la fin de la période de hausse, afin de capturer les principales tendances à la hausse.
L’article présente une stratégie de trading quantitative à plusieurs niveaux basée sur le RSI et la stop loss. Cette stratégie utilise le signal de survente et de survente du RSI pour ouvrir une position, tout en utilisant le risque de contrôle du pourcentage de stop loss. C’est une stratégie de suivi de tendance simple et pratique, adaptée aux débutants.
/*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")