Stratégie quantitative combinant canal Donchian dynamique et moyenne mobile simple

SMA
Date de création: 2024-06-17 17:29:48 Dernière modification: 2024-06-17 17:29:48
Copier: 4 Nombre de clics: 772
1
Suivre
1617
Abonnés

Stratégie quantitative combinant canal Donchian dynamique et moyenne mobile simple

Aperçu

Cette stratégie combine les deux indicateurs techniques de la voie de Don Chien et de la moyenne mobile simple. Elle ouvre des positions en surplus lorsque le prix franchit la trajectoire descendante de la voie de Don Chien et est supérieur à la moyenne mobile simple et ouvre des positions en blanc lorsque le prix franchit la trajectoire ascendante de la voie de Don Chien et est inférieur à la moyenne mobile simple.

Principe de stratégie

  1. Calculer la trajectoire ascendante et descendante de la voie de Don Chien. La trajectoire ascendante de la voie de Don Chien est le prix le plus élevé des n derniers cycles et la trajectoire descendante est le prix le plus bas des n derniers cycles.
  2. Calculer une moyenne mobile simple. La moyenne mobile simple est la moyenne arithmétique des prix de clôture au cours des m derniers cycles.
  3. Ouverture de positions en plusieurs positions: ouverture de positions en plusieurs positions lorsque le prix est inférieur à la trajectoire descendante du canal de Dongguan et que le prix de clôture est supérieur à la moyenne mobile simple.
  4. Ouverture de position vide: ouverture d’une position vide lorsque le prix est supérieur au cours de la transaction et que la clôture est inférieure à la moyenne mobile simple.
  5. La position de plus en plus équilibrée: lorsque le prix touche la voie de Dongxian, la position est équilibrée.
  6. Placement à vide: Placement à vide lorsque le prix touche la trajectoire descendante de la voie de Dongguan.

Avantages stratégiques

  1. La combinaison de deux éléments de marché, la tendance et la volatilité. La moyenne mobile simple capture la tendance, la voie de Dongxian capture la volatilité et permet de mieux saisir les opportunités de reprise dans la tendance.
  2. Les conditions d’arrêt sont claires et permettent de bloquer les bénéfices en temps opportun. Les positions à plusieurs têtes et les têtes creuses peuvent être fermées en temps opportun avant que la tendance ne se retourne.
  3. Les paramètres sont peu nombreux et l’optimisation est peu difficile. La stratégie ne comporte que trois paramètres pour faciliter l’optimisation: le cycle de la voie de Dongguan, le décalage et le cycle de la moyenne mobile simple.

Risque stratégique

  1. La fréquence des transactions. Cette stratégie entraîne une fréquence élevée de positions creuses qui entraînent des gains sur les marchés où les coûts de transaction sont élevés. Le nombre de transactions peut être réduit en assouplissant modérément les conditions de position ou en augmentant le délai.
  2. Les marchés choquants ne sont pas performants. La stratégie peut subir plus de pertes lorsque la tendance est incertaine. La stratégie peut être suspendue en identifiant les marchés choquants à l’aide d’indicateurs statistiques de volatilité.
  3. La stabilité des paramètres est insuffisante. Les paramètres optimaux peuvent varier considérablement selon les normes et les périodes, la stabilité des paramètres est médiocre et les performances sur disque dur peuvent ne pas être à la hauteur de la rétroaction.

Orientation de l’optimisation de la stratégie

  1. L’ajout de conditions de prise de position optionnelles associées à d’autres indicateurs, telles que l’exigence que l’ADX dans le DMI soit supérieur à une certaine marge, est autorisé avant la prise de position, ou l’ouverture de positions supplémentaires lorsque le RSI quitte la zone de survente, améliore la probabilité de prise de position.
  2. Le stop-loss dynamique est utilisé pour remplacer le stop-loss fixe du canal de la tangjian, permettant ainsi un suivi des bénéfices. Par exemple, les opérateurs peuvent être placés sur le stop-loss ATR ou le stop-loss SAR après que le prix a touché le canal de la tangjian.
  3. Adaptation dynamique du cycle de la voie de Dongguan en fonction de la volatilité, raccourcissement du cycle de la voie de Dongguan en cas de marché à forte volatilité et allongement du cycle en cas de marché à faible volatilité. Cela aide à s’adapter aux différents marchés.

Résumer

La combinaison de la stratégie de la voie dynamique de Dungeon avec la moyenne mobile simple est un cadre de stratégie de trading quantitatif simple et facile à utiliser. Il construit une logique d’ouverture de position équilibrée à partir du suivi de la tendance et de la rupture de la volatilité, adaptée aux variétés à forte tendance. Cependant, la stratégie ne fonctionne pas bien dans des marchés souvent volatiles et est généralement stable en termes de paramètres.

Code source de la stratégie
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("FBK Donchian Channel Strategy", overlay=true)

// Inputs
donchian_period = input.int(20, title="Donchian Channel Period")
donchian_offset = input.int(1, title="Donchian Channel Offset")
sma_period = input.int(200, title="SMA Period")
start_date = input(timestamp("2023-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2023-12-31 23:59 +0000"), title="End Date")
trade_type = input.string("Both", title="Trade Type", options=["Buy Only", "Sell Only", "Both"])

// Calculate indicators
donchian_upper = ta.highest(high, donchian_period)[donchian_offset]
donchian_lower = ta.lowest(low, donchian_period)[donchian_offset]
sma = ta.sma(close, sma_period)

// Plot indicators
plot(donchian_upper, color=color.red, title="Donchian Upper")
plot(donchian_lower, color=color.green, title="Donchian Lower")
plot(sma, color=color.blue, title="SMA")

// Helper function to check if within testing period
is_in_testing_period() => true

// Entry conditions
long_condition = low <= donchian_lower and close > sma
short_condition = high >= donchian_upper and close < sma

// Exit conditions
exit_long_condition = high >= donchian_upper
exit_short_condition = low <= donchian_lower

// Open long position
if (is_in_testing_period() and (trade_type == "Buy Only" or trade_type == "Both") and long_condition)
    strategy.entry("Long", strategy.long)

// Close long position
if (is_in_testing_period() and exit_long_condition)
    strategy.close("Long")

// Open short position
if (is_in_testing_period() and (trade_type == "Sell Only" or trade_type == "Both") and short_condition)
    strategy.entry("Short", strategy.short)

// Close short position
if (is_in_testing_period() and exit_short_condition)
    strategy.close("Short")

// Close all positions at the end of the testing period
if not is_in_testing_period()
    strategy.close_all()