Quantitative Handelsstrategie auf Basis von Ichimoku Cloud Breakout und ADX Index

Schriftsteller:ChaoZhang, Datum: 2024-02-02 17:50:30
Tags:

img

Übersicht

Der Name dieser Strategie ist Quantitative Trading Strategy Based on Ichimoku Cloud Breakout and ADX Index. Sie kombiniert Ichimoku Cloud Charting mit Average Directional Movement Index (ADX), um zu bestimmen, wann Long- oder Short-Positionen zu nehmen sind.

Strategie Logik

Die Strategie verwendet Ichimoku Cloud von Ichimoku Kinko Hyo Indikatoren, um wichtige Unterstützungs- und Widerstandsbereiche zu identifizieren.

Lange Eintrittssignale:

  • Umrechnungslinie über der Grundlinie
  • Verzögerungslinie über 0-Achse
  • Preis über Wolken
  • ADX unter 45 (Trend zeigt nicht übermäßig ausgeweitet an)
  • +DI über -DI (Aufwärtstrend)

Kurze Eintrittssignale:

  • Umwandlungslinie unterhalb der Basislinie
  • Verzögerungslinie unterhalb der 0-Achse
  • Preis unter dem Nebeltief
  • ADX über 45 (ein Hinweis auf eine mögliche Trendwende)
  • +DI unter -DI (Abwärtstrend anzeigt)

Analyse der Vorteile

Die Strategie kombiniert Chartmusteranalyse und Trendanalyseindikatoren, die Markttrends und Stärken effektiv bestimmen können.

  1. Die Verwendung der Ichimoku-Cloud zur Bestimmung der wichtigsten Unterstützungs-/Widerstandsniveaus, um starke Trends zu erfassen
  2. Einbeziehung des ADX-Index zur Messung der tatsächlichen Trendstärke und Vermeidung falscher Trades
  3. Einfach zu befolgende klare Regeln für den Live-Handel

Risiken und Lösungen

Es gibt einige Risiken bei dieser Strategie, vor allem im Zusammenhang mit Instabilität bei der ADX-Trendbestimmung.

  1. ADX hat Verzögerungseffekt, kann schnelle Umkehrungen verpassen.
  2. ADX funktioniert nicht gut in verschiedenen Märkten. Kann Filter wie BOLL Kanal hinzufügen
  3. Ichimoku Cloud kann auch versagen. kann Parameter anpassen oder Hilfsindikatoren hinzufügen

Optimierungsvorschläge

Die Strategie kann auf folgende Weise weiter optimiert werden:

  1. Ich kann die Ichimoku-Parameter anpassen, damit sie mehr Instrumenten anpassen.
  2. Hinzufügen von Stop Loss zur Kontrolle von Einzelhandelsverlusten
  3. Mehr Indikatoren zum Filtern von Signalen
  4. Hinzufügen von Machine Learning-Vorhersagen zur weiteren Bestimmung von Trendsignalen

Schlussfolgerung

Diese Strategie kombiniert Ichimoku Cloud Charting und ADX Trend Index, um ein komplettes quantitatives Handelssystem zu bilden. Es identifiziert wichtige Unterstützungs-/Widerstandsniveaus und beurteilt gleichzeitig den Trend. Es kann Marktchancen effektiv erfassen. Die Strategie ist einfach im Live-Handel umzusetzen und hat auch Raum für Optimierung. Insgesamt ist es eine qualitativ hochwertige quantitative Strategie.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 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/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with ADX (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


// Inputs
ts_bars = input.int(9, minval=1, title='Tenkan-Sen Bars')
ks_bars = input.int(26, minval=1, title='Kijun-Sen Bars')
ssb_bars = input.int(52, minval=1, title='Senkou-Span B Bars')
cs_offset = input.int(26, minval=1, title='Chikou-Span Offset')
ss_offset = input.int(26, minval=1, title='Senkou-Span Offset')
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen')
plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen')
plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span')
sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A')
sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B')
fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90)

ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1])
ss_low = math.min(senkouA[ss_offset - 1], senkouB[ss_offset - 1])


// ADX
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and avg_dm < 45 and pos_dm > neg_dm
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and avg_dm > 45 and pos_dm < neg_dm

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)




Mehr