Die Ichimoku Early Cloud Trend Following Strategie ist eine Trendfolgsstrategie, die auf dem beliebten Ichimoku Cloud Indikator basiert. Sie nutzt die Crossover-Linien der Ichimoku Cloud, um frühe Eintrittssignale zu generieren und Trends im Voraus zu erfassen.
Die Strategie beruht hauptsächlich auf folgenden Elementen:
Konstruieren Sie die Ichimoku-Wolke mit Hilfe der Konversionslinie und der Basislinie und zeichnen Sie die Wolke mit einer 26-Perioden-Verlagerung.
Auslösen eines langen Signals, wenn die Nähe über der Spitze der Wolke bricht; Auslösen eines kurzen Signals, wenn die Nähe unterhalb der Wolke bricht.
Erfordern, dass die Konvertierungs- und Basislinien nahe sind, um auch die maximale Brechzeit der Konversions- und Basislinien zu überschreiten, um falsche Ausbrüche auszufiltern.
Optional ein Stop-Loss von 5% auf Basis des Einstiegspreises.
Mit einer solchen mehrschichtigen Filterung kann er effektiv Trendumkehrpunkte identifizieren und aufkommende Handelschancen rechtzeitig erfassen.
Die Strategie weist folgende Vorteile auf:
Es gibt auch einige Risiken, die zu berücksichtigen sind:
Die Risiken können verringert werden, indem
Die Strategie kann in folgenden Punkten weiter verbessert werden:
Zusätzliche Positionsgröße an den programmatisch gehandelten Kontrollbetrag überstrategy.position_size
.
Fügen Sie Sicherheitsuniversum Filterung automatisch Trendstärke übersecurity()
.
Einbeziehung von Stop-Loss/Profit-Taking-Techniken für das Risikomanagement.
Ein Multi-Indikator-System mit Indikatoren wie Bollinger Bands und RSI zu schaffen, um die Signalqualität zu verbessern.
Anwendung von maschinellem Lernen zur Beurteilung der Signalzuverlässigkeit und dynamische Anpassung von Auftragsmengen.
Die Ichimoku Early Cloud Trend Following Strategie nutzt die Ichimoku Cloud zur frühzeitigen Trendidentifizierung, verstärkt durch gleitende Durchschnittsfilter, um hochwertige Handelsmöglichkeiten zuverlässig zu erkennen.
/*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)