Stratégie dynamique de stop-profit et de stop-loss longue et courte basée sur le VWAP et les signaux inter-périodes


Date de création: 2024-03-08 17:37:21 Dernière modification: 2024-03-08 17:37:21
Copier: 7 Nombre de clics: 693
1
Suivre
1617
Abonnés

Stratégie dynamique de stop-profit et de stop-loss longue et courte basée sur le VWAP et les signaux inter-périodes

Aperçu

La stratégie utilise le VWAP de la ligne solaire comme signal d’entrée et de sortie. Lorsque le prix de clôture passe le VWAP, le stop-loss est placé au-dessous du point le plus bas de la ligne K précédente et le prix cible est placé 3 points au-dessus du prix d’ouverture. Lorsque le prix de clôture passe le VWAP, le stop-loss est placé au-dessus du point le plus haut de la ligne K précédente et le prix cible est placé 3 points au-dessous du prix d’ouverture.

Principe de stratégie

  1. Les données VWAP de la chaîne solaire sont utilisées comme base de jugement des tendances et des signaux de négociation.
  2. Déterminer si le cours de clôture actuel est à la hausse ou à la baisse par rapport au VWAP, comme condition de déclenchement de la survente ou de la rupture.
  3. En effet, si la ligne K précédente est en dessous du VWAP, elle est utilisée comme point d’arrêt. Sinon, le VWAP est utilisé comme point d’arrêt.
  4. Après avoir ouvert le portefeuille, placez 3 points de stop fixes.
  5. La stratégie continue de fonctionner jusqu’à ce que le signal inverse soit déclenché et que de nouvelles positions soient ouvertes.

Les données VWAP sur plusieurs périodes permettent de déterminer les tendances, d’exploiter les arrêts dynamiques et les points d’arrêt fixes, de maîtriser efficacement les tendances, de contrôler les risques de retrait et de verrouiller les bénéfices en temps opportun.

Analyse des avantages

  1. Simple et efficace: la logique de la stratégie est claire, l’utilisation d’un seul indicateur VWAP permet de déterminer les tendances et de déclencher les signaux, simple et facile à mettre en œuvre et à optimiser.
  2. Stop-loss dynamique: le stop-loss peut être mieux adapté aux fluctuations du marché et réduit le risque en fonction des hauts et des bas de la ligne K précédente.
  3. Fixed Point Stop: C’est un système qui permet de fixer le prix à un certain nombre de points, ce qui permet de verrouiller les bénéfices en temps opportun et d’éviter les retours de bénéfices.
  4. Stop Loss Stop: la stratégie se termine immédiatement lorsque le signal de revers est déclenché, sans causer de pertes supplémentaires aux positions déjà rentables, tout en ouvrant de nouvelles positions pour capturer de nouvelles tendances.

Analyse des risques

  1. Optimisation des paramètres: la stratégie utilise 3 points fixes comme frein, la négociation réelle peut nécessiter une optimisation en fonction de différents paramètres et caractéristiques du marché, en choisissant les meilleurs paramètres.
  2. En cas de choc, les entrées et sorties fréquentes peuvent entraîner des coûts de transaction plus élevés et affecter les bénéfices.
  3. La tendance à la continuité: la stratégie est basée sur la tendance à la tendance. Si le marché est en période de turbulence ou si la tendance est moins persistante, il peut y avoir plus de signaux de négociation, ce qui entraîne plus de risques.

Direction d’optimisation

  1. Filtrage de tendance: ajout d’autres indicateurs de tendance tels que les moyennes mobiles, le MACD, etc. pour une deuxième confirmation de la tendance et une meilleure fiabilité du signal.
  2. Stoppoints dynamiques: le nombre de stoppoints est ajusté dynamiquement en fonction de la volatilité du marché et d’indicateurs tels que l’ATR pour mieux s’adapter au marché.
  3. Gestion des positions: la taille des positions est ajustée de manière dynamique pour chaque transaction, en fonction des fonds du compte, des préférences en matière de risque, etc.
  4. Sélection de la période de négociation: en fonction des caractéristiques de l’indice et de l’activité des transactions, sélectionnez la meilleure période de négociation pour améliorer l’efficacité de la stratégie.

Résumer

Cette stratégie utilise des données VWAP intercycliques pour juger des tendances et déclencher des signaux, tout en contrôlant les risques et en bloquant les bénéfices en utilisant des arrêts de perte dynamiques et des arrêts à points fixes. C’est une stratégie de trading quantitative simple et efficace. L’optimisation des aspects tels que le filtrage des tendances, les arrêts dynamiques, la gestion de la position et la sélection des heures de négociation peut améliorer encore la robustesse et le potentiel de gain de la stratégie.

Code source de la stratégie
/*backtest
start: 2024-03-06 00:00:00
end: 2024-03-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 200)
// Higher Time Frame
float sl = na
float tgt = na
posSize = 1
vwap_1d = request.security(syminfo.tickerid, "1D", ta.vwap(close))
// plot(vwap_1d)

// To avoid differences on historical and realtime bars, you can use this technique, which only returns a value from the higher timeframe on the bar after it completes:
// indexHighTF = barstate.isrealtime ? 1 : 0
// indexCurrTF = barstate.isrealtime ? 0 : 1
// nonRepaintingVWAP = request.security(syminfo.tickerid, "1D", close[indexHighTF])[indexCurrTF]
// plot(nonRepaintingVWAP, "Non-repainting VWAP")

enterLong = ta.crossover(close, vwap_1d)
exitLong  = ta.crossunder(close, vwap_1d)

enterShort = ta.crossunder(close, vwap_1d)
exitShort  = ta.crossover(close, vwap_1d)

if enterLong
    sl := low[1]>vwap_1d ?low[1]:vwap_1d
    tgt:=close+3
    strategy.entry("EL", strategy.long, qty=posSize)
    strategy.exit('exitEL', 'EL', stop=sl, limit=tgt)
if enterShort
    sl := high[1]<vwap_1d ?high[1]:vwap_1d
    tgt := close-3
    strategy.entry("ES", strategy.short, qty=posSize)
    strategy.exit('exitES', 'ES', stop=sl, limit=tgt)

// if exitLong
//     strategy.close("EL")
// if exitShort
//     strategy.close("ES")





// goLongCondition1 = ta.crossover(close, vwap_1d)
// timePeriod = time >= timestamp(syminfo.timezone, 2021, 01, 01, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
//     stopLoss = low[1]
//     takeProfit = close+3
//     strategy.entry('long', strategy.long)
//     strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
plot(close, color=color.new(#00c510, 0))
plot(vwap_1d, color=color.new(#f05619, 0))
plot(sl, color=color.new(#fbff00, 0))
plot(tgt, color=color.new(#00e1ff, 0))