La stratégie de double dynamique a pour but de réaliser des ventes à bas prix en identifiant les formes de lignes K où les actions augmentent ou diminuent de manière continue. Elle utilise des indicateurs de jugement simples, faciles à mettre en œuvre, et s’applique à la négociation de courts courts.
La stratégie est basée sur deux indicateurs principaux:Nombre de lignes K surmontéesetNombre de lignes K décroissantes。
Les paramètres ci-dessus permettent de déterminer des règles de négociation spécifiques en ajustant LongEnterAfter, LongExitAfter, ShortEnterAfter et ShortExitAfter.
La stratégie capte les changements de la dynamique du cours des actions et détermine le moment d’entrée et de sortie en surveillant en permanence la baisse et la baisse du cours de clôture quotidien. Lorsqu’il y a une configuration de ligne K avec les paramètres de l’indicateur, effectuez une opération d’ouverture ou de vente en position de vente correspondante.
En résumé, le cœur de la double dynamique est d’identifier les tendances à la baisse à court terme du cours d’une action afin de déterminer la direction et le moment de la transaction. Elle est simple et directe, et le niveau de positivité de la stratégie peut être ajusté par paramètres.
La double dynamique présente les avantages suivants:
Dans l’ensemble, la double dynamique convient aux investisseurs sensibles aux variations du cours de l’action et à ceux qui recherchent une fréquence élevée de transactions. Elle permet de saisir les opérations à court terme d’une action individuelle et d’obtenir des gains supplémentaires.
La double dynamique présente aussi les risques suivants:
Les mesures suivantes peuvent être envisagées pour maîtriser les risques:
Cette stratégie peut être optimisée en fonction des points suivants:
L’ajout d’indicateurs de jugement de tendance pour éviter les erreurs de négociation à la fin de la tendance. Des indicateurs tels que MACD, KDJ peuvent être introduits pour juger de la tendance majeure.
Il est important d’augmenter le volume de transactions et d’éviter de faire des réserves lorsque le volume diminue.
Le stop-loss mobile est configuré pour bloquer les bénéfices, et le stop-loss peut être suivi avec ATR au moins N fois supérieur.
Augmentation de l’optimisation des combinaisons de paramètres de retour et recherche de paramètres optimaux pour améliorer la stabilité.
L’ajout d’un module de négociation algorithmique pour une gestion des commandes plus intelligente.
L’utilisation de l’apprentissage automatique pour trouver des signaux de trading plus efficaces.
Dans l’ensemble, les principaux axes d’optimisation sont l’amélioration de la stabilité stratégique, la gestion des risques et la découverte d’alphas plus efficaces. Il est également important de renforcer la capacité de négociation des algorithmes.
La stratégie de double dynamique permet de négocier au moment de la sélection d’une action en utilisant un simple jugement de la ligne K. Elle est facile à mettre en œuvre et permet d’ajuster le niveau de contrôle des paramètres. Elle convient principalement aux investisseurs qui recherchent des gains à court terme, en particulier pour les actions de petite et moyenne valeur.
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy(title="simple momentum", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// ====================================
// STUDY AND STRATEGY
// Inputs
LongEnterAfter = input(title="enter long after X rising blocks", defval=2)
LongExitAfter = input(title="exit long after X falling blocks", defval=1)
ShortEnterAfter = input(title="enter short after X falling blocks", defval=2)
ShortExitAfter = input(title="exit short after X rising blocks", defval=1)
// Criteria
Valid = change(time)
LongEnter = Valid and rising(close, LongEnterAfter)
LongExit = Valid and falling(close, LongExitAfter)
ShortEnter = Valid and falling(close, ShortEnterAfter)
ShortExit = Valid and rising(close, ShortExitAfter)
// ====================================
// STRATEGY
TradeSinceYear = input(title="trade since year", defval=2017)
TradeSinceMonth = input(title="trade since month", defval=1)
if year > TradeSinceYear or (year == TradeSinceYear and month >= TradeSinceMonth)
strategy.entry("long", strategy.long, when = LongEnter)
strategy.close("long", when = LongExit)
strategy.entry("short", strategy.short, when = ShortEnter)
strategy.close("short", when = ShortExit)