Stratégie de prise de profit dynamique et d'ajout de position dynamique des bandes de Bollinger


Date de création: 2024-03-22 15:49:28 Dernière modification: 2024-03-22 15:49:28
Copier: 0 Nombre de clics: 653
1
Suivre
1617
Abonnés

Stratégie de prise de profit dynamique et d’ajout de position dynamique des bandes de Bollinger

Aperçu de la stratégie

La stratégie est basée sur l’indicateur de la ceinture de Brin, ouvrant la position lorsque le prix touche la ceinture de Brin et monte vers le bas, et définissant une logique d’arrêt dynamique et de mise en position dynamique. Lorsque le prix rebondit de la ceinture de Brin et franchit la voie médiane, la stratégie considère qu’une tendance à la hausse est formée, auquel cas la stratégie prend une position plus élevée lorsque le prix revient à une certaine proportion de la voie médiane; lorsque le prix franchit finalement la ceinture de Brin et monte vers la voie médiane, la stratégie est à zéro.

Principe de stratégie

Les principaux principes de cette stratégie sont les suivants:

  1. La formule pour calculer les bandes de Brin en haut, en milieu et en bas des voies. La formule pour calculer les bandes d’en haut et de bas des voies est N fois l’écart-type de la voie moyenne, où N peut être personnalisé.

  2. La stratégie d’ouverture de position est similaire à celle du système traditionnel de rupture de la ceinture de Brin.

  3. Après avoir ouvert une position, si le prix de clôture a franchi la trajectoire moyenne de la ceinture de Brin vers le haut, on considère qu’une tendance à la hausse s’est formée et on marque la variable basisCrossed comme true. Après avoir ouvert une position vide, si le prix de clôture a franchi la ceinture de Brin vers le bas, on marque également basisCrossed comme true.

  4. Dans le cas d’une position à plusieurs têtes, si le prix de clôture tombe en dessous de la trajectoire et que la baseCrossed est vraie, et que le prix actuel est inférieur de plus de 2% au prix d’ouverture de la position initiale, alors la stratégie augmente la position, tout en réinitialisant la baseCrossed à false. Le cas de la position vide est le contraire.

  5. Si le cours de clôture dépasse la barre de Brin lors d’une position à plusieurs, ou si le cours de clôture dépasse la barre de Brin lors d’une position à vide, la stratégie consiste à niveler toutes les positions, à réaliser des bénéfices et à réinitialiser les variables marquées pour préparer la prochaine position.

Grâce à la logique de l’ouverture, de la prise de position et de la fermeture des positions, la stratégie est capable d’opérer de manière flexible dans des conditions de tendance et d’obtenir des bénéfices plus élevés. Tout en capturant la tendance grâce à cet indicateur technique classique de la ceinture de Brin, la stratégie possède une certaine adaptabilité et stabilité.

Analyse des avantages

  1. Stop-loss dynamique: la stratégie consiste à ajuster dynamiquement le stop-loss par le biais de la descente de la courbe de Brin, ce qui permet de mieux s’adapter aux fluctuations du marché et de protéger les bénéfices de manière flexible par rapport au stop-loss à point fixe.

  2. Accumulation dynamique: la stratégie accumule progressivement des positions dans la phase de retrait après la formation d’une tendance, ce qui permet de réaliser des bénéfices plus élevés dans des conditions de tendance. L’accumulation dynamique donne à la stratégie un avantage dans le commerce de tendance.

  3. Flexibilité des paramètres: les paramètres de la ceinture de Brin, tels que les valeurs N, P, etc., peuvent être ajustés de manière flexible pour s’adapter à différentes caractéristiques du marché et styles de négociation.

  4. Adaptabilité: La courbe de Brin est un indicateur technique classique qui a une bonne capacité de capture de tendances. Combiné à une gestion de position dynamique, il peut être utilisé de manière stable dans tous les marchés financiers.

  5. Logique claire: les conditions d’ouverture de position et la logique d’augmentation et de diminution de position de la stratégie sont très claires et faciles à comprendre et à maîtriser pour les traders. Une logique claire signifie également qu’il est plus facile de faire du développement secondaire et d’optimiser la stratégie.

Analyse des risques

  1. Les marchés de choc: les stratégies de la ceinture de bourses ont tendance à être moins performantes dans les marchés de choc, où des positions ouvertes fréquentes entraînent des coûts de transaction plus élevés, ce qui affecte les résultats globaux.

  2. Un revirement de tendance: au moment crucial du revirement de tendance, la stratégie peut être jugée retardée, entraînant une prise de position dans la mauvaise direction, ce qui entraîne un retrait plus important.

  3. Extrême: Dans des conditions extrêmes (comme la chute d’une tempête), une anomalie de la courbe de Bryn peut entraîner l’échec de la stratégie.

  4. Paramètres: les paramètres mal définis peuvent avoir un impact négatif sur la performance de la stratégie, par exemple, une valeur N trop petite peut entraîner des transactions fréquentes, et une valeur N trop grande peut entraîner un retard de signal.

  5. Les événements Black Swans: la stratégie peut être exposée à des risques importants en cas d’événements politiques et économiques majeurs.

