Stratégie de l'indice dynamique des traders

Auteur:ChaoZhang est là., Date: 2023-11-13 10h09 et 48 min
Les étiquettes:

img

Résumé

Cette stratégie utilise l'indice dynamique des traders (TDI) comme indicateur technique principal, combiné à des moyennes mobiles sur différentes périodes pour générer des signaux de trading.

La logique de la stratégie

La stratégie calcule d'abord le RSI de clôture avec une période de 13. Ensuite, elle calcule la moyenne mobile simple de 34 périodes du RSI et utilise 1,6185 fois l'écart type de 34 périodes du RSI comme bandes supérieures et inférieures.

Après cela, il calcule le MA rapide du RSI avec une période de 2 et le MA lent du RSI avec une période de 7. Il récupère ensuite les valeurs historiques de ces indicateurs à partir d'un laps de temps plus long.

Analyse des avantages

Cette stratégie utilise la caractéristique de la réversion moyenne du RSI et combine des indicateurs de dynamique pour mettre en œuvre le trading d'inversion. Les bandes supérieure et inférieure du RSI reflètent les conditions de surachat et de survente, tandis que la bande du milieu reflète le niveau moyen des prix.

En particulier, les bandes RSI fixent des seuils raisonnables de surachat et de survente pour détecter rapidement les anomalies. La bande du milieu capte le niveau de prix d'équilibre. Le MA rapide filtre le bruit à court terme et le MA lent détermine la tendance à moyen terme. Travaillant ensemble, ils peuvent identifier efficacement les opportunités d'inversion.

Analyse des risques

Cette stratégie est principalement basée sur l'inversion moyenne, qui comporte des risques inhérents au timing. Des pertes consécutives pourraient survenir si le marché subit une expansion irrationnelle prolongée, comme une courte contraction.

Pour contrôler les risques ci-dessus, il est conseillé d'ajuster raisonnablement les périodes de MA ou d'ajouter des mécanismes de stop loss. Lorsque le marché entre dans un régime irrationnel, les positions doivent être réduites ou arrêtées.

Directions d'optimisation

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

  1. Testez des périodes RSI de longueurs différentes pour trouver des réglages plus adaptés aux conditions actuelles du marché.

  2. Optimiser les longueurs des MAs rapides et lents pour équilibrer les captures d'inversions et filtrer le bruit.

  3. L'établissement doit fournir des informations détaillées sur les risques liés à l'utilisation de l'instrument.

  4. Essayez d'ajouter d'autres facteurs comme le changement de volume dans la logique d'entrée pour améliorer la précision.

  5. Testez l'effet de la réutilisation du même ensemble de signaux de trading sur plusieurs délais.

  6. Développer des mécanismes d'optimisation adaptative pour le réglage des paramètres dynamiques.

Conclusion

Le cadre général de cette stratégie d'inversion de l'indice de croissance est raisonnable avec une logique claire et interprétable. Il a un espace et un potentiel d'optimisation personnalisables. Avec un réglage approprié des paramètres et un contrôle des risques, sa capacité à capturer les inversions est prometteuse.


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("TDI - Traders Dynamic Index [Mehdi]", shorttitle="TDIMEHDI")

rsiPeriod = input(13, minval = 1, title = "RSI Period")
bandLength = input(34, minval = 1, title = "Band Length")
lengthrsipl = input(7, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input(2, minval = 1, title = "Slow MA on RSI")
p1 = input("15", title = "Signal Timeframe")

src = close                                                             // Source of Calculations (Close of Bar)

r = rsi(src, rsiPeriod)                                                 // RSI of Close
ma = sma(r, bandLength)                                                 // Moving Average of RSI [current]
offs = (1.6185 * stdev(r, bandLength))                                  // Offset
up = ma + offs                                                          // Upper Bands
dn = ma - offs                                                          // Lower Bands
mid = (up + dn) / 2                                                     // Average of Upper and Lower Bands
fastMA = sma(r, lengthrsipl)                                            // Moving Average of RSI 2 bars back
slowMA = sma(r, lengthtradesl)                                          // Moving Average of RSI 7 bars back

hline(20)                                                               // ExtremelyOversold
hline(30)                                                               // Oversold
hline(50)                                                               // Midline
hline(70)                                                               // Overbought
hline(80)                                                               // ExtremelyOverbought

up1 = request.security(syminfo.tickerid, p1, up)
dn1 = request.security(syminfo.tickerid, p1, dn)
mid1 = request.security(syminfo.tickerid, p1, mid)
slowMA1 = request.security(syminfo.tickerid, p1, slowMA)
fastMA1 = request.security(syminfo.tickerid, p1, fastMA)

plot(up1, "Upper Band", color = #3286c3, linewidth = 2)               // Upper Band
plot(dn1, "Lower Band", color = #3286c3, linewidth = 2)               // Lower Band
plot(mid1, "Middle of Bands", color = yellow, linewidth = 2)      // Middle of Bands
plot(slowMA1, "Slow MA", color=green, linewidth=2)                       // Plot Slow MA
plot(fastMA1, "Fast MA", color=red, linewidth=1)                         // Plot Fast MA

if (crossover(slowMA1, fastMA1))
    strategy.entry("Buy", strategy.long, comment="Buy")

if (crossunder(slowMA1, fastMA1))
    strategy.entry("Sell", strategy.short, comment="Sell")

Plus de