Indicateur de momentum, stratégie longue et courte


Date de création: 2023-11-02 16:34:48 Dernière modification: 2023-11-02 16:34:48
Copier: 0 Nombre de clics: 644
1
Suivre
1617
Abonnés

Indicateur de momentum, stratégie longue et courte

Aperçu

La stratégie utilise des indicateurs dynamiques tels que l’indicateur de direction moyen (ADX), l’indicateur de tendance (DMI) et l’indicateur de trajectoire des marchandises (CCI) pour déterminer la direction de la tendance et suivre la tendance. Lorsque l’ADX et l’indicateur de tendance confirment la formation d’une tendance, établissez une position au moment où le CCI est dépassé.

Principe de stratégie

  1. Calculer les indicateurs ADX, DMI et CCI

    • L’ADX est utilisé pour juger de la force d’une tendance, et la tendance est considérée comme suffisamment forte lorsque l’ADX est supérieur à la limite fixée.
    • Le DMI est composé de DI+ et DI-, qui indiquent respectivement l’intensité de la tendance à la hausse et de la tendance à la baisse. Lorsque DI+ est supérieur à DI-, il est considéré comme étant en hausse, au contraire de la tendance à la baisse.
    • Le CCI est utilisé pour juger de l’excédent d’achat et d’achat. Si le CCI est inférieur à 100, c’est un excédent d’achat et si il est supérieur à 100, c’est un excédent d’achat.
  2. Déterminer la direction à prendre.

    • Quand DI+ est porté sur DI-, il est jugé comme une tendance à la hausse.
    • Lorsque le DI- dépasse le DI+, il est jugé comme une tendance à la baisse.
  3. Entrée dans le stade.

    • Lorsqu’une tendance haussière se forme, l’ADX est supérieur à la marge et le CCI est inférieur à -100.
    • Lorsque la tendance à la baisse se forme, l’ADX est supérieur à la marge et le CCI est supérieur à 100, l’entrée en position courte est effectuée.
  4. Les pertes en jeu.

    • Si vous en faites trop, vous devrez débarrasser le DI- en portant le DI+.
    • Il y a une différence entre le DI+ et le DI-

Analyse des forces stratégiques

  1. Utilisez l’ADX pour juger si la tendance est forte ou faible et évitez de faire des transactions inutiles en l’absence de tendance évidente.

  2. L’utilisation du DMI pour déterminer la direction des tendances réduit la probabilité d’erreurs de jugement.

  3. L’entrée en bourse en cas de dépassement de la CCI permet de saisir en temps opportun le point de basculement de la tendance et de réduire le risque d’entrée en bourse.

  4. L’utilisation d’une combinaison d’indicateurs de dynamique peut améliorer l’exactitude des jugements.

  5. Il existe des mécanismes de prévention qui limitent les pertes individuelles.

Risques et couvertures

  1. Lorsque l’ADX recule, il peut y avoir plusieurs transactions d’anxiété qui entraînent des pertes. Il est possible d’augmenter la marge d’entrée de l’ADX de manière appropriée pour s’assurer que la tendance est suffisamment évidente.

  2. L’indicateur DMI est en retard et peut manquer des opportunités plus tôt dans la tendance. Il peut être combiné avec d’autres indicateurs ou une analyse graphique technique pour déterminer le moment d’entrée.

  3. Le CCI est susceptible de générer des transactions fréquentes. La marge de la CCI peut être allégée de manière appropriée pour filtrer une partie du bruit.

  4. En cas de prise de position en cours de négociation, il est recommandé d’adopter une stratégie neutre sur le marché boursier et de définir des règles de couverture pour réduire le risque de position globale.

Orientation de l’optimisation de la stratégie

  1. Optimiser les paramètres ADX pour trouver le meilleur équilibre entre le filtrage du bruit et la capture de la tendance dans le temps.

  2. Optimiser les paramètres DMI, équilibrer le retard et la sensibilité.

  3. Optimiser les paramètres CCI, équilibrer la fréquence des transactions et la capacité à capturer les inversions.

  4. Le test ajoute ou modifie d’autres indicateurs pour trouver une meilleure combinaison. Par exemple, MACD, KDJ, etc.

  5. Test des variétés commerciales pour trouver les variétés les plus adaptées.

  6. Optimiser les stratégies de gestion des positions et contrôler les risques tout en conservant la capacité de suivre les tendances.

Résumer

La stratégie utilise les tendances de jugement ADX, la direction déterminée par le DMI et la logique de suivi de la tendance de la position du point de retournement CCI pour les transactions de suivi de la tendance, avec une logique plus forte. Cependant, l’optimisation des paramètres est toujours nécessaire et la gestion de la position est utilisée pour contrôler le risque. Si les paramètres sont ajustés au niveau approprié et appliqués sur des variétés où la tendance est évidente, la stratégie est susceptible de générer des gains stables.

Code source de la stratégie
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ADX Strategy", currency = "USD", initial_capital = 1000, overlay=true)
adxlen = input(9, title="ADX Smoothing")
dilen = input(14, title="DI Length")
ADX_Entry = input(25, title="ADX Entry")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)
cci_length = input(20, minval=1, title="CCI Length")
cci_ma = sma(close, cci_length)
cci = (close - cci_ma) / (0.015 * dev(close, cci_length))

stop_loss = syminfo.mintick * 100


open_longs = strategy.position_size > 0
open_shorts = strategy.position_size < 0

possible_bull = false
possible_bull := not open_longs ? (possible_bull[1] and not crossunder(up,down) ? true : false) : false
possible_bear = false
possible_bear := not open_shorts ? (possible_bear[1] and not crossunder(down,up) ? true : false) : false



bool bull_entry = crossover(up,down)

if(bull_entry and up < ADX_Entry and cci < 0)
	possible_bull := true
	bull_entry := false

if(possible_bull and up > ADX_Entry and cci > -100)
	bull_entry := true

bool bear_entry = crossover(down,up)

if(bear_entry and down < ADX_Entry and cci > 0)
	possible_bear := true
	bear_entry := false

if(possible_bear and down >= ADX_Entry and cci < 100)
	bear_entry := true

strategy.entry("Short", strategy.short, qty = 1,comment="Short", stop=high[1] - stop_loss, when = bear_entry)
strategy.entry("Long", strategy.long, qty = 1, comment="Long", stop=low[1] - stop_loss, when = bull_entry )	

strategy.close_all(when = (open_shorts and (crossover(up,down) or crossover(sig,down))) or (open_longs and ( crossover(down,up) or crossover(sig, up))))