Ichimoku Multi-Layer Oscillator

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #261057 quote
    Ugo Blanco
    Participant
    Junior

    Description de l’indicateur : Ichimoku Multi-Layer Oscillator

    Présentation

    Cet indicateur transforme les composants classiques de l’Ichimoku Kinko Hyo en un oscillateur de momentum à couches multiples. Au lieu de lire les composantes sur le prix, cet outil agrège la force de la Tenkan, de la Kijun et du Nuage (Kumo) dans une fenêtre unique pour identifier la puissance et la qualité d’une tendance.

    Fonctionnalités principales :

    • L’Oscillateur à 4 Couches : L’indicateur calcule quatre niveaux de données superposés qui représentent la santé du marché :
    1. Oscline : Position du prix par rapport aux bornes du nuage.
    2. Lagging : Intègre l’élan de la Chikou Span (mémoire du prix).
    3. ConvBase : Ajoute l’interaction entre la Tenkan (Conversion) et la Kijun (Base).
    4. Cloud Layer : La couche finale incluant l’épaisseur et la direction du nuage (Sspan A/B).
    • Analyse de Force de Tendance (Trend Score) : L’indicateur ne se contente pas de suivre le prix ; il attribue un score de 1 à 4 (positif ou négatif) basé sur la confluence des signaux Ichimoku.
    • Un score de 4 signifie que tous les éléments (Prix, Tenkan/Kijun, Nuage, Lagging) sont alignés à la hausse.
    • Un score de -4 indique un alignement total à la baisse.
    • Protection contre les “Whipsaws” (ATR) : L’indicateur utilise l’ATR (Average True Range) pour créer une zone de tolérance autour de la Kijun-sen. Cela permet d’éviter les faux signaux de sortie lors de légères corrections de marché ou de phases de bruit.
    • Signaux Visuels Intégrés :
    • Coloration du fond : Le graphique se colore en vert ou bleu selon la dominance acheteuse ou vendeuse.
    • Flèches de Signal : Une flèche blanche (achat) ou jaune (vente) apparaît sur la ligne zéro lorsque le score de tendance atteint son paroxysme (niveau 4), signalant une entrée à haute probabilité.

    Pourquoi l’utiliser ?

    C’est l’outil idéal pour les traders qui aiment l’Ichimoku mais souhaitent épurer leur graphique de prix. Il permet de détecter rapidement si une tendance s’essouffle ou si, au contraire, tous les paramètres techniques sont réunis pour une accélération majeure.

    Note technique : Les paramètres sont réglés par défaut sur des cycles optimisés (8, 13, 26) avec un décalage de 13 périodes pour une réactivité accrue par rapport aux réglages standards.



    // --- Initialisation des variables 
    conversionPeriods = 8
    basePeriods = 13
    laggingSpan2Periods = 26
    displacement = 13
    useatr = 1   // 1 pour utiliser l'ATR, 0 sinon
    atrlen = 9
    atrmul = 2.0
    emalen = 9
    
    // --- Calculs Ichimoku Standard
    HighCL = Highest[conversionPeriods](high)
    LowCL = Lowest[conversionPeriods](low)
    conversionLine = (HighCL + LowCL) / 2
    
    HighBL = Highest[basePeriods](high)
    LowBL = Lowest[basePeriods](low)
    baseLine = (HighBL + LowBL) / 2
    
    leadLine1 = (conversionLine + baseLine) / 2
    
    HighLS = Highest[laggingSpan2Periods](high)
    LowLS = Lowest[laggingSpan2Periods](low)
    leadLine2 = (HighLS + LowLS) / 2
    
    // --- Décalage (Displacement)
    CloudMin = min(leadLine1[displacement-1], leadLine2[displacement-1])
    CloudMax = max(leadLine1[displacement-1], leadLine2[displacement-1])
    
    // --- Gestion de la tendance (mtrend)
    IF close > CloudMax THEN
    mtrend = 1
    ELSIF close < CloudMin THEN
    mtrend = -1
    ELSE
    mtrend = mtrend[1]
    ENDIF
    
    // --- Calcul des 4 couches de l'oscillateur
    // Couche 1 : Oscline
    IF mtrend = 1 THEN
    Oscline = close - CloudMin
    ELSE
    Oscline = close - CloudMax
    ENDIF
    
    // Couche 2 : Lagging
    IF mtrend = 1 THEN
    Lagging = Oscline + max(close - CloudMax[displacement-1], 0)
    ELSE
    Lagging = Oscline + min(close - CloudMin[displacement-1], 0)
    ENDIF
    
    // Couche 3 : ConvBase
    IF mtrend = 1 THEN
    ConvBase = Lagging + max(conversionLine - baseLine, 0)
    ELSE
    ConvBase = Lagging + min(conversionLine - baseLine, 0)
    ENDIF
    
    // Couche 4 : Cloud
    IF mtrend = 1 THEN
    CloudOsc = ConvBase + max(leadLine1 - leadLine2, 0)
    ELSE
    CloudOsc = ConvBase + min(leadLine1 - leadLine2, 0)
    ENDIF
    
    // --- Logique ATR (Whipsaw protection)
    myATR = AverageTrueRange[atrlen](close)
    tole = 0
    IF useatr THEN
    tole = myATR * atrmul
    ENDIF
    
    // --- Calcul de la force de tendance (trend)
    anyRising = (conversionLine > conversionLine[1]) OR (baseLine > baseLine[1])
    anyFalling = (conversionLine < conversionLine[1]) OR (baseLine < baseLine[1])
    
    IF mtrend = 1 THEN
    IF mtrend[1] = -1 THEN
    trend = 0
    ENDIF
    IF trend < 4 AND close > CloudMax THEN
    cond1 = (Lagging > Oscline)
    cond2 = (conversionLine >= baseLine AND anyRising)
    cond3 = (leadLine1 >= leadLine2)
    trend = cond1 + cond2 + cond3 + 1
    ELSE
    IF conversionLine < (baseLine - tole) THEN
    trend = 0
    ENDIF
    ENDIF
    ELSIF mtrend = -1 THEN
    IF mtrend[1] = 1 THEN
    trend = 0
    ENDIF
    IF trend > -4 AND close < CloudMin THEN
    cond1 = -(Lagging < Oscline)
    cond2 = -(conversionLine <= baseLine AND anyFalling)
    cond3 = -(leadLine1 <= leadLine2)
    trend = cond1 + cond2 + cond3 - 1
    ELSE
    IF conversionLine > (baseLine + tole) THEN
    trend = 0
    ENDIF
    ENDIF
    ENDIF
    
    // --- Moyenne mobile sur l'oscillateur
    emaOsc = ExponentialAverage[emalen](CloudOsc)
    
    // --- Coloration du fond (Background)
    IF trend >= 1 THEN
    BACKGROUNDCOLOR(0, 200, 0, 30) // Vert très clair
    ELSIF trend <= -1 THEN
    BACKGROUNDCOLOR(0, 0, 200, 30) // Bleu très clair
    ENDIF
    
    // --- Affichage des signaux (Flèches sur la ligne 0)
    IF trend = 4 AND trend[1] < 4 THEN
    DRAWARROWUP(barindex, 0) COLOURED(255,255,255) // Flèche Blanche pour achat
    ENDIF
    IF trend = -4 AND trend[1] > -4 THEN
    DRAWARROWDOWN(barindex, 0) COLOURED(255,255,0) // Flèche Jaune pour vente
    ENDIF
    
    RETURN CloudOsc AS "Cloud Layer", ConvBase AS "ConvBase Layer", Lagging AS "Lagging Layer", Oscline AS "Osc Line", emaOsc AS "EMA Cloud", 0 AS "Zero Line"
    
    robertogozzi, Iván González and Nicolas thanked this post
    #261442 quote
    Nicolas
    Keymaster
    Legend

    Merci pour le partage Ugo, l’indicateur se trouve désormais dans notre library, ici:

    Ichimoku Multi-Layer Oscillator

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

Ichimoku Multi-Layer Oscillator


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Ugo Blanco @ugoblanco Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by Nicolas
1 week, 1 day ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 05/13/2026
Status: Active
Attachments: No files
Logo Logo
Loading...