Bonjour, Je recherche un screener pour la détection du pattern MARTEAU
Avec les caractéristiques suivantes :
-Mèche basse 2 x le corps minimum.
-Mèche haute inferieure ou légèrement supérieur au corps.
-Marteau situé sur le bas de la bougie précédente.
Conditions :
1- Plusieurs bougies baissières à la suite, peu importe la tendance
2- Capitalisation échangée en journalier > 150 000€
Merci par avance et bonne journée
Domi
Voilà le code du screener de détection de marteau (hammer) selon ton descriptif:
// ============================================================
// SCREENER - PATTERN MARTEAU
// Conditions :
// - Mèche basse >= 2x le corps
// - Mèche haute <= 1.1x le corps (tolérance légère)
// - Le marteau est situé sous le bas de la bougie précédente
// - Au moins 3 bougies baissières consécutives avant le marteau
// - Capitalisation échangée journalière > 150 000 €
// ============================================================
// --- Corps et mèches du marteau (bougie actuelle) ---
BodyHammer = ABS(Close - Open)
UpperWick = High - MAX(Close, Open)
LowerWick = MIN(Close, Open) - Low
TotalRange = High - Low
// --- Sécurité : éviter division par zéro ---
IF BodyHammer = 0 THEN
BodyHammer = 0.0001
ENDIF
// --- Condition 1 : Mèche basse >= 2x le corps ---
LowerWickOK = LowerWick >= 2 * BodyHammer
// --- Condition 2 : Mèche haute <= 1.1x le corps (légèrement toléré) ---
UpperWickOK = UpperWick <= 1.1 * BodyHammer
// --- Condition 3 : Le marteau est situé sous le bas de la bougie précédente ---
// Le corps entier du marteau est en dessous du Low[1]
BelowPrev = MAX(Close, Open) <= Low[1]
// --- Condition 4 : Au moins 3 bougies baissières consécutives avant le marteau ---
Bear1 = Close[1] < Open[1]
Bear2 = Close[2] < Open[2]
Bear3 = Close[3] < Open[3]
ConsecBearish = Bear1 AND Bear2 AND Bear3
// --- Condition 5 : Capitalisation échangée journalière > 150 000 € ---
TurnoverOK = Volume * Close > 150000
// --- Filtre validité du corps ---
ValidBody = TotalRange > 0 AND BodyHammer > 0.0001
// --- Condition globale ---
IsHammer = LowerWickOK AND UpperWickOK AND BelowPrev AND ConsecBearish AND TurnoverOK AND ValidBody
SCREENER[IsHammer](IsHammer AS "Pattern", Close AS "Cours", Volume*Close AS "Capitalisation Echangée")
- BodyHammer utilise ABS(Close – Open) pour fonctionner aussi bien sur les marteaux bullish que bearish (le marteau peut techniquement clôturer légèrement en baisse).
- UpperWick est calculé depuis le haut du corps réel (MAX(Close, Open)) jusqu’au High, idem pour LowerWick depuis MIN(Close, Open) jusqu’au Low.
- La tolérance de 1.1x sur la mèche haute correspond à “légèrement supérieure au corps” comme demandé. Tu peux ajuster ce coefficient selon ta rigueur.
- BelowPrev vérifie que le corps entier du marteau est sous le Low de la bougie précédente, ce qui garantit que le marteau “creuse” sous elle.
- ConsecBearish vérifie 3 bougies baissières consécutives (Close < Open). Tu peux ajouter Bear4 / Bear5 si tu veux renforcer le filtre.
- Volume * Close donne la valeur échangée en devise, ce qui correspond au turnover journalier. Assure-toi que ton screener tourne bien en unité journalière (timeframe D1).
J’ai une erreur à la dernière ligne “commande inconnue”
SCREENER[IsHammer](“Marteau” AS “Pattern”, Close AS “Cours”, Volume*Close AS “Capitalisation Echangée”)
Désolé, je viens de corriger le code au dessus.
Super merci, impatient de voir une valeur dans le screener lol
Je suis entrain de faire une nouvelle demande