Cet article explique en détail une stratégie quantitative de négociation de rupture basée sur les hauts et les bas de l'oscillation des prix.
I. Logique stratégique
La principale logique de négociation est la suivante:
Calculer le plus haut plus haut et le plus bas plus bas des 3 barres récentes pour le swing à court terme actuel.
Calculer le plus haut et le plus bas des 50 barres récentes pour la fourchette à court terme.
Un signal d'achat est généré lorsque le prix dépasse le plus bas à court terme et le plus bas à court terme.
Un signal de vente est généré lorsque le prix dépasse le sommet à court terme et le sommet à court terme.
Le stop loss et le take profit sont réglés pour contrôler les risques.
En détectant les ruptures des niveaux clés, il est possible de détecter efficacement les nouvelles tendances émergentes.
II. Avantages de la stratégie
Les principaux avantages sont les suivants:
Tout d'abord, les règles de rupture sont simples et faciles à mettre en œuvre.
Deuxièmement, les paramètres stop loss et take profit contrôlent directement les risques commerciaux.
Enfin, des intervalles de temps de backtest peuvent être définis pour des périodes de test différentes.
III. Les faiblesses potentielles
Cependant, il existe des problèmes potentiels:
Tout d'abord, les ruptures à elles seules peuvent générer de faux signaux, ne permettant pas de déterminer les tendances avec précision.
Deuxièmement, l'absence de réglage des paramètres entraîne une stabilité limitée.
Enfin, les niveaux de stop-loss et de take profit nécessitent une optimisation pour le rapport risque-rendement.
IV. Résumé
En résumé, cet article a expliqué une stratégie de trading de rupture quantitative basée sur les hauts et les bas de l'oscillation des prix. Il vise à découvrir des opportunités à travers des ruptures de niveau clés.
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("JetzGiantz Strategy", overlay=true) // Getting inputs StopTgt = input(10, minval=1, title="Stop Loss $") ProfTgt = input(100, minval=1, title="Profit Target $") //Filter backtest month and year startMonth = input(1, minval=1, maxval=12, title="Month") startYear = input(2021, minval=2000, maxval=2100, title="Year") //Filter funtion inputs //Calculations Low3 = lowest(low,3) Low50 = lowest(low,50) High3 = highest(high,3) High50 = highest(high,50) if (month>=startMonth and year>=startYear) if(close[1] < open[1] and close > open and close > open[1] and (Low3 < Low50[1] or Low3 < Low50[2] or Low3 < Low50[3])) strategy.order("BuyEntry", strategy.long, when=strategy.position_size == 0, comment="BuyEntry") if (month>=startMonth and year>=startYear) if(close[1] > open[1] and close < open and close > open[1] and (High3 > High50[1] or High3 > High50[2] or High3 > High50[3])) strategy.order("SellEntry", strategy.short, when=strategy.position_size == 0, comment="SellEntry") strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size > 0) strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size < 0)