Stratégie de négociation du jour du nuage Ichimoku

Auteur:ChaoZhang est là., Date: 2023-10-16 16:10:55 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie implémente la négociation d'actions intraday à l'aide de lignes Ichimoku Cloud. Elle appartient aux stratégies de négociation à court terme. Elle utilise la ligne de conversion, la ligne de base et les lignes de pointe de Ichimoku Cloud pour générer des signaux de négociation, et utilise Parabolic SAR pour le suivi des pertes d'arrêt, obtenant une double protection.

Principaux

Le nuage Ichimoku se compose de la ligne de conversion, de la ligne de base, de la ligne 1 et de la ligne 2. La ligne de conversion est la moyenne du prix de clôture et des prix les plus élevés et les plus bas au cours des 9 derniers jours, reflétant l'état d'équilibre récent du prix de l'action. La ligne de base est la moyenne des prix les plus élevés et les plus bas au cours des 26 derniers jours, représentant l'état d'équilibre à moyen et long terme. La ligne 1 est la moyenne de la ligne de base et de la ligne de conversion, reflétant la tendance future. La ligne 2 est la moyenne des prix les plus élevés et les plus bas au cours des 52 derniers jours.

Lorsque le prix de clôture franchit la ligne de base vers le haut et est au-dessus de la ligne principale 2, un signal d'achat est généré. Lorsque le prix de clôture franchit la ligne de base vers le bas et est en dessous de la ligne principale 1, un signal de vente est généré.

Cette stratégie utilise la combinaison des lignes d'équilibre pour déterminer les tendances futures des prix et la durabilité de la tendance actuelle. Elle appartient aux stratégies typiques de suivi des tendances. Elle suit la tendance en négociant lorsque des signaux d'achat et de vente apparaissent. Pendant ce temps, le mécanisme SAR stop loss et take profit évite d'agrandir les pertes.

Les avantages

  1. L'utilisation de lignes d'équilibre pour déterminer les tendances futures améliore la précision

Les lignes d'équilibre contiennent des informations sur les prix de différentes périodes, reflétant les changements de tendance à l'avance.

  1. L'arrêt de traîneau SAR offre une double protection

SAR peut suivre de manière flexible le prix de l'action pour le stop loss. En combinaison avec les lignes d'équilibre, il permet un stop loss rapide après la prise de profit, évitant les pertes accrues.

  1. Paramètres simples, faciles à mettre en œuvre

Cette stratégie comporte des paramètres minimaux sans indicateurs techniques complexes tels que l'ajustement de la courbe, simple et pratique à mettre en œuvre.

  1. Convient pour la négociation intrajournalière et à court terme

Il identifie les signaux de négociation à partir des variations de prix intraday, adaptés au trading à court terme.

Les risques

  1. Risque de recours

La tendance qui suit la négociation entraîne des retraits plus élevés.

  1. Risque de piqûre

Des signaux de négociation fréquents peuvent être générés sur les marchés à plage, ce qui est défavorable pour la rentabilité.

  1. Risque d'optimisation excessive

Les paramètres simples sont sujets à une optimisation excessive. Les performances réelles du trading peuvent ne pas être idéales. Des tests de robustesse doivent être effectués pour éviter une surajustement.

  1. Les résultats varient selon les instruments

Le rendement dépend des instruments de négociation. Les actions à tendance avec des tendances claires doivent être choisies pour maximiser l'efficacité de la stratégie.

Des possibilités d'amélioration

  1. Ajouter des filtres avec d' autres indicateurs

D'autres indicateurs comme les moyennes mobiles peuvent être ajoutés pour filtrer les signaux incertains et éviter les faux trades.

  1. Réglage dynamique du stop loss

Les paramètres SAR peuvent être ajustés dynamiquement en fonction de la volatilité du marché, pour un stop loss plus souple.

  1. Optimisation des paramètres

Une optimisation plus systématique et des tests combinatoires peuvent trouver de meilleurs ensembles de paramètres pour améliorer les performances.

  1. Ajuster la taille des positions selon le régime du marché

La taille des positions et l'effet de levier peuvent être ajustés dynamiquement en fonction des conditions du marché, telles que les tendances des indices, afin de contrôler les risques.

Conclusion

Cette stratégie utilise les signaux de trading d'Ichimoku Cloud et le SAR parabolique pour le suivi des pertes de stop. C'est une stratégie de trading à court terme simple et pratique. Elle capitalise sur la capacité de prédiction de tendance d'Ichimoku Cloud pour le trading de rupture. Le mécanisme de stop loss évite d'agrandir les pertes. Un contrôle de retrait approprié, une sélection de stock et un réglage des paramètres sont nécessaires pour la mise en œuvre.


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

//@version=3
//
//  Based on the trading strategy described at
//    http://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:ichimoku_cloud
//
//  See Also:
//    - Backtesting and forwardtesting (of TradingView Strategies) <https://www.tradingview.com/wiki/Strategies#Backtesting_and_forwardtesting>
//    - 9 Mistakes Quants Make that Cause Backtests to Lie <https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/>
//    - When Backtests Meet Reality <http://financial-hacker.com/Backtest.pdf>
//    - Why MT4 backtesting does not work <http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020>
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=3)

conversionPeriods   = input(9,  minval=1, title="Conversion Line Periods"),
basePeriods         = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement        = input(26, minval=1, title="Displacement")

usePSARTrailStop    = input(true, title="Use Parabolic SAR for Trailing Stop")
psarStart           = input(0.02, title="Parabolic SAR Start")
psarIncrement       = input(0.02, title="Parabolic SAR Increment")
psarMaximum         = input(0.2,  title="Parabolic SAR Maximum")


donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine  = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
leadLineDisp1 = leadLine1[displacement]
leadLineDisp2 = leadLine2[displacement]

psar = sar(psarStart, psarIncrement, psarMaximum)

// BUY Signal:
// close > leading span b and
// leading span a > leading span b and 
// close crosses over base line and
// close > parabolic sar
buySignal = close > leadLineDisp2 and
  leadLineDisp1 > leadLineDisp2 and
  crossover(close, baseLine) and
  (usePSARTrailStop ? close > psar : not usePSARTrailStop)

// Sell Signal:
// close < leading span a and 
// leading span a < leading span b and 
// close crosses under base line and
// close < psar
sellSignal = close < leadLineDisp1 and
  leadLineDisp1 < leadLineDisp2 and
  crossunder(close, baseLine) and
  (usePSARTrailStop ? close < psar : not usePSARTrailStop)

hasLong  = strategy.position_size > 0
hasShort = strategy.position_size < 0


strategy.entry("ichimoku-long", strategy.long, when = buySignal)
strategy.entry("ichimoku-short", strategy.short, when = sellSignal)

strategy.exit("trailstop-long", "ichimoku-long", stop = psar, when = hasLong and usePSARTrailStop)
strategy.exit("trailstop-short", "ichimoku-short", stop = psar, when = hasShort and usePSARTrailStop)


Plus de