RSI Stratégie de tendance croissante des crypto-monnaies

Auteur:ChaoZhang est là., Date: 2023-10-17 17h08 et 31 min
Les étiquettes:

img

Résumé

Le RSI Rising Crypto Trending Strategy est une stratégie de trading de tendance conçue pour des délais plus longs (4h+) sur les marchés des crypto et des actions.

Il utilise le RSI pour identifier les tendances à la hausse et à la baisse combinées avec les bandes de Bollinger et le ROC pour éviter de négocier sur les marchés latéraux.

La logique de la stratégie

La stratégie utilise les indicateurs suivants:

  • RSI - Identifier les tendances à la hausse/à la baisse
  • Bollinger Bands - Pour identifier les marchés latéraux
  • ROC - Pour confirmer la tendance

Les règles de négociation spécifiques sont les suivantes:

Règles d'entrée

Entrée longue: Indice de volatilité en hausse ET pas de marché latéral par BB et ROC Entrée courte: RSI en baisse ET pas de marché latéral par BB et ROC

Règles de sortie

Sortie lorsque le signal opposé est déclenché

Analyse des avantages

  • Capture des points tournants de tendance à un stade précoce à l'aide de l'indicateur RSI
  • Évite de se retrouver pris au piège dans les marchés latéraux en utilisant BB
  • ROC confirme la direction de la tendance pour des signaux plus solides
  • Bon pour les transactions à plus long terme et pour détecter les tendances
  • Pour éviter l'exposition au fiat, il est préférable que les paires crypto/crypto

Analyse des risques

  • Pas de stop loss, donc un risque élevé de pertes importantes
  • Des paramètres BB et ROC médiocres pourraient entraîner des transactions manquées ou de mauvais signaux
  • C' est purement technique, donc il manque les grands événements du cygne noir.

Augmenter le stop loss, optimiser les paramètres BB/ROC et intégrer l'analyse fondamentale.

Des possibilités d'amélioration

Certaines façons d'améliorer cette stratégie:

  1. Ajouter un stop loss pour la gestion des risques et définir une perte maximale par transaction.

  2. Optimiser les paramètres BB et ROC par backtesting pour trouver les meilleurs paramètres.

  3. Incorporer des indicateurs supplémentaires tels que MACD, KD pour une fiabilité du signal multi-indicateur.

  4. Construire un modèle de liquidité pour mettre en pause les transactions pendant les pics de volatilité afin d'éviter les pièges.

  5. Utilisez l'apprentissage automatique pour optimiser automatiquement les paramètres et la pondération du signal.

  6. Incorporer des données sur la chaîne telles que la liquidité de change et les flux de fonds pour une plus grande adaptabilité.

Résumé

Le RSI Rising Crypto Trend Strategy capture les tendances de crypto à plus long terme en utilisant le RSI plus BB et ROC. L'avantage est de capturer rapidement les renversements de tendance et d'éviter les pièges. Les faiblesses sont l'absence de stop loss et la dépendance des paramètres. Des améliorations telles que le stop loss, l'optimisation, l'apprentissage automatique peuvent le rendre plus robuste.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 2h
basePeriod: 15m
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/
// © exlux99

//@version=4
strategy(title = "RSI Rising", overlay = true, initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

/////////////////////
source          = close
bb_length       = 20
bb_mult         = 1.0
basis           = sma(source, bb_length)
dev             = bb_mult * stdev(source, bb_length)
upperx           = basis + dev
lowerx           = basis - dev
bbr             = (source - lowerx)/(upperx - lowerx)
bbr_len         = 21
bbr_std         = stdev(bbr, bbr_len)
bbr_std_thresh  = 0.1
is_sideways     = (bbr > 0.0 and bbr < 1.0) and bbr_std <= bbr_std_thresh


////////////////
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


sourcex = close
length = 2
pcntChange = 1

roc = 100 * (sourcex - sourcex[length])/sourcex[length]
emaroc = ema(roc, length/2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))


periods = input(19)
smooth = input(14, title="RSI Length" )
src = input(low, title="Source" )


rsiClose = rsi(ema(src, periods), smooth)
long=rising(rsiClose,2) and not is_sideways and isMoving()
short=not rising(rsiClose,2) and not is_sideways and isMoving()


if(time_cond)
    strategy.entry('long',1,when=long)
    strategy.entry('short',0,when=short)


Plus de