Stratégie de retournement basée sur le RSI rapide et la couleur du chandelier


Date de création: 2023-09-13 17:24:54 Dernière modification: 2023-09-13 17:24:54
Copier: 0 Nombre de clics: 693
1
Suivre
1617
Abonnés

Cette stratégie est appelée stratégie de renversement basée sur le RSI rapide et la couleur de la ligne K. Elle utilise le RSI rapide pour déterminer la direction d’une tendance de survente et de survente avec la couleur de la ligne K. Elle effectue un renversement lorsque les deux émettent un signal commun.

Les paramètres de l’indicateur RSI rapide sont plus petits, ce qui permet de capturer plus rapidement le phénomène de survente des prix. Lorsque le RSI rapide est inférieur à 30, il représente une survente, et supérieur à 70, une survente.

La ligne K en blanc indique la clôture près du prix d’ouverture, la ligne verte indique une hausse et la ligne rouge une baisse.

La logique de la transaction est la suivante:

Lorsque le RSI rapide indique un oversold et que 4 lignes K rouges apparaissent en continu, considérez cela comme un signal de revers fort et faites plus.

Lorsque le RSI rapide indique un surachat et que 4 lignes K vertes apparaissent de manière consécutive, considérez cela comme un signal de revers fort et faites un short.

Si vous détenez actuellement des positions à plusieurs têtes, une ligne K verte apparaît et vous êtes à plat; si vous détenez actuellement des positions à tête vide, une ligne K rouge apparaît et vous êtes à plat.

L’avantage de cette stratégie est que la combinaison d’indicateurs permet de juger de la fiabilité des signaux de reprise. Cependant, une gestion rigoureuse des fonds est nécessaire en raison de l’importance des investissements.

Dans l’ensemble, le trading inverse repose sur des indicateurs pour déterminer le moment exact. L’application raisonnable d’indicateurs tels que le RSI, complétée par des informations sur la ligne K, peut améliorer l’efficacité de la stratégie.

||

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.

Code source de la stratégie
/*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()