Bonjour,
Je recherche un screener qui affiche les données suivantes:
Macd Zero Lag Ligne
qui croise à la hausse le
Signal Zero Retard
En tendance haussière ( Cours supérieur à la M200 en Heikin Ashi)
Volume > 150 000€
Capitalisation affichée dans le screener.
Merci pour votre aide
cordialement
et condition si possible:
Macd Zero Lag Ligne moins Zero Lag Signal devient positif (1er histogramme Vert)
Encore merci
C’est ici:
// Zero Lag MACD Screener
// Bullish crossover + Heikin Ashi trend + Volume filter
// --- Zero Lag EMA ---
ema12 = ExponentialAverage[12](close)
ema26 = ExponentialAverage[26](close)
zlema12 = 2 * ema12 - ExponentialAverage[12](ema12)
zlema26 = 2 * ema26 - ExponentialAverage[26](ema26)
// --- MACD Zero Lag ---
macdZL = zlema12 - zlema26
signalZL = ExponentialAverage[9](macdZL)
histoZL = macdZL - signalZL
// --- First positive histogram bar (bullish cross) ---
c1 = histoZL crosses over 0
// --- Heikin Ashi calculation ---
once haOpen = open
haClose = (open + close + high + low) / 4
IF barindex > 0 THEN
haOpen = (haOpen + haClose[1]) / 2
ENDIF
// --- Bullish trend: HA close > SMA 200 on HA close ---
ma200 = Average[200](haClose)
c2 = haClose > ma200
// --- Volume > 150,000 EUR ---
c3 = close * volume > 150000
SCREENER[c1 AND c2 AND c3](histoZL AS "Histo ZL")
Vous trouverez en pièces jointes ce que je veux exactement détecter sur le macd zero retard.
En tendance haussière ( Cours supérieur à la M200 en Heikin Ashi)
Volume > 150 000€
Capitalisation affichée dans le screener.
Merci encore pour votre aide
Pour info, l’histogramme vert / rouge, c’est justement la position des 2 courbes l’une au dessus de l’autre. Donc détecter un croisement des courbes par rapport à l’histogramme, c’est simplement tester une condition par rapport à elle même.
Pour faire simple, ta demande, c’est simplement la détection soit, au choix:
- le croisement des deux courbes (la plus rapide passe au dessus de la plus lente sous le niveau zéro)
- le passage de l’histogramme au dessus du niveau 0
Sauf erreur de ma part, après lecture du code de Ivan, c’est exactement ce que le screener doit renvoyer 🙂 Sauf erreur de ma part bien entendu.
Voici une autre version, à tester, de ce screener MACD Zero Lag:
// ============================================================
// Screener : MACD Zero Lag croise le Signal à la hausse
// + Tendance haussière (cours > MM200 Heikin Ashi)
// + Volume > 150 000 €
// ============================================================
// --- Paramètres MACD Zero Lag ---
fastPeriod = 12
slowPeriod = 26
signalPeriod = 9
// --- Zero Lag EMA (type 8 dans Average) ---
zlFast = Average[fastPeriod, 8](close)
zlSlow = Average[slowPeriod, 8](close)
// --- Ligne MACD Zero Lag ---
zlMacdLine = zlFast - zlSlow
// --- Ligne Signal Zero Lag (ZL EMA du MACD) ---
zlSignalLine = Average[signalPeriod, 8](zlMacdLine)
// --- Condition 1 : Croisement haussier MACD ZL au-dessus du Signal ZL ---
c1 = zlMacdLine crosses over zlSignalLine
// --- Calcul Heikin Ashi ---
haClose = (open + high + low + close) / 4
if barindex > 0 then
haOpen = (haOpen[1] + haClose[1]) / 2
else
haOpen = open
endif
// --- MM200 calculée sur les cours Heikin Ashi ---
mm200ha = Average[200](haClose)
// --- Condition 2 : Cours HA au-dessus de la MM200 HA (tendance haussière) ---
c2 = haClose > mm200ha
// --- Condition 3 : Volume en euros > 150 000 ---
volumeEuros = volume * close
c3 = volumeEuros > 150000
// --- Screener ---
SCREENER[c1 AND c2 AND c3]
Voici ce que fait chaque bloc :
- MACD Zero Lag : les trois moyennes mobiles (rapide 12, lente 26, signal 9) sont calculées avec le type 8 de la fonction
Average, qui correspond au Zero Lag intégré dans ProBuilder (disponible depuis la v11). La ligne MACD est la différence fast − slow, et la ligne signal est une ZL EMA de cette ligne MACD. - Croisement haussier (c1) :
crosses over détecte le passage de la ligne MACD au-dessus de la ligne signal sur la bougie en cours. - Heikin Ashi (c2) : haClose est recalculé barre par barre via la formule standard, et haOpen se met à jour itérativement avec
barindex. La MM200 est calculée sur le haClose, et la condition vérifie que le haClose est au-dessus de cette moyenne. - Volume en euros (c3) :
volume * close donne une approximation du volume transactionnel en devise. Si votre marché cote déjà en euros, cela fonctionne directement.
Tu peux ajuster fastPeriod, slowPeriod et signalPeriod en haut du code selon tes préférences.