La stratégie Ichimoku Cloud Trend Following est une stratégie d'analyse technique qui utilise les cinq lignes d'indicateurs d'un diagramme d'équilibre pour déterminer la direction de la tendance du marché, les niveaux de support et de résistance et les moments d'entrée.
Les principaux indicateurs de cette stratégie sont les suivants:
Lorsque la ligne de conversion traverse la ligne de référence, c'est un signal d'achat; la ligne de conversion est un signal de vente. La ligne de mouvement est au-dessus du prix et la couleur du nuage est verte pour la tendance à plusieurs têtes, sinon pour les têtes vides.
La stratégie détermine la direction de la tendance en fonction de la relation entre la ligne de conversion et la ligne de référence. Par exemple, une rupture de la ligne de conversion vers le haut de la ligne de référence est jugée comme une entrée à plusieurs points, ce qui génère un signal d'achat si les conditions de la ligne de conversion sont remplies.
Le stop-loss ou le stop-gap est placé sur la ligne A ou la ligne de référence. Si la ligne de référence est choisie, le stop-loss se calme lorsque le prix dépasse la ligne de référence.
La stratégie présente les avantages suivants:
Le principal risque de cette tactique est qu'elle génère facilement de faux signaux.
Une stratégie de diagramme d'équilibre est une stratégie multi-indicateur complète pour juger de la tendance du marché, en tenant compte à la fois de la dynamique à court terme et des tendances à moyen et long terme. La relation entre la ligne de conversion et la ligne de référence détermine le moment où le marché est vendu, la ligne de référence sert de ligne de stop-loss pour bloquer les bénéfices et contrôler efficacement les risques.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true) 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(26, 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) leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1] plot(leadLine1bbbbb) leadLine2 = donchian(laggingSpan2Periods) leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1] plot(leadLine2bbbbbb) support = leadLine1bbbbb > leadLine2bbbbbb Resistance = leadLine1bbbbb < leadLine2bbbbbb TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine") var stopLong = 0.0 var stopShort = 0.0 var TagetLong = 0.0 var TargetShort = 0.0 if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support strategy.entry("Long",strategy.long) stopLong := conversionLine // if close < stopLong and strategy.position_size > 0 // strategy.close("Long") // stopLong := 0.0 if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine') strategy.close("Long") stopLong := 0.0 if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine') strategy.close("Long") stopLong := 0.0 if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance strategy.entry("Short",strategy.short) stopShort := conversionLine // if close > stopShort and strategy.position_size < 0 // strategy.close("Short") // stopShort := 0.0 if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine') strategy.close("Short") stopShort := 0.0 if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine') strategy.close("Short") stopShort := 0.0 // if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0 // strategy.close("Long") // stopLong := 0.0 plot(conversionLine, color=#2962FF, title="Conversion Line") plot(baseLine, color=#B71C1C, title="Base Line") plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))