Stratégie de l'indicateur RSI de la moyenne mobile saisonnière

Auteur:ChaoZhang est là., Date: 2023-10-27 16h04 et 21h
Les étiquettes:

img

Résumé

Cette stratégie combine la moyenne mobile et l'indice de force relative (RSI), deux indicateurs techniques, pour capturer les caractéristiques cycliques saisonnières et générer des signaux de trading.

La logique de la stratégie

La stratégie calcule d'abord la moyenne mobile d'une certaine période n pour capturer la direction de la tendance à moyen et long terme. Ensuite, elle calcule l'indicateur RSI de la moyenne mobile pour juger si elle est actuellement en état de surachat ou de survente.

Lorsque le RSI franchit la bande inférieure, un signal d'achat est généré, indiquant un état de survente, et une position longue peut être ouverte. Lorsque le RSI franchit la bande supérieure, un signal de vente est généré, indiquant un état de survente, et une position courte peut être ouverte.

Les avantages de la stratégie

  • Utiliser la moyenne mobile pour déterminer la tendance majeure et l'ISR pour juger des scénarios de surachat/survente, en combinant deux indicateurs pour améliorer la précision

  • La définition d'une fourchette mensuelle et d'une fourchette de dates permet d'identifier efficacement les tendances saisonnières et de saisir ces opportunités de négociation

  • Paramètres RSI flexibles pour ajuster la sensibilité dans la détermination des niveaux de surachat/survente

  • Paramètres de moyenne mobile personnalisables pour adapter la sensibilité au jugement des principales tendances

Risques et solutions

  • Le risque d'être induit en erreur par de mauvais signaux, par exemple des renversements de tendance déclenchés par des événements non saisonniers, peut générer des signaux de négociation inappropriés.

  • La solution consiste à raccourcir correctement la période de moyenne mobile pour capturer plus rapidement les virages de tendance.

  • L'intervalle mensuel et les dates prédéfinis peuvent s'écarter des tendances saisonnières réelles.

  • Les signaux de trading peuvent rencontrer de fausses ruptures.

Directions d'optimisation

  • Mettre en place d'autres indicateurs auxiliaires, par exemple l'oscillateur stochastique, afin d'établir des conditions de filtrage plus strictes et de réduire les signaux erronés.

  • Tester plus de combinaisons de paramètres pour trouver les paramètres optimaux et améliorer les performances de la stratégie, par exemple ajuster la période de moyenne mobile, les bandes RSI, etc.

  • Utiliser des méthodes d'optimisation des paramètres pour rechercher automatiquement dans l'espace des paramètres des ensembles de paramètres optimaux.

  • Collectez plus de données historiques et utilisez l'apprentissage automatique pour former et optimiser les règles de stratégie.

  • Envisagez d'ajouter des stratégies stop loss/take profit pour optimiser la gestion de l'argent.

Résumé

Cette stratégie combine la moyenne mobile et le RSI, avec l'ajout de jugements saisonniers, pour former un système relativement complet d'identification de tendance et de surachat / survente. L'avantage réside dans sa capacité à reconnaître clairement les modèles saisonniers et à capitaliser sur de telles opportunités de trading. Il existe certains risques d'être induit en erreur, mais des optimisations peuvent être effectuées via l'ajustement des paramètres, l'introduction d'indicateurs auxiliaires, l'apprentissage automatique, etc. pour améliorer les performances de la stratégie.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = " RSI of MA Strategy ",shorttitle="MARSI Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=1)



lengthofma = input(15,minval=1,title="Length of MA")
len = input(14, minval=1, title="Length")
upperband = input(70,minval=1,title='Upper Band for RSI')
lowerband = input(30,minval=1,title="Lower Band for RSI")

src=sma(close,lengthofma)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)

band1 = hline(upperband)
band0 = hline(lowerband)
fill(band1, band0, color=purple, transp=90)



longCond =  crossover(rsi,lowerband)

shortCond =  crossunder(rsi,upperband)




monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)

if (  longCond ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")





Plus de