Pour les risques ci-dessus, il est possible de contrôler les deux aspects suivants: 1) paramètres de configuration raisonnable, paramètres d’optimisation pour différents paramètres et l’état du marché; 2) ajouter plus de conditions de filtrage dans la stratégie, telles que le jugement de la tendance, le filtrage de la volatilité, etc., pour améliorer la qualité du signal.

Direction d’optimisation

  1. Filtrage de tendance: ajout de logiques de jugement de tendance lors de l’ouverture d’une position, telles que le classement des MA à plusieurs têtes comme condition de filtrage de faire plus, le classement des MA à vide comme condition de filtrage de faire moins, afin d’améliorer le taux de réussite de la prise de tendance.

  2. Le filtrage de la volatilité: la bande de Brin est en fait un indicateur de la volatilité, qui permet d’identifier l’état de volatilité du marché en introduisant des indicateurs tels que l’ATR, la volatilité historique, etc. La position peut être réduite de manière appropriée en cas de forte vague et augmentée en cas de faible vague, afin de mieux contrôler le risque.

  3. Optimisation des paramètres dynamiques: les paramètres de la ceinture de Brin peuvent être ajustés en fonction de la dynamique des conditions du marché. Par exemple, la valeur N peut être augmentée dans les conditions de tendance et la valeur N peut être réduite dans les marchés instables. Cela nécessite l’utilisation de technologies telles que l’apprentissage automatique pour trouver les paramètres optimaux en s’entraînant sur des données historiques.

  4. Stratégie combinée: Cette stratégie peut être combinée avec d’autres stratégies classiques telles que le MACD, le RSI, etc., pour former une stratégie combinée, améliorant la stabilité et la rentabilité du système.

  5. Logique d’ajout d’un stop-loss: La stratégie manque actuellement d’une logique d’arrêt de perte explicite, et des mécanismes tels que l’ajout d’un stop-loss mobile ou d’un stop-loss à pourcentage fixe peuvent être envisagés pour contrôler la perte maximale d’une seule transaction.

  6. Optimisation de la gestion des positions: dans le processus de prise et de retrait de positions, les méthodes classiques de gestion des positions telles que la formule de Kelly, la valeur optimale de F peuvent être utilisées pour maximiser les profits avec un risque contrôlable.

Grâce à ces optimisations, il est possible d’améliorer encore le rapport risque/rendement de la stratégie, afin qu’elle puisse mieux s’adapter aux conditions changeantes du marché et apporter des rendements stables aux traders.

Résumer

La stratégie de stop-loss dynamique et la stratégie d’hypothèque dynamique sont des stratégies classiques de suivi de tendance basées sur la courbe de Brin, qui permettent d’obtenir des gains de tendance plus élevés en ajustant dynamiquement les positions. La stratégie est logiquement claire, paramétralement flexible et adaptative. C’est une stratégie de trading quantitative qui mérite une étude et une application approfondies.

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

//@version=5
//  Bollinger Bands 1Bb 상하한 크로스 롱숏 실행

strategy(shorttitle="BB", title="Bollinger Bands", overlay=true )
 // bb
length = input.int(12, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
add = input.float(0.98, step = 0.001)
// plot(upper - lower, "Basis", color=color.red, offset = offset)
var bool entryMade = false
var bool basisCrossed = false
var bool upperCrossed = false
var bool lowerCrossed = false
strategy.initial_capital = 50000
if close < lower and not entryMade
    strategy.entry("롱", strategy.long, qty = strategy.initial_capital/10000)
    entryMade := true
if ta.crossover(close, basis) and entryMade and not upperCrossed
    basisCrossed := true
if close > upper
    upperCrossed := true
if close < lower and entryMade and basisCrossed and not upperCrossed and close < strategy.position_avg_price*add
    strategy.entry("추가롱", strategy.long, strategy.initial_capital/10000)
    basisCrossed := false
if close > upper
    strategy.close("롱")
    strategy.close("추가롱")
    entryMade := false
    basisCrossed := false
    upperCrossed := false
///////////반대 포지션
if close > upper and not entryMade
    strategy.entry("s", strategy.short, qty = strategy.initial_capital/10000)
    entryMade := true
if ta.crossunder(close, basis) and entryMade and not lowerCrossed
    basisCrossed := true
if close < lower
    lowerCrossed := true
if close > upper and entryMade and basisCrossed and not lowerCrossed and close > strategy.position_avg_price*add
    strategy.entry("추가s", strategy.short, strategy.initial_capital/10000)
    basisCrossed := false
if close < lower
    strategy.close("s")
    strategy.close("추가s")
    entryMade := false
    basisCrossed := false
    upperCrossed := false