Stratégie de rupture de l'inversion consécutive du chandelier

Auteur:ChaoZhang est là., Date: 2024-03-05 16h07:40 Je vous en prie.
Les étiquettes:

img

Vue d'ensemble de la stratégie

L'idée de base de la stratégie de rupture de renversement de chandelier consécutif est de saisir les opportunités de trading lorsque le prix de l'action montre un signal de renversement et franchit des niveaux de résistance importants après une période de baisses consécutives.

Principe de stratégie

  1. Définir les conditions d'entrée: lorsque le prix de l'action a chuté pour X bougies consécutives, suivies de Y bougies consécutives, et que la stratégie n'a actuellement aucune position, la condition d'entrée est déclenchée et une position longue est ouverte.
  2. Définir les conditions de stop-loss: après ouverture d'une position, si le prix de l'action tombe en dessous du prix de clôture le plus bas des quelques bougies précédentes, ou en dessous du prix le plus élevé au moment de l'entrée moins 2 fois l'ATR (Average True Range), la condition de stop-loss est déclenchée et la position est fermée.
  3. Enregistrer le prix d'entrée et le prix stop-loss correspondant pour chaque entrée et réinitialiser les paramètres après la clôture de la position pour préparer la prochaine transaction.
  4. Utilisez le script de pin pour écrire le code de stratégie, qui peut être testé et optimisé sur des plateformes comme TradingView.

La clé de la stratégie réside dans l'identification correcte des signaux d'inversion et la définition des paramètres appropriés. Le nombre de bougies descendantes consécutives et le nombre de bougies ascendantes consécutives sont deux paramètres importants qui doivent être optimisés en fonction des résultats des backtests. En outre, la définition des conditions de stop-loss est également cruciale. Il doit contrôler le risque tout en ne fermant pas les positions trop tôt et en ne manquant pas les opportunités.

Les avantages de la stratégie

  1. Convient pour les marchés oscillants et les premiers stades des tendances: la stratégie ouvre des positions lorsqu'un signal d'inversion apparaît après une période d'ajustement des prix, ce qui facilite la saisie des opportunités au début d'une tendance.
  2. Stop-loss rapide pour contrôler le risque: en fixant des conditions de stop-loss basées sur les bas de prix antérieurs et l'ATR, les positions peuvent être fermées en temps opportun lorsque le cours des actions chute à nouveau, contrôlant les pertes.
  3. Paramètres réglables et forte adaptabilité: des paramètres tels que le nombre de bougies consécutives et les conditions de stop-loss peuvent être ajustés en fonction des caractéristiques du marché et des préférences personnelles, ce qui améliore l'adaptabilité de la stratégie.

Risques stratégiques

  1. Une sélection inappropriée des paramètres conduit à des transactions fréquentes: si le nombre de bougies consécutives est trop faible, la stratégie peut ouvrir et fermer des positions fréquemment, ce qui augmente les coûts de transaction.
  2. L'imposition incorrecte d'une position stop-loss entraîne une augmentation des pertes: si la position stop-loss est trop large, elle peut entraîner des pertes excessives dans une seule transaction; si la position stop-loss est trop étroite, elle peut entraîner la fermeture prématurée de transactions rentables.
  3. La stratégie est plus adaptée à une utilisation sur des marchés oscillants et à des stades précoces de tendances.
  4. Manque de gestion des positions et de gestion des capitaux: le code de stratégie actuel n'inclut pas la gestion des positions et la gestion des capitaux.

Directions d'optimisation de la stratégie

  1. Optimisez le nombre de bougies consécutives: Trouvez le nombre de bougies consécutives à la baisse et à la hausse le plus performant dans la période la plus récente en testant en arrière différentes combinaisons de paramètres.
  2. Optimiser les conditions d'arrêt des pertes: envisager d'utiliser des conditions d'arrêt des pertes plus dynamiques, telles que la définition de positions d'arrêt des pertes basées sur l'ATR ou le pourcentage, pour s'adapter aux différentes situations de volatilité du marché.
  3. Ajoutez une stratégie bidirectionnelle pour le long et le court: Actuellement, la stratégie n'a qu'une seule direction de long.
  4. Introduire la gestion des positions et la gestion des capitaux: ajuster dynamiquement la taille des positions de chaque transaction en fonction de la situation du capital du compte et de la préférence du risque, et fixer des limites globales de risque pour améliorer la robustesse de la stratégie.
  5. Combiner avec d'autres indicateurs ou signaux techniques: la stratégie peut être combinée avec d'autres indicateurs techniques (tels que le RSI, le MACD, etc.) ou des signaux de trading (tels que les ruptures, les modèles, etc.) pour améliorer la précision des positions d'ouverture et de clôture.

Résumé de la stratégie

La stratégie de rupture de renversement des bougies consécutives prend des décisions commerciales en capturant les signaux de renversement après des baisses consécutives des cours des actions. La stratégie est simple et facile à comprendre, adaptée à l'utilisation sur les marchés oscillants et les premiers stades des tendances. En définissant des paramètres tels que le nombre de bougies consécutives et les conditions de stop-loss, elle peut s'adapter de manière flexible à différentes conditions du marché. Cependant, la stratégie présente également certaines limitations, telles que l'adaptabilité moyenne aux marchés en tendance à long terme et le manque de gestion de position et de gestion de capital.

Dans les applications pratiques, la stratégie doit être optimisée et améliorée en fonction des caractéristiques du marché et de ses propres préférences en matière de risque. Par exemple, l'optimisation du nombre de bougies consécutives et des conditions de stop-loss, l'ajout de transactions bidirectionnelles pour les positions longues et courtes, l'introduction de la gestion des positions et de la gestion des capitaux, et la combinaison avec d'autres indicateurs techniques et signaux de trading. Cela peut améliorer la rentabilité de la stratégie tout en contrôlant les risques et en réalisant des rendements d'investissement stables.

En général, la stratégie de rupture d'inversion de chandelier consécutif est une stratégie de trading simple et pratique qui mérite une exploration et une optimisation supplémentaires dans la pratique. Cependant, aucune stratégie n'est omnipotente. Les investisseurs doivent également combiner leur propre expérience et leur jugement, prendre des décisions prudentes et exécuter strictement afin de rester invincibles sur le marché à long terme.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0

// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true

entry_condition() => 
	date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active

exit_condition() =>
	date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))

if (entry_condition())
	strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
	entry_bar_index := bar_index
	active := true
	stop_loss := math.min(close, close[1], close[2])
	// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
	strategy.close("ConsDnLong", comment = "CDLClose")
	// log.info("Close at bar {0}", bar_index)
	entry_bar_index := 1000000
	active := false
// if (dns >= consecutiveBarsDown)
// 	strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))

Plus de