Stratégie complète d'analyse technique des modèles de graphiques K-line et des lignes de tendance

RSI CCI MACD
Date de création: 2025-02-20 17:10:39 Dernière modification: 2025-02-27 17:25:51
Copier: 0 Nombre de clics: 358
2
Suivre
319
Abonnés

Stratégie complète d’analyse technique des modèles de graphiques K-line et des lignes de tendance Stratégie complète d’analyse technique des modèles de graphiques K-line et des lignes de tendance

Aperçu

La stratégie est un système d’analyse technique intégré qui combine plusieurs formes de lignes K et de lignes de tendance pour générer des signaux de négociation. La stratégie détermine le point de basculement des tendances du marché en identifiant plusieurs formes de lignes K classiques (telles que les formes de déglutition, les lignes de souris, les étoiles de lumière, etc.) et les formes de graphiques (telles que les formes de double sommet, double fond, triangle, drapeau, etc.) et en émettant des signaux de négociation au moment opportun.

Principe de stratégie

La stratégie repose sur les éléments fondamentaux suivants :

  1. Système de reconnaissance de formes K, comprenant plusieurs formes classiques de hausse et de baisse, telles que les formes de déglutition, les lignes de souris, les lignes de suspension, les étoiles de l’aube, les étoiles du crépuscule, les lignes de pénétration, les sommets de nuages et les lignes d’accouchement.
  2. Système d’analyse de la forme des lignes de tendance, utilisé pour identifier des formes telles que les deux sommets, les deux sommets, les triangles symétriques, les triangles ascendants, les triangles descendants, les drapeaux, les drapeaux triangulaires et les passages.
  3. Système spécial de reconnaissance de formes, spécialement conçu pour identifier des formes complexes telles que le haut des épaules et le bas des épaules.
  4. Système de gestion des risques, permettant de contrôler le risque de transaction par la mise en place de stop-loss et de stop-loss.

Avantages stratégiques

  1. L’analyse multidimensionnelle: offre une perspective plus complète de l’analyse du marché en combinant plusieurs indicateurs techniques et graphiques.
  2. Contrôle des risques: La stratégie est dotée d’un mécanisme de stop-loss et de stop-loss qui permet de contrôler efficacement le risque de chaque transaction.
  3. L’exactitude de la reconnaissance des formes: l’exactitude de la reconnaissance des formes est assurée par des calculs mathématiques et des jugements conditionnels rigoureux.
  4. Adaptabilité: la stratégie peut fonctionner dans différents environnements de marché et périodes de temps.
  5. Support visuel: fournit des marqueurs graphiques clairs pour aider les traders à comprendre les conditions du marché.

Risque stratégique

  1. Risque de fausse rupture: un faux signal de rupture peut se produire dans la zone de la barre latérale, entraînant une transaction erronée.
  2. Risque de retard: l’identification de la forme présente un certain retard qui peut affecter le temps d’admission.
  3. La dépendance aux conditions du marché: l’efficacité de la stratégie peut s’affaiblir dans des conditions de marché très volatiles ou peu tendances.
  4. Sensitivité des paramètres: les paramètres de la stratégie dépendent de plusieurs critères de jugement. Un mauvais choix de paramètres peut affecter la performance de la stratégie.

Orientation de l’optimisation de la stratégie

  1. Introduction de l’analyse de la relation quantité-prix: la combinaison des indicateurs quantitatifs améliore la fiabilité de la détection des formes.
  2. Optimisation des paramètres de stop-loss: la distance de stop-loss peut être ajustée en fonction de la dynamique du taux de fluctuation.
  3. Ajout de filtres de tendance: introduire des indicateurs de jugement de tendance pour éviter les transactions excessives sur les marchés horizontaux.
  4. Amélioration de la gestion des risques: augmentation des mesures de contrôle des risques, telles que la limitation du temps de détention et la limitation de la perte maximale.
  5. Ajout de l’identification de l’environnement de marché: développer un module de jugement de l’environnement de marché pour ajuster les paramètres de la stratégie en fonction des différentes conditions du marché.

Résumer

La stratégie utilise l’intégration de plusieurs méthodes d’analyse technique pour construire un système de négociation complet. L’avantage de la stratégie réside dans l’analyse multidimensionnelle et le contrôle parfait des risques, mais elle est également confrontée à des risques tels que les fausses percées et le retard.

Code source de la stratégie
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy("Advanced Candlestick and Line Chart Patterns with Head and Shoulders", overlay=true)

// --- Candlestick Patterns ---
isBullishEngulfing = close > open[1] and open < close[1]
isBearishEngulfing = close < open[1] and open > close[1]

isHammer = (high - low) > 2 * (open - close) and (close - low) / (0.001 + high - low) > 0.6 and (open - low) / (0.001 + high - low) > 0.6
isHangingMan = isHammer and close < open
isDoji = math.abs(close - open) <= 0.1 * (high - low)
isMorningStar = close[2] < open[2] and close[1] > open[1] and close > open and close > close[2] and open[1] > close[2]
isEveningStar = close[2] > open[2] and close[1] < open[1] and close < open and close < close[2] and open[1] < close[2]
isPiercingLine = close > open and close[1] < open[1] and close > open[1] and open < close[1]
isDarkCloudCover = close < open and close[1] > open[1] and close < open[1] and open > close[1]
isBullishHarami = close > open[1] and open < close[1] and close > open and close[1] > open
isBearishHarami = close < open[1] and open > close[1] and close < open and close[1] < open

