Stratégie de trading quantitative basée sur l'équilibre Ichimoku et le conflit implicite


Date de création: 2024-02-20 17:12:35 Dernière modification: 2024-02-20 17:12:35
Copier: 0 Nombre de clics: 606
1
Suivre
1617
Abonnés

Stratégie de trading quantitative basée sur l’équilibre Ichimoku et le conflit implicite

Aperçu

Cette stratégie combine un indicateur d’équilibre apparent et un indicateur de conflit apparent pour réaliser une stratégie de négociation quantitative relativement simple. Un signal d’achat est généré lorsque la ligne d’équilibre apparent est supérieure à la ligne de conflit apparent et que le prix de clôture est supérieur à la ligne d’équilibre apparent. Un signal de vente est généré lorsque la ligne d’équilibre apparent est inférieure à la ligne de conflit apparent et que le prix de clôture est inférieur à la ligne d’équilibre apparent.

Principe de stratégie

L’indicateur d’équilibre de première vue comprend trois courbes: la courbe avant, la courbe de référence et la courbe de retard. La courbe avant représente la moyenne des prix de la période la plus récente, la courbe de référence représente la moyenne des prix de la période la plus longue, et la courbe de retard est généralement la moyenne de la courbe avant et de la courbe de référence.

L’indicateur de conflit implicite contient deux courbes, la ligne A et la ligne B. Elles représentent les moyennes des fluctuations de prix sur des périodes de différentes longueurs. Lorsque la ligne A est supérieure à la ligne B, la volatilité augmente à court terme et les fluctuations de prix sont suffisantes.

Cette stratégie utilise la ligne d’équilibre à première vue pour déterminer la direction approximative de la tendance, l’utilisation de la ligne d’avance de conflit caché pour déterminer la dynamique des prix, en combinaison avec le prix de clôture pour former un signal de négociation précis. Acheter lorsque la tendance à la hausse et la volatilité s’amplifient, vendre lorsque la tendance à la baisse et la contraction de la volatilité sont observées, ce qui permet de réaliser des bénéfices.

Avantages stratégiques

Il s’agit d’une stratégie de trading quantitatif relativement simple qui présente les avantages suivants:

  1. Les signaux de négociation sont plus fiables en utilisant une combinaison d’indicateurs pour juger de la tendance et de la dynamique des prix.
  2. L’entrée est limitée aux points de rupture définis, ce qui permet d’éviter une surabondance de transactions non valides.
  3. Les transactions à courte échéance sont plus rentables pour les actifs à forte volatilité.
  4. La logique de la stratégie est simple, facile à comprendre et à modifier.
  5. Il est facile d’étendre d’autres indicateurs pour former des modèles multifactoriels.

Analyse des risques

Cette stratégie comporte également des risques, notamment:

  1. Le risque de mistrade. Il est nécessaire de mettre en place un stop-loss pour contrôler les pertes individuelles.
  2. Risque d’inversion des prix. Les prix peuvent être inversés après que l’indicateur a émis un signal, entraînant des pertes. Des conditions de détention appropriées peuvent être assouplies pour réduire ce risque.
  3. Risque d’optimisation des paramètres. Les différents paramètres ont un impact important sur les résultats, il est nécessaire de tester plusieurs combinaisons pour trouver les paramètres optimaux.
  4. Risque d’optimisation excessive. Performer bien sur les données historiques, mais échouer dans les transactions réelles. Contrôler le nombre de combinaisons de paramètres pour éviter l’optimisation excessive.

Optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Tester plus de combinaisons d’indicateurs pour trouver des paramètres plus avantageux. Les plus courants sont les KDJ, BOLL, MACD, etc.
  2. Adhésion à un mécanisme de stop loss. Configuration de stop mobile ou stop multiple.
  3. Optimiser les conditions de sélection pour l’entrée.
  4. Optimiser les règles de tenue de position. Vous pouvez essayer de réduire le temps de stop loss ou d’augmenter la marge de stop loss.
  5. Ajout d’un composant d’apprentissage automatique. Utilisation de réseaux neuronaux pour trouver une meilleure combinaison de paramètres.

Résumer

Cette stratégie est une stratégie de trading quantitative très simple, qui combine une ligne d’équilibre de première vue et des indicateurs de conflit caché pour déterminer la tendance et la dynamique des prix et former un signal de trading. Cette stratégie est adaptée aux transactions de courte durée sur des actifs très volatils et offre de bons rendements.

Code source de la stratégie
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true)

len = input.int(50, minval=1, title="Length")
src = input(close, title="Source")
out = ta.ema(src, len)

conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
     title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

plot(out, title="EMA", color=color.white)

// Condition for Buy Signal
buy_signal = close > out and leadLine1 > leadLine2

// Condition for Sell Signal
sell_signal = close < out and leadLine2 > leadLine1

// Strategy entry and exit conditions
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Exit long position if candle closes below EMA 50
if (strategy.opentrades > 0)
    if (close < out)
        strategy.close("Buy")

// Exit short position if candle closes above EMA 50
if (strategy.opentrades < 0)
    if (close > out)
        strategy.close("Sell")