Auteur:ChaoZhang est là., Date: 2024-01-23 11h40
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie multifactorielle à long terme qui combine des indicateurs de moyenne mobile, RSI et ATR pour identifier les conditions de marché sous-évaluées et générer des signaux d'achat.

La logique de la stratégie

Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, formant un signal de croix dorée, tandis que l'indicateur RSI est en dessous de la zone de surachat, le marché est considéré sous-évalué et un signal d'achat est généré.

Plus précisément, la stratégie utilise des moyennes mobiles de 10 et 50 jours pour former des signaux de trading. Un signal d'achat est généré lorsque le MA de 10 jours franchit le niveau du MA de 50 jours. Dans le même temps, le RSI (14) doit être inférieur à la zone de surachat de 70 pour éviter d'acheter à des points élevés.

Après l'entrée sur le marché, le stop loss et le take profit sont fixés en fonction de la taille de l'ATR (14).

Analyse des avantages

Il s'agit d'une stratégie multifactorielle à long terme qui combine plusieurs indicateurs pour juger des conditions du marché, ce qui permet d'éviter efficacement les pertes causées par de fausses ruptures.

  1. Le jugement multifactoriel permet d'éviter de fausses ruptures et de garantir la fiabilité des signaux d'achat
  2. Suivre les tendances à long terme sans être arrêté par des fluctuations à court terme
  3. Les points de stop loss/take profit fixes empêchent les pertes excessives
  4. Les paramètres d'indicateur réglables permettent une optimisation entre différents produits
  5. Simple à mettre en œuvre, facile à comprendre et à utiliser

Analyse des risques

En tant que stratégie de détention à long terme, la stratégie comporte également certains risques.

  1. Le risque de perte est élevé pour les détentions à long terme, et peut entraîner des pertes considérables sur le marché de consolidation prolongée.
  2. Le risque de perte d'arrêt de suivi. L'arrêt de perte fixe n'est réglé qu'une seule fois après l'entrée, aucun ajustement ultérieur, il est possible que l'arrêt de perte soit enfreint. Peut être optimisé avec un stop-loss dynamique ou un stop-loss de suivi.
  3. Les indicateurs sont trop lents, manquent des opportunités de négociation à court terme.
  4. L'amplification du risque par rapport à la tendance qui suit les ajouts peut fixer des limites à la fréquence et à la taille des ajouts pour contrôler le risque.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Ajouter un mécanisme de stop loss dynamique, ajuster le stop loss en fonction du prix et de la volatilité
  2. Ajoutez la trailing take profit pour mieux bloquer les profits
  3. Incorporer un indicateur de volume de négociation pour éviter une fausse rupture de faible volume
  4. Optimiser les paramètres des indicateurs pour qu'ils s'adaptent à un plus grand nombre de produits
  5. Ajouter la tendance suivant le mécanisme d'ajout de position pour ajouter modérément aux positions gagnantes

Conclusion


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Long Only Multi-Indicator Strategy", shorttitle="LOMIS", overlay=true)

// Inputs
lengthMAFast = input(10, title="Fast MA Length")
lengthMASlow = input(50, title="Slow MA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
riskMultiplier = input(1.5, title="Risk Multiplier for SL and TP")

// Moving averages
maFast = sma(close, lengthMAFast)
maSlow = sma(close, lengthMASlow)

// RSI
rsi = rsi(close, rsiLength)

// ATR
atr = atr(atrLength)

// Long condition
longCondition = crossover(maFast, maSlow) and rsi < rsiOverbought

// Entering long trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    slLong = close - atr * riskMultiplier
    tpLong = close + atr * riskMultiplier * 2
    strategy.exit("SL Long", "Long", stop=slLong)
    strategy.exit("TP Long", "Long", limit=tpLong)

// Plotting
plot(maFast, color=color.red)
plot(maSlow, color=color.blue)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.blue)


Plus de