La stratégie de suivi des tendances du Cloud Ichimoku est une stratégie de suivi des tendances basée sur l'indicateur populaire du Cloud Ichimoku. Elle utilise les lignes croisées du Cloud Ichimoku pour générer des signaux d'entrée précoces et capturer les tendances à l'avance.
La stratégie repose principalement sur les éléments suivants:
Construisez le nuage Ichimoku en utilisant la ligne de conversion et la ligne de base, et tracez le nuage avec un déplacement de 26 périodes.
Déclencher un signal long lorsque les pauses de rapprochement sont au-dessus du sommet du nuage; déclencher un signal court lorsque les pauses de rapprochement sont au-dessous du fond du nuage.
Exigez que la proximité soit également supérieure au maximum/min des lignes de conversion et de base pour filtrer les fausses ruptures.
Optionnellement, définir un stop loss de 5% en fonction du prix d'entrée.
Grâce à un tel filtrage multicouche, il peut identifier efficacement les points d'inversion de tendance et saisir les opportunités de trading émergentes en temps opportun.
La stratégie présente les avantages suivants:
Il y a aussi quelques risques à prendre en considération:
Les risques peuvent être réduits par:
La stratégie peut être encore améliorée dans les domaines suivants:
Ajouter la taille de position au montant de contrôle négocié par programme viastrategy.position_size
.
Ajoutez le filtrage de l'univers de sécurité pour détecter automatiquement la force de la tendance viasecurity()
.
Incorporer des techniques de prise de profit/stop loss pour la gestion des risques.
Construire un système multi-indicateur combinant des indicateurs tels que les bandes de Bollinger et le RSI pour améliorer la qualité du signal.
Appliquer l'apprentissage automatique pour juger de la fiabilité du signal et ajuster dynamiquement les quantités d'ordre.
La stratégie de suivi des tendances du Cloud Ichimoku utilise le Cloud Ichimoku pour l'identification précoce des tendances, renforcée par des filtres de moyenne mobile, afin de détecter de manière fiable des opportunités de trading de haute qualité.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © QuantCT //@version=4 strategy("Ichimoku Cloud Strategy Idea", shorttitle="Ichimoku", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=99, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.1) // ____ Inputs conversion_period = input(9, minval=1, title="Conversion Line Period") base_period = input(26, minval=1, title="Base Line Period") lagging_span2_period = input(52, minval=1, title="Lagging Span 2 Period") displacement = input(26, minval=1, title="Displacement") long_only = input(title="Long Only", defval=false) slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0) use_sl = input(title="Use Stop-Loss", defval=false) // ____ Logic donchian(len) => avg(lowest(len), highest(len)) conversion_line = donchian(conversion_period) base_line = donchian(base_period) lead_line1 = avg(conversion_line, base_line) lead_line2 = donchian(lagging_span2_period) chikou = close chikou_free_long = close > high[displacement] and close > max(lead_line1[2 * displacement], lead_line2[2 * displacement]) enter_long = chikou_free_long and close > max(lead_line1[displacement], lead_line2[displacement]) exit_long = close < lead_line1[displacement] or close < lead_line2[displacement] chikou_free_short = close < low[displacement] and close < min(lead_line1[2 * displacement], lead_line2[2 * displacement]) enter_short = chikou_free_short and close < min(lead_line1[displacement], lead_line2[displacement]) exit_short = close > lead_line1[displacement] or close > lead_line2[displacement] strategy.entry("Long", strategy.long, when=enter_long) strategy.close("Long", when=exit_long) if (not long_only) strategy.entry("Short", strategy.short, when=enter_short) strategy.close("Short", when=exit_short) // ____ SL sl_long = strategy.position_avg_price * (1- (slp/100)) sl_short = strategy.position_avg_price * (1 + (slp/100)) if (use_sl) strategy.exit(id="SL", from_entry="Long", stop=sl_long) strategy.exit(id="SL", from_entry="Short", stop=sl_short) // ____ Plots colors = enter_long ? #27D600 : enter_short ? #E30202 : color.orange p1 = plot(lead_line1, offset = displacement, color=colors, title="Lead 1") p2 = plot(lead_line2, offset = displacement, color=colors, title="Lead 2") fill(p1, p2, color = colors) plot(chikou, offset = -displacement, color=color.blue)