Stratégie de rupture en deux étapes

Auteur:ChaoZhang est là., Date: 2023-11-02 15:58:29 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie prend des décisions de négociation basées sur la variation en pourcentage par rapport au prix d'ouverture de 5 minutes à 2 heures du matin chaque jour, en utilisant une rupture en deux étapes pour définir différentes conditions de déclenchement, dans le but de capturer des mouvements de prix significatifs sur différents marchés.

La logique de la stratégie

La stratégie calcule le changement en pourcentage de la bougie de 5 minutes actuelle en fonction de son prix d'ouverture par rapport au prix d'ouverture de la bougie de 5 minutes à 2h00 tous les jours. Lorsque le changement en pourcentage dépasse le seuil de rupture de la première étape, des décisions d'achat ou de vente correspondantes sont prises.

Si le stop loss est déclenché, lorsque le changement en pourcentage continue de s'étendre et dépasse la condition de déclenchement de la deuxième étape, les ordres antérieurs sont annulés et de nouveaux ordres d'achat ou de vente utilisant le seuil de la deuxième étape sont passés, le suivi du stop loss et du take profit continuant.

L'installation de la rupture en deux étapes filtre un peu de bruit pendant les marchés en évolution, ne faisant des transactions que sur des mouvements de prix plus importants.

Les avantages

  • La rupture en deux étapes avec des conditions de déclenchement différentes filtre efficacement le bruit sur les marchés variés, ne négociant que sur des fluctuations de prix plus importantes
  • L'activation de la deuxième étape permet d'éviter qu'un stop loss ne soit déclenché trop fréquemment.
  • Calculer la variation en pourcentage du prix d'ouverture utilise de nouvelles tendances après l'ouverture du marché chaque jour
  • Logie stratégique simple et claire, facile à comprendre et à mettre en œuvre

Risques et atténuations

  • La volatilité élevée peut entraîner une ouverture et une fermeture fréquentes des positions, ce qui augmente les coûts de négociation
  • La fixation de la deuxième étape trop élevée peut faire perdre de bonnes opportunités commerciales
  • La mise en place des niveaux trop bas peut déclencher des transactions supplémentaires inutiles

Les mesures d'atténuation

  • Optimiser les paramètres pour trouver le meilleur équilibre
  • Limiter le nombre maximal de transactions par jour afin d'éviter une survente
  • Utiliser des paramètres plus agressifs lors de tendances évidentes

Des possibilités d'amélioration

  • Optimiser les valeurs pour les deux étapes de rupture pour trouver la meilleure combinaison
  • Rechercher des paramètres optimaux pour différents produits et périodes de temps
  • Incorporer un indicateur de tendance pour utiliser des réglages plus agressifs lors de fortes tendances
  • Limiter les transactions maximales quotidiennes afin d'éviter une survente
  • Optimiser le stop loss et les points de profit pour un meilleur rapport risque-rendement

Résumé

Cette stratégie capte les pics de prix en utilisant une rupture en deux étapes dans les marchés variés, filtrant efficacement le bruit. Le concept est simple et clair, et peut obtenir de bons résultats grâce à l'optimisation des paramètres.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Auto Entry Bot", overlay=true)

// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)

// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
    openPrice := open
percentageChange = (close - openPrice) / openPrice * 100

// Track the cumulative percentage change
var float cumulativeChange = 0

// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)

// Check for price change trigger
if (percentageChange >= triggerPercentage1)
    // Sell signal
    strategy.entry("Sell", strategy.short)
    strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (percentageChange <= -triggerPercentage1)
    // Buy signal
    strategy.entry("Buy", strategy.long)
    strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
    strategy.cancel("Sell")  // Cancel previous sell order
    strategy.entry("Sell2", strategy.short)
    strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
    strategy.cancel("Buy")  // Cancel previous buy order
    strategy.entry("Buy2", strategy.long)
    strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade


Plus de