
La stratégie d’identification de retournement de prix à bandes multiples est une stratégie de négociation basée sur la structure des prix, qui s’appuie essentiellement sur le “modèle Horn” (conformité angulaire) pour capturer les opportunités de retournement à court terme sur le marché. La stratégie combine la reconnaissance de la forme, le filtrage de la tendance et la confirmation de la volatilité en trois dimensions, pour déclencher un signal de négociation en identifiant un modèle de combinaison de trois lignes K spécifiques et en déclenchant un signal de négociation lorsque les conditions spécifiques sont remplies sur la quatrième ligne K (conformité K).
Le principe central de la stratégie est basé sur le “modèle Horn” dans la structure des prix, qui est un modèle de prix spécifique formé par trois lignes K:
Modèle Horn à plusieurs têtes:
Modèle Horn à tête nue:
Conditions de confirmation:
Conditions du filtre:
La stratégie utilise une approche précise de la fixation du prix d’entrée et de la gestion du risque: les tiques ajoutent une unité minimale de fluctuation à la confirmation du prix de clôture de la ligne K, les tiques blanches enlèvent une unité minimale de fluctuation à la confirmation du prix de clôture de la ligne K. Le point de rupture est configuré selon le modèle Horn: le point de rupture est fixé à 1R.
Logique de transaction structuréeLa stratégie est basée sur une structure de prix et une reconnaissance de formes claires, réduisant les jugements subjectifs et améliorant la cohérence et la reproductibilité des transactions.
Mécanisme de filtrage multiple: Grâce au filtrage des tendances EMA et des fluctuations ATR, la qualité du signal est considérablement améliorée et des transactions erronées sont évitées dans des conditions de marché défavorables.
Une entrée précise et une gestion des risquesLa stratégie définit clairement les points d’entrée, les points d’arrêt et les points d’arrêt, ce qui rend la gestion des risques simple et efficace, et le risque de chaque transaction est connu à l’avance.
Aide visuelle: La stratégie trace les lignes de structure, les lignes de prix d’entrée et les lignes de prix cibles du modèle Horn sur le graphique, pour aider les traders à comprendre intuitivement la logique de négociation et les mouvements de prix.
Très adaptable: La stratégie s’applique à de multiples périodes de temps (de 5 minutes à 1 heure) et à des variétés très volatiles, avec un large éventail de scénarios d’application.
Ajustabilité des paramètresLes paramètres clés tels que la longueur de l’EMA, la longueur de l’ATR et la marge de volatilité peuvent être ajustés en fonction des conditions du marché et des préférences personnelles, ce qui améliore la flexibilité de la stratégie.
Risque de fausse percée: Dans un marché très volatil, les prix peuvent former des faux-brèches, se retournant rapidement après le signal de déclenchement, ce qui entraîne le déclenchement d’un stop loss. La solution consiste à ajouter des indicateurs de confirmation supplémentaires ou à ajuster le moment d’entrée, par exemple en attendant un rappel pour revenir.
L’incertitude sur les points de basculement: près du point de retournement de tendance, le filtrage EMA peut entraîner la perte d’un signal de retournement initial. Vous pouvez envisager d’ajouter d’autres outils de reconnaissance de tendance ou de définir des paramètres EMA plus sensibles pour atténuer ce problème.
Risques liés à un environnement peu liquidité: Dans un environnement de faible liquidité, les points de glissement peuvent entraîner un écart du prix d’entrée réel par rapport au prix idéal, ce qui affecte le rapport risque/rendement. Cette stratégie est recommandée pour les variétés à forte liquidité ou les principales transactions.
Paramètre Sensibilité: Le choix des paramètres EMA et ATR a une influence significative sur la performance de la stratégie, et différents paramètres peuvent être nécessaires dans différents environnements de marché. Il est recommandé d’optimiser les paramètres en testant les conditions de marché.
Risque de pertes consécutivesToutes les stratégies de négociation comportent la possibilité de pertes continues. Un programme de gestion de fonds raisonnable est nécessaire pour contrôler le risque d’une seule transaction et éviter un retrait important de la courbe de fonds.
Confirmation de plusieurs périodesIntroduction d’un mécanisme de confirmation de tendance pour les périodes plus élevées, permettant d’exécuter des transactions uniquement lorsque la tendance des périodes plus élevées est cohérente, améliorant la qualité du signal. Cela peut être réalisé en ajoutant des EMA ou d’autres indicateurs de tendance à des périodes plus longues.
Système d’arrêt dynamique: les stratégies actuelles utilisent des objectifs d’arrêt 1R fixes et peuvent envisager l’introduction de mécanismes d’arrêt dynamiques, tels que des arrêts de suivi ou des arrêts dynamiques basés sur l’ATR, pour obtenir plus de bénéfices dans des tendances fortes.
Les fluctuations se sont adaptées: La stratégie actuelle utilise des seuils ATR fixes pour filtrer les environnements à faible volatilité. On peut envisager de mettre en place un mécanisme d’adaptation automatique des taux d’oscillation pour ajuster automatiquement les seuils en fonction des caractéristiques des fluctuations récentes du marché.
Optimisation de l’entréeConsidérez d’ajouter une logique d’entrée de retour, en attendant une petite reprise après le signal de confirmation, pour obtenir un meilleur prix d’entrée et un meilleur rapport entre le risque et le rendement.
Confirmation du comportement des prix: sur la base du modèle Horn de base, ajouter des facteurs de confirmation de l’action des prix, tels que la confirmation de la quantité de transaction, la confirmation de la forme du graphique, etc., pour améliorer encore la qualité du signal.
Intégration de l’apprentissage automatiqueConsidérer l’introduction d’algorithmes d’apprentissage automatique pour identifier les modèles Horn les plus susceptibles de réussir à l’aide de modèles de formation basés sur des données historiques, afin de réaliser un filtrage intelligent de la qualité du signal.
La stratégie de reconnaissance de retournement de prix multi-bandes est un système de négociation combinant la reconnaissance de la structure des prix, le filtrage des tendances et la reconnaissance de la volatilité, qui permet de traiter en suivant la tendance à moyen terme en capturant des signaux de retournement de mode Horn spécifiques. L’avantage de cette stratégie réside dans une logique de négociation clairement structurée, une gestion de risque précise et un mécanisme de filtrage multiple, adapté aux traders à court et moyen terme pour capturer les opportunités de retournement sur le marché.
Les risques stratégiques proviennent principalement de l’incertitude et de la sensibilité aux paramètres des fausses ruptures et des virages de tendance, mais ces risques peuvent être gérés efficacement en ajoutant des mécanismes de confirmation supplémentaires, en optimisant les paramètres de configuration et en améliorant la gestion des fonds. Les orientations d’optimisation futures comprennent la confirmation de plusieurs délais, les mécanismes d’arrêt dynamique, l’adaptation aux fluctuations et l’intégration de l’apprentissage automatique, qui devraient améliorer encore la robustesse et la rentabilité des stratégies.
Dans l’ensemble, la stratégie offre aux traders un moyen systématique et quantifiable d’identifier et de négocier les inversions de prix, combinée à une gestion raisonnable des risques et à une optimisation continue, avec le potentiel d’être un outil efficace dans la boîte à outils des traders.
/*backtest
start: 2024-06-09 00:00:00
end: 2024-12-03 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("🦌 Horn Pattern - Horn + FT - Ming Joo", overlay=true, max_lines_count=500)
// 样式设置
bullColor = input.color(color.green, "Bullish Horn")
bearColor = input.color(color.red, "Bearish Horn")
showEntry = input.bool(true, "Show Entry")
tightRangeThreshold = input.float(0.5, title="Panda Threshold (×ATR)")
atrLen = input.int(14, title="ATR Length")
atr = ta.atr(atrLen)
// bar 类型判断
isBull(i) => close[i] > open[i]
isBear(i) => close[i] < open[i]
// 熊猫烧香判断
//pandaHighRange = math.abs(math.max(high[1], high[2], high[3]) - math.min(high[1], high[2], high[3]))
//pandaLowRange = math.abs(math.max(low[1], low[2], low[3]) - math.min(low[1], low[2], low[3]))
// ========== Bull Horn 条件(bar[3], [2], [1])==========
bullHornPattern = (low[2] > low[3] and low[2] > low[1]) and ( isBull(1) and isBull(3) )
// ========== FT bar 确认(bar[0])==========
bullFT = bullHornPattern and close > high[2] and close > open and high > math.max(high[3], high[2], high[1])
bearHornPattern = high[2] < high[3] and high[2] < high[1] and (isBear(1) and isBear(3))
// ========== FT bar 确认(bar[0])==========
bearFT = bearHornPattern and close < low[2] and close < open and low < math.min(low[3], low[2], low[1])
// ========== 控制箭头的显示 ==========
var bool showBullArrow = false
var bool showBearArrow = false
tick = syminfo.mintick
emaLen = input.int(20, title="EMA Filter Length")
ema20 = ta.ema(close, emaLen)
contextFilter_bull = close > ema20 and (math.abs(high[1]-low[1]) > atr or math.abs(high-low) > atr)
contextFilter_bear = close < ema20 and (math.abs(high[1]-low[1]) > atr or math.abs(high-low) > atr)
// === Bull Horn 执行逻辑 ===
if bullFT and contextFilter_bull
hornLow = math.min(low[3], low[2], low[1])
hornHigh = math.max(high[3], high[2], high[1])
entry = close + tick
stop = hornLow - tick
r = entry - stop
tp = entry + r
strategy.entry("Long Horn", strategy.long,limit = entry)
strategy.exit("Exit Long", from_entry="Long Horn", stop=stop, limit=tp)
// === Bear Horn 执行逻辑 ===
if bearFT and contextFilter_bear
hornHigh = math.max(high[3], high[2], high[1])
hornLow = math.min(low[3], low[2], low[1])
entry = close - tick
stop = hornHigh + tick
r = stop - entry
tp = entry - r
strategy.entry("Short Horn", strategy.short,limit = entry)
strategy.exit("Exit Short", from_entry="Short Horn", stop=stop, limit=tp)
// ========== 全局画箭头标记 ==========
plotshape(showBullArrow, location=location.belowbar, offset=-2, color=bullColor, style=shape.triangleup, size=size.small, title="Bull Arrow")
plotshape(showBearArrow, location=location.abovebar, offset=-2, color=bearColor, style=shape.triangledown, size=size.small, title="Bear Arrow")
// 重置
showBullArrow := false
showBearArrow := false