// --- Line Chart Patterns ---

// Double Top and Double Bottom
doubleTop = (high[2] > high[1] and high[1] < high and close < open[1])
doubleBottom = (low[2] < low[1] and low[1] > low and close > open[1])

// Symmetrical Triangles
symmetricalTriangle = (high[2] > high[1] and low[2] < low[1] and high > high[1] and low > low[1])

// Ascending Triangle
ascendingTriangle = (high[2] < high[1] and low[2] > low[1] and high > high[1] and low > low[1])

// Descending Triangle
descendingTriangle = (high[2] > high[1] and low[2] < low[1] and high < high[1] and low < low[1])

// Flags and Pennants
isFlag = (high[1] > high[2] and low[1] > low[2] and high < high[1] and low < low[1])
isPennant = (high[2] < high[1] and low[2] > low[1] and high > high[1] and low < low[1])

// Channel Formation
isChannel = (high[2] > high[1] and low[2] < low[1] and high > high[1] and low < low[1])

// Diamond Pattern
isDiamond = (high[2] < high[1] and low[2] > low[1] and high > high[1] and low < low[1] and high[1] < high and low[1] > low)

// --- Head and Shoulders Patterns ---
// Head and Shoulders
isHeadAndShoulders = high[2] > high[1] and high[1] < high and close < open[1]

// Inverse Head and Shoulders
isInverseHeadAndShoulders = low[2] < low[1] and low[1] > low and close > open[1]

// --- Visual Representation ---
plotshape(series=isBullishEngulfing, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Engulfing")
plotshape(series=isBearishEngulfing, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Engulfing")

plotshape(series=isHammer, location=location.belowbar, color=color.green, style=shape.triangledown, title="Hammer")
plotshape(series=isHangingMan, location=location.abovebar, color=color.red, style=shape.triangleup, title="Hanging Man")

plotshape(series=isDoji, location=location.belowbar, color=color.blue, style=shape.labelup, title="Doji")
plotshape(series=isMorningStar, location=location.belowbar, color=color.green, style=shape.triangledown, title="Morning Star")
plotshape(series=isEveningStar, location=location.abovebar, color=color.red, style=shape.triangleup, title="Evening Star")

plotshape(series=isPiercingLine, location=location.belowbar, color=color.green, style=shape.triangleup, title="Piercing Line")
plotshape(series=isDarkCloudCover, location=location.abovebar, color=color.red, style=shape.triangledown, title="Dark Cloud Cover")

plotshape(series=isBullishHarami, location=location.belowbar, color=color.green, style=shape.triangledown, title="Bullish Harami")
plotshape(series=isBearishHarami, location=location.abovebar, color=color.red, style=shape.triangleup, title="Bearish Harami")

// Line Chart Pattern Visualization
plotshape(series=doubleTop, location=location.abovebar, color=color.red, style=shape.triangledown, title="Double Top")
plotshape(series=doubleBottom, location=location.belowbar, color=color.green, style=shape.triangleup, title="Double Bottom")

plotshape(series=symmetricalTriangle, location=location.belowbar, color=color.blue, style=shape.triangledown, title="Symmetrical Triangle")
plotshape(series=ascendingTriangle, location=location.belowbar, color=color.blue, style=shape.triangledown, title="Ascending Triangle")
plotshape(series=descendingTriangle, location=location.abovebar, color=color.blue, style=shape.triangleup, title="Descending Triangle")

plotshape(series=isFlag, location=location.belowbar, color=color.orange, style=shape.triangledown, title="Flag")
plotshape(series=isPennant, location=location.belowbar, color=color.purple, style=shape.triangledown, title="Pennant")

plotshape(series=isChannel, location=location.belowbar, color=color.blue, style=shape.triangledown, title="Channel")
plotshape(series=isDiamond, location=location.abovebar, color=color.blue, style=shape.triangledown, title="Diamond")

// Head and Shoulders Pattern Visualization
plotshape(series=isHeadAndShoulders, location=location.abovebar, color=color.red, style=shape.triangledown, title="Head and Shoulders")
plotshape(series=isInverseHeadAndShoulders, location=location.belowbar, color=color.green, style=shape.triangleup, title="Inverse Head and Shoulders")

// --- Strategy Logic ---
longCondition = isBullishEngulfing or isHammer or isMorningStar or isPiercingLine or isBullishHarami or doubleBottom or isInverseHeadAndShoulders
shortCondition = isBearishEngulfing or isHangingMan or isEveningStar or isDarkCloudCover or isBearishHarami or doubleTop or isHeadAndShoulders

if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Stop-Loss and Take-Profit
strategy.exit("Take Profit/Stop Loss", "Long", stop=low - 10, limit=high + 10)
strategy.exit("Take Profit/Stop Loss", "Short", stop=high + 10, limit=low - 10)