Stratégie de trading quantitative basée sur la percée de Yiyun et l'indicateur ADX


Date de création: 2024-02-02 17:50:30 Dernière modification: 2024-02-02 17:50:30
Copier: 0 Nombre de clics: 408
1
Suivre
1214
Abonnés

Stratégie de trading quantitative basée sur la percée de Yiyun et l’indicateur ADX

Aperçu

Cette stratégie est appelée la stratégie de négociation quantitative basée sur une rupture de nuage et l’indicateur ADX. Elle combine l’analyse technique du graphique de nuage et l’indicateur moyen de tendance (ADX) pour décider quand établir une position surdimensionnée ou vide. Plus précisément, elle établit une position lorsque le prix est en rupture de nuage et que l’indicateur ADX montre une forte tendance.

Principe de stratégie

La stratégie utilise le diagramme de la colonne de nuage de l’indicateur de l’orchidée pour déterminer les zones de support et de résistance critiques. Elle est combinée avec l’indicateur ADX pour déterminer la force de la tendance. Les règles de la stratégie de négociation spécifique sont les suivantes:

Les signaux d’arrêt multiples:

  • L’antenne se déplace vers le haut à travers la ligne de référence
  • Ligne de retard tournée vers le haut à travers 0 axes
  • Les prix sont plus élevés que le graphique des nuages
  • ADX inférieur à 45 (indiquant que la tendance n’a pas été excessivement élargie)
  • +DI est supérieur à -DI (indiquant une tendance à la hausse)

Le signal de construction de la base aérienne:

  • L’antenne est tournée vers le bas pour traverser la ligne de référence.
  • Ligne retardée tournée vers le bas sur l’axe 0
  • Les prix sont en dessous du graphique des nuages
  • Une valeur ADX supérieure à 45 (indiquant une éventuelle inversion de la tendance)
  • +DI inférieur à -DI (indiquant une tendance à la baisse)

Analyse des avantages

Cette stratégie, combinée à une analyse technique graphique et à des indicateurs d’analyse de tendances, permet de déterminer efficacement les tendances et les zones de force du marché. Les avantages spécifiques sont les suivants:

  1. Utilisez un graphique de nuage pour déterminer les zones de résistance et de soutien clés afin de saisir une tendance forte
  2. L’indice ADX est utilisé pour évaluer l’intensité réelle de la tendance et éviter les erreurs de trading.
  3. Les règles sont claires, faciles à utiliser et faciles à lire.

Les risques et les solutions

La stratégie présente également des risques, principalement liés à l’instabilité déterminée par l’indice ADX. Les risques spécifiques et les solutions sont les suivants:

  1. Les calculs ADX sont retardés et peuvent manquer une inversion rapide. Les paramètres ADX peuvent être réduits de manière appropriée pour les rendre plus sensibles.
  2. L’ADX ne fonctionne pas bien dans les conditions de choc. D’autres indicateurs peuvent être filtrés, tels que le canal BOLL.
  3. Les graphiques en nuage peuvent également être invalidés. Les paramètres peuvent être ajustés ou d’autres indicateurs peuvent être ajoutés.

Conseils pour optimiser la stratégie

La stratégie peut également être optimisée dans les domaines suivants:

  1. Adaptation des paramètres graphiques du nuage pour plus de variétés
  2. Augmenter les stratégies de stop-loss et contrôler les pertes individuelles
  3. Combinez plus d’indicateurs pour former un filtre combiné
  4. Ajout d’un module de prévision de modèle, qui utilise l’apprentissage automatique pour déterminer davantage le signal de tendance effector

Résumer

Cette stratégie, combinée à une analyse graphique technique dans le cloud et à des indicateurs de jugement de tendance ADX, forme un ensemble de stratégies de trading quantitatives claires et complètes. Elle détermine les zones de résistance de soutien critique tout en tenant compte des jugements de tendance, permettant de saisir efficacement les opportunités de marché.

Code source de la stratégie
/*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)