Cette stratégie est une stratégie de multi-frame non-redéfinition du RSI qui ne fait que survendre sur les deux plus hautes périodes. J’ai écrit sur la ligne de 1 minute de BTC/USD, mais la logique peut être appliquée à d’autres actifs.
La superposition de l’angle indique que les conditions d’entrée et de sortie sont réparties sur différentes périodes. Habituellement, l’indicateur peut devenir non rentable, car dans une tendance baissière, la zone de survente de la période actuelle n’est pas touchée, mais la zone de survente d’une période plus élevée est touchée, puis un retournement se produit. La stratégie de superposition de l’angle atténue ce problème en utilisant l’angle, c’est-à-dire en vendant lorsque la période plus rapide est dépassée et en achetant lorsque la période plus lente est dépassée.
Par conséquent, cette stratégie est diagonale. Je pourrais créer un script séparé qui bascule entre le diagonal vers le haut et le diagonal vers le bas en fonction de la tendance générale, car l’indicateur ne s’allume pas souvent pendant une tendance à la hausse prolongée.
Cette stratégie est une stratégie de trading de tendance à la baisse très efficace dans l’ensemble. Utilisant des indices RSI multi-châtres et une entrée en couche de contre-angle, il est possible de capturer des opportunités de rebond pendant la phase de baisse.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-06-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin
//@version=5
strategy("MTF Layered RSI - Bitcoin Bot [wbburgin]",overlay=false, pyramiding = 20, initial_capital=10000)
length = input.int(7,"RSI Length")
tf2 = input.timeframe("3",title="HT 1")
tf3 = input.timeframe("5",title="HT 2")
ob = input.int(80,"Overbought Level")
os = input.int(20,"Oversold Level")
rsi = ta.rsi(close,length)
rsi2 = request.security(syminfo.tickerid, tf2, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
rsi3 = request.security(syminfo.tickerid, tf3, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
plot(rsi,color=color.yellow,title="RSI Current TF")
plot(rsi2,color=color.new(color.yellow,50),title="RSI HT1")
plot(rsi3,color=color.new(color.yellow,75),title="RSI HT2")
lm=hline(os,title="Oversold")
hm=hline(ob,title="Overbought")
fill(hm,lm,color=color.new(color.blue,95))
htCross = (ta.crossover(rsi2,os) and rsi3>os and rsi>os) or (ta.crossover(rsi3,os) and rsi2>os and rsi>os)
buySig = (ta.crossover(rsi,os) and rsi2 < os and rsi3 < os) or htCross
sellSig = ta.crossunder(rsi,ob)
if buySig
strategy.entry("Long",strategy.long)
if sellSig
strategy.close("Long")
plotshape(buySig,title="Buysig",style=shape.triangleup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(sellSig,title="Sellsig",style=shape.triangledown,location=location.top,color=color.red,size=size.tiny)