La stratégie d’inversion de forme détecte la forme de la ligne K, identifie les points de basculement des prix de la hausse à la baisse ou de la baisse à la hausse, et effectue des opérations d’achat ou de vente à proximité du point de basculement. La stratégie utilise principalement la relation proportionnelle de la ligne d’ombre à l’entité pour juger du signal de revers des prix.
La logique centrale de la stratégie est de détecter la proportion de la partie de la ligne de K de la ligne de l’ombre par rapport à la partie de la ligne de la substance pour déterminer si une forme de retournement de prix existe.
Lors d’une baisse de la ligne K, si la ligne descendante de la ligne K est plus longue et que la ligne supérieure et l’entité sont plus courtes, cela indique que la ligne K a une entrée d’achat plus forte, ce qui peut être inversé en hausse. Plus précisément, il s’agit de détecter que le prix de clôture est supérieur au prix d’ouverture et que la longueur de la ligne descendante est plus grande qu’un certain nombre de fois la longueur de la ligne supérieure et de l’entité.
En revanche, lorsqu’une ligne K ascendante apparaît, si la ligne K est plus longue, la ligne descendante et l’entité sont plus courtes, cela indique que la ligne K a une plus grande force de vente, ce qui peut se retourner en baisse. Plus précisément, il s’agit de détecter un prix de clôture inférieur au prix d’ouverture et la longueur de la ligne ascendante est plus grande qu’un certain nombre de fois la longueur de la ligne descendante et de l’entité, ce qui génère un signal de vide.
En outre, un signal de revers peut être généré si la différence entre le prix d’ouverture et le prix de clôture est faible, mais que la ligne d’ombre est plus longue.
Lors de la détection d’un signal d’inversion, un filtre est également appliqué en combinaison avec la plage moyenne des lignes K. Un signal n’est produit que lorsque la plage de lignes K est supérieure à la valeur moyenne.
Il est possible d’envisager de combiner les indicateurs de tendance pour éviter les opérations de contre-courant. Il est également possible de confirmer les signaux de retournement en les combinant avec d’autres indicateurs techniques. Les paramètres peuvent être configurés pour obtenir de meilleures combinaisons de paramètres grâce à l’optimisation de la rétroaction.
Les stratégies de retournement de forme permettent d’identifier efficacement les formes de retournement de prix et de capturer les points de retournement grâce à des méthodes de reconnaissance de formes relativement simples. Cependant, le simple fait de s’appuyer sur une seule forme de ligne K est susceptible d’erreurs de jugement.
/*backtest
start: 2023-10-08 00:00:00
end: 2023-10-15 00:00:00
period: 3m
basePeriod: 1m
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/
// © adiwajshing
//@version=4
strategy("Wick Reversal Signal", overlay=true)
wickMultiplier = input(3.25)
bodyPercentage = input(0.35)
barsBack = input(50)
bodyMultiplier = input(1.1)
myCandleSize = high-low
averageCandleSize = rma(myCandleSize, barsBack)
longSignal = close > open and open-low >= (close-open)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier
longSignal := longSignal or (close < open and close-low >= (open-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
longSignal := longSignal or (abs(close-open) < 0.01 and close != high and high-low >= (high-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
shortSignal = close < open and high-open >= (open-close)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier
shortSignal := shortSignal or (close > open and high-close >= (close-open)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
shortSignal := shortSignal or (abs(close-open) < 0.01 and close != low and high-low >= (close-low)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
plotshape(longSignal, style=shape.triangleup, size=size.normal)
plotshape(shortSignal, style=shape.triangledown, size=size.normal)
strategy.entry("LONG", strategy.long, when=longSignal)
strategy.entry("SHORT", strategy.short, when=shortSignal)