Stratégie de tendance de la corrélation cryptographique de la moyenne mobile RSI

Auteur:ChaoZhang est là., Date: 2023-12-12 10:26:21 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de suivi de tendance à long terme de la crypto-monnaie qui combine la moyenne mobile, l'indice de force relative (RSI) et la corrélation du marché pour identifier les tendances des prix à moyen et long terme, établir des positions lorsque les tendances commencent, pyramider le long des tendances et réaliser des bénéfices lorsque des signaux d'inversion de tendance sont détectés.

La logique de la stratégie

La stratégie repose principalement sur trois indicateurs:

  1. Indice de force relative (RSI): pour identifier les conditions de surachat et de survente.

  2. moyenne mobile simple (SMA): SMA de 9 jours du prix de clôture pour déterminer la direction de la tendance.

  3. Corrélation du marché: utiliser la cryptocap totale comme référence pour calculer la corrélation avec l'instrument de négociation, en remplaçant les barres d'origine par des barres de corrélation pour améliorer la qualité du signal.

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

Entrée longue: lorsque le RSI dépasse 51 et que le prix de clôture est supérieur à la SMA à 9 jours.

Entrée courte: lorsque le RSI dépasse 49 et que le prix de clôture est inférieur à la SMA à 9 jours.

Prendre profit/arrêter la perte: 1%/0,1% pour les longs, 0,05%/0,03% pour les courts.

Il existe également une condition de temps limitant la période de négociation.

Analyse des avantages

  1. La combinaison d'indicateurs de tendance et de surachat/survente permet de suivre efficacement les tendances à moyen et long terme.

  2. La corrélation du marché améliore la qualité du signal, évitant de fausses tendances.

  3. Une prise de profit raisonnable et un arrêt de perte préviennent les pertes accrues.

  4. La période de négociation personnalisable s'adapte aux différentes conditions du marché.

Analyse des risques

  1. Inefficace sur les marchés volatiles à court terme.

  2. L'inversion de l'indice de référence peut entraîner des sorties retardées des instruments de négociation.

  3. Manque potentiellement d'opportunités d'inversion en faisant uniquement des longs/shorts.

Les solutions:

  1. Ajouter des indicateurs à court terme, par exemple KC, BOLL pour la détection du régime de marché et les arrêts.

  2. Améliorer l'analyse des indices de référence pour les sorties en temps opportun.

  3. Commercialiser des instruments à double face pour capturer les revers.

Directions d'optimisation

  1. Les paramètres de réglage du RSI, du SMA, du profit/stop loss sont basés sur les statistiques du marché.

  2. Évaluer plus de combinaisons de référence/de négociation avec une corrélation et une liquidité plus élevées.

  3. Combinez avec d'autres stratégies, en utilisant celle-ci pour les avoirs à moyen et long terme.

Conclusion

Il s'agit d'une stratégie de suivi de tendance de crypto-monnaie à moyen et long terme optimisée et largement adaptable. Elle combine efficacement l'analyse de tendance, de l'élan et de la corrélation pour améliorer les décisions commerciales.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 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/
// © exlux99

//@version=4
strategy(title = "Crypto swing correlation", overlay = true,  pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

//time
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

useCorrelation    = input(true, title="Use Correlation candles?")

symbol = input("BTC_USDT:swap", type=input.symbol)

haClose = useCorrelation ? security(symbol, timeframe.period, close) : close
haOpen  = useCorrelation ? security(symbol, timeframe.period, open) : open
haHigh  = useCorrelation ? security(symbol, timeframe.period, high) : high
haLow   = useCorrelation ? security(symbol, timeframe.period, low) : low

length = input( 50 )
overSold = input( 51 )
overBought = input( 49 )

s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"])

price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na

len = input(8, "Length Moving average", minval=1)
src = price
ma = sma(src, len)


vrsi = rsi(price, length)
long = crossover(vrsi, overSold) and time_cond and price > ma
short = crossunder(vrsi, overBought) and time_cond and price < ma


takeProfit_long=input(1.0, step=0.005)
stopLoss_long=input(0.1, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(0.03, step=0.005)

strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)

strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')


Plus de