Stratégie de suivi des tendances basée sur Ichimoku Kinko Hyo


Date de création: 2023-10-12 17:29:46 Dernière modification: 2023-10-12 17:29:46
Copier: 0 Nombre de clics: 665
1
Suivre
1617
Abonnés

Aperçu

La stratégie utilise la ligne de conversion, la ligne de base et les lignes avant et arrière du nuage de lignes dans l’indicateur Ichimoku Kinko Hyo pour identifier la direction de la tendance des prix et permettre la poursuite de la tendance. Faire plus lorsque le prix atteint le sommet du nuage, faire moins lorsque le nuage atteint le bas, atteindre le seuil de profit prédéfini et atteindre le seuil de perte prédéfini.

Principe de stratégie

La stratégie utilise principalement les lignes de référence d’Ichimoku:

  • Ligne de conversion (Tenkan-sen): Ligne de conversion, représentant une tendance à court terme, représentant la moyenne des prix les plus élevés et les plus bas de 9 cycles
  • Base Line (Kijun-sen): ligne de référence, représentant la tendance à moyen terme, la moyenne des prix les plus élevés et les plus bas de 26 cycles
  • Leading Span A (Senkou Span A): ligne de front A, moyenne entre la ligne de conversion et la ligne de référence
  • Leading Span B (Senkou Span B): Leading Span B, qui représente la moyenne des prix les plus élevés et les plus bas de 52 cycles

Faire plus lorsque le prix monte à travers le nuage de front; faire moins lorsque le prix descend à travers le nuage de front. ConfigEntry et ExitReason ouvrent des positions à travers le sommet et le fond du nuage, respectivement, et placent des positions à l’atteinte du ratio profit / perte.

Analyse des avantages

  • Utilisez l’indicateur Ichimoku pour identifier les tendances et éviter d’être trompé par les chocs du marché
  • Identifier les points de basculement des tendances et améliorer l’efficacité des transactions en utilisant une approche de rupture de la couche supérieure / inférieure du nuage
  • Définition d’un point d’arrêt-stop pour vous aider à saisir les opportunités de profit et à contrôler les risques

Analyse des risques

  • L’indicateur Ichimoku est en retard et risque de manquer le meilleur point pour un revirement de tendance
  • Il est nécessaire de régler raisonnablement les périodes des paramètres, car un mauvais réglage des périodes telles que la ligne de conversion, la ligne de référence peut entraîner de faux signaux.
  • Si le point de rupture est trop petit, il peut s’arrêter prématurément; si le point de rupture est trop grand, le risque de perte augmente.

Direction d’optimisation

  • Considérer des tendances à l’amélioration de la précision en combinaison avec d’autres indicateurs
  • Cycle de paramètres d’optimisation dynamique pour s’adapter à différents cycles et environnements de marché
  • Réglez le suivi des arrêts pour que les points d’arrêt s’adaptent aux fluctuations des prix et éviter les arrêts prématurés
  • Envisager de développer une stratégie de stop-loss automatique, en ajustant intelligemment le stop-loss en fonction de la volatilité du marché

Résumer

La stratégie utilise l’orientation de la tendance de l’identification du nuage Ichimoku pour effectuer des transactions de suivi de tendance de manière simple et efficace. Bien qu’il existe un certain risque de retard et de faux signaux, elle peut être améliorée par l’optimisation des paramètres, l’amélioration de la technologie d’arrêt des pertes et la combinaison d’autres indicateurs. La stratégie est facile à comprendre et à mettre en œuvre, adaptée à l’apprentissage des débutants et peut également servir de référence pour d’autres stratégies.

Code source de la stratégie
/*backtest
start: 2023-10-04 00:00:00
end: 2023-10-08 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////Ichimoku Clouds////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////(VERSÃO 40.0)//////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)",  minval=1)
periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)",  minval=1)
periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)",  minval=1)
deslocamento = input(defval=26, title="Deslocamento",  minval=1)

linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2
linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2
nivelAdiantadoA = (linhaDeConversao + linhaBase)/2
nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy.initial_capital = 50000
//Hardcoded quantity - strategy.entry(qty=)
capitalInicial = strategy.initial_capital
lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open

//Percentage input goal - strategy.exit(profit=)
percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1)
longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100
shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100

//Percentage input stop - strategy.exit(loss=)
percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1)
longStop = (strategy.position_avg_price * (percentStop/100)) * 100
shortStop = (strategy.position_avg_price * (percentStop/100)) * 100

strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop)
strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop)

plot(strategy.equity, title="Variação de capital", color=white)
//plot(strategy.position_size, color=red)