La stratégie de rupture de point pivot est une stratégie de suivi de tendance qui achète des actions lorsque le prix dépasse la résistance récente et vend lorsque le prix dépasse le support récent pour capturer les changements de tendance.
La stratégie calcule les points intermédiaires du prix le plus élevé et du prix le plus bas sur une période comme les lignes de résistance et de soutien récentes.
Plus précisément, il calcule le point médian du prix le plus élevé au cours des derniers jours N1 comme la ligne de résistance, et le point médian du prix le plus bas au cours des derniers jours N2 comme la ligne de support.
La stratégie est simple et directe, ne nécessite aucune prédiction du marché, il suffit de suivre les ruptures de point pivot pour capturer les tendances.
La stratégie est très simple et intuitive, ne nécessitant aucune compétence en matière de prévisions, mais simplement le suivi des ruptures des points pivots.
La stratégie peut réagir en temps opportun lorsque la tendance change, en ajustant les positions pour éviter d'être piégé.
Les investisseurs peuvent personnaliser le nombre de jours pour regarder à gauche et à droite, ce qui ajuste la sensibilité de la stratégie.
La stratégie fournit principalement un suivi de la tendance. Elle peut être facilement combinée avec d'autres stratégies de chronométrage pour améliorer les rendements globaux.
La stratégie nécessite une certaine accumulation de données pour identifier les changements de tendance, ce qui peut entraîner certains retards dans les signaux.
Les marchés peuvent avoir des fausses ruptures à court terme des points pivots. Les investisseurs ont besoin de certaines compétences pour gérer les fléchettes et éviter d'être pris au piège.
La stratégie suit pleinement les tendances et présente donc des risques de retrait relativement élevés. Les investisseurs doivent prendre en compte leur propre tolérance au risque.
Les paramètres trop sensibles peuvent entraîner une fréquence de négociation excessive. Il est nécessaire d'ajuster correctement les paramètres pour contrôler le nombre de transactions.
Peut backtest et optimiser les N jours pour le plus haut et le plus bas pour trouver le meilleur mix de paramètres à long terme. peut également régler dynamiquement les paramètres en fonction des conditions du marché, en utilisant des paramètres plus sensibles lorsque la tendance est forte.
Une impulsion plus forte sur les signaux de rupture augmente les chances de changement de tendance réel.
Si la rupture s'aligne avec les divergences des indicateurs, les signaux sont plus efficaces.
Peut dimensionner les positions dynamiquement en fonction des conditions du marché pour contrôler le risque. Les couvertures peuvent être arrêtées pour éviter d'énormes pertes. Peut également ajuster la taille en fonction de la force des tendances en cours.
La stratégie de rupture de point pivot capture les tendances simplement à travers des ruptures de point pivot, adaptée à un large éventail d'investisseurs. Ses avantages sont la simplicité et la capture efficace des changements de tendance, mais elle présente également des problèmes de retard, des risques de frappe et de gros retranchements.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © EduardoMattje //@version=5 strategy("Pivot Point Breakout", "PPB", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true) // Constants var L_PIVOT_HIGH = "Pivot high" var L_PIVOT_LOW = "Pivot low" var LEFT = "Left" var RIGHT = "Right" var BOTH = "Both" var LONG = "Long" var SHORT = "Short" var DATES = "Date selection" var DATES_TOOLTIP = "Change it to limit the trades for the given time interval.\n\nLeave it to disable this behaviour." // Inputs var orderDirection = input.string(LONG, "Order direction", options=[BOTH, LONG, SHORT]) var leftHigh = input.int(3, LEFT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH) var rightHigh = input.int(3, RIGHT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH) var leftLow = input.int(3, LEFT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW) var rightLow = input.int(3, RIGHT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW) var startDate = input(0, "Starting date", group=DATES) var endDate = input(0, "Final date", group=DATES) // var float lastHigh = na var float lastLow = na lowPivot = ta.pivotlow(leftLow, rightLow) highPivot = ta.pivothigh(leftHigh, rightHigh) f_updateLevels(pivot_) => var float pastLevel = na if not na(pivot_) pastLevel := pivot_ pastLevel lastLow := f_updateLevels(lowPivot) lastHigh := f_updateLevels(highPivot) // Validates the time interval validTrade = true // Orders if high > lastHigh strategy.entry("Long", strategy.long, when=orderDirection != SHORT and validTrade) strategy.close("Short", when=orderDirection == SHORT) if low < lastLow strategy.entry("Short", strategy.short, when=orderDirection != LONG and validTrade) strategy.close("Long", when=orderDirection == LONG) // Plots plot(lastLow, "Last pivot low", color.red, offset=1) plot(lastHigh, "Last pivot high", color.teal, offset=1) plotshape(lowPivot, "Pivot low", location=location.belowbar, color=color.red, offset=-rightLow) plotshape(highPivot, "Pivot high", color=color.teal, offset=-rightHigh)