Stratégie multi-périodes avec plage réelle moyenne inverse de Fisher RSI


Date de création: 2023-11-21 14:45:28 Dernière modification: 2023-11-21 14:45:28
Copier: 1 Nombre de clics: 758
1
Suivre
1617
Abonnés

Stratégie multi-périodes avec plage réelle moyenne inverse de Fisher RSI

Aperçu

Une stratégie de trading quantitative qui tente de découvrir les points de retournement possibles du marché en calculant des moyennes mobiles de l’indicateur RSI ajustées à l’envers sur des périodes de temps plus élevées.

Principe de stratégie

La stratégie commence par calculer l’indicateur RSI en général, dont le paramètre est RSI_pm représente la longueur de cycle calculée pour le RSI. Il est ensuite ajusté à l’envers sur le RSI original par une fonction mathématique IF, calculée selon la formule IF(input) =>(exp(2*input)-1)/(exp(2*input) + 1) ◦ Le RSI ajusté est transmis à la variable IF_RSI。

Pour filtrer l’excès de bruit, la stratégie est de_Le RSI est calculé en fonction du RSI._ps moyenne mobile cyclique, obtenue par l’indicateur final utilisé pour déterminer les points d’achat et de vente wma_Le RSI. L’indicateur est ensuite replié sur une plage de 0-100

Enfin, la stratégie trace l’indicateur sur une période plus élevée et définit des seuils de 0.8 et -0.8. Un signal de vente est généré lorsque l’indicateur dépasse le niveau de 0.8 de bas en haut et un signal de vente lorsque l’indicateur dépasse le niveau de -0.8 de haut en bas.

Avantages stratégiques

La stratégie traite les mouvements du RSI par un double-assouplissement, ce qui permet de filtrer efficacement l’excès de bruit et de bloquer un signal de revers plus clair. Le double-assouplissement s’applique respectivement à l’indicateur RSI initial et à l’indicateur RSI après ajustement de la valeur absolue. Cette méthode peut améliorer la propriété de la régression moyenne de l’indicateur et produire un signal de négociation plus fiable.

En outre, la stratégie utilise une méthode d’analyse multi-châtres pour identifier les ruptures d’indicateurs sur une période de temps plus élevée, permettant de bloquer les occasions de reprise sur les lignes longues et d’éviter d’être dérangé par trop de bruit de marché à court terme.

Risque stratégique

Cette stratégie repose sur un indicateur de la ligne de parité pour déterminer les points de vente et de vente, avec un certain retard. Dans un marché haussier à long terme, l’espace pour la hausse après l’ajustement de l’indicateur peut être limité et l’opportunité de tendance ne peut pas être pleinement saisie.

D’autre part, l’ajustement de l’indicateur peut également manquer une occasion de rebond après un ajustement de la courte ligne. Si les paramètres de l’indicateur ne sont pas correctement optimisés, il peut y avoir un certain risque stratégique.

Optimisation de la stratégie

Il est possible d’essayer d’ajuster les paramètres de l’indicateur de manière appropriée pour mieux s’adapter à l’environnement du marché. Par exemple, il est possible de tester différents cycles de calcul du RSI, de lisser les paramètres de cycle et de rechercher la combinaison optimale de paramètres.

On peut également envisager de vérifier le signal en le combinant avec d’autres indicateurs auxiliaires pour améliorer la stabilité de la stratégie. Par exemple, on peut ajouter des indicateurs de volume de transaction, des lignes de Brin et autres pour juger de la force du signal de tendance.

Résumer

L’inverse de la moyenne de Fisher RSI sur une plage réelle de plusieurs périodes est une stratégie solide dans l’ensemble, mais doit encore être optimisée pour s’adapter à des conditions de marché plus larges. Il mérite d’être testé et amélioré pour devenir une stratégie de trading quantitative fiable.

Code source de la stratégie
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Inverse Fisher RSI-MTF2", shorttitle="INRSIM2",overlay=true)
//Inputs
RSI_pm = input(5, title="RSI Main Period",minval=2)
RSI_ps = input(1, title="RSI Smooth Period",minval=0)

//Functions
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)

//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)*100
IF_RSI = IF(wma_RSI)

resCustom = input(title="Timeframe", defval="1440" )
v=request.security(syminfo.tickerid, resCustom,IF_RSI)
a=v>0.8
b=v<-0.8

z=0.8
buy = crossover(v,z)
sell=crossunder(v,b)
 
plotshape(sell, title="sell", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)
plotshape(buy,  title="buy", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small)


//Strategy
golong =  crossover(v,z)
goshort =  crossunder(v,b)

strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)