Demarker Indicator (dm)

Le Demarker Indicator mesure l’équilibre entre la progression des plus hauts et le recul des plus bas d’une bougie à l’autre. Il produit une série comprise entre 0 et 1. La valeur se rapproche de 1 lorsque la progression des plus hauts domine, de 0 lorsque le recul des plus bas domine, et de 0.5 lorsque les deux composantes s’équilibrent sur les bougies récentes.

Seules les hausses de high alimentent la composante positive et seules les baisses de low alimentent la composante négative ; les autres mouvements comptent pour zéro. length définit l’horizon sur lequel ces deux composantes sont moyennées avant d’être comparées. La sortie exprime leur poids relatif, pas l’amplitude totale du mouvement. Si les deux composantes restent nulles, ce rapport n’est pas défini et le bloc produit NaN.

Déclaration du bloc

Une stratégie peut contenir plusieurs blocs [[dm]]. Chaque bloc produit une série distincte identifiée par la valeur de son champ id.

Le bloc [[dm]] ne possède pas de paramètre source car le Demarker Indicator est toujours calculé à partir des prix high et low des bougies.

Exemples

Configuration minimale

Ce bloc utilise la longueur par défaut 14 et lit les prix high et low du symbole et du timeframe principaux définis dans [backtest].

[[dm]]
id = "dm"

Configuration fixe personnalisée

Ce bloc utilise une valeur personnalisée pour length.

[[dm]]
id     = "dm"
length = 21

Recherche de la longueur optimale

Ce bloc explore une plage de valeurs pour length afin d’identifier la longueur la plus performante.

[[dm]]
id           = "dm"
length.start = 10
length.stop  = 20

Filtre avec seuil optimisable

Cet exemple utilise le Demarker Indicator comme filtre. Le bloc [[constant]] définit un seuil nommé dm_threshold, dont la valeur varie de 0.6 à 0.8 pendant le grid search : un backtest est exécuté pour chaque valeur de la plage. À chaque bougie, le bloc [[condition]] compare dm à ce seuil et ne laisse la stratégie passer au bloc suivant que lorsque dm > dm_threshold, c’est-à-dire lorsque la composante haussière représente une part suffisamment importante du mouvement mesuré. Le classement des résultats montre ensuite quelle valeur de seuil donne les meilleures performances.

[[constant]]
id    = "dm_threshold"
start = 0.6
stop  = 0.8
step  = 0.05

[[dm]]
id = "dm"

[[condition]]
id            = "dm_filter"
condition     = "dm > dm_threshold"
next_block_id = "..."

Symbole et timeframe dédiés

Ce bloc utilise les bougies journalières de BINANCE:ETHUSDT. Les prix high et low sont extraits de ce symbole et de ce timeframe, indépendamment du symbole et du timeframe principaux définis dans [backtest]. Voir la page Exchanges, Symboles et Timeframes pour les règles d’alignement.

[[dm]]
id        = "dm"
symbol    = "BINANCE:ETHUSDT"
timeframe = "D"

Paramètres

ParamètreDescription
id
 Texte
 Obligatoire
Nom unique utilisé pour identifier la série du Demarker Indicator.
length
 Entier
 Optionnel
Nombre de bougies sur lequel les composantes haussière et baissière sont moyennées ; doit être ≥ 1 lorsqu’il est renseigné.
Si length est omis, la valeur par défaut est 14.

Usage :
• Fixe : length = valeur
• Grille :
 – length.start = valeur_minimale
 – length.stop = valeur_maximale
 – length.step = valeur (optionnel, par défaut 1)
symbol
 Texte
 ou Tableau
 Optionnel
Symbole de marché à partir duquel le Demarker Indicator lit les bougies (prix high et low). Pour le format et les règles d’alignement, voir le guide Exchanges, Symboles et Timeframes.
timeframe
 Texte
 ou Tableau
 Optionnel
Timeframe sur lequel cet indicateur est calculé.
Si timeframe est omis, le calcul se fait sur le timeframe principal de la grille défini dans [backtest].
Pour les formats acceptés et les règles d’alignement entre timeframes, voir Exchanges, Symboles et Timeframes.

Variables disponibles

Le bloc DM expose sa série numérique et, en lecture seule, sa longueur de calcul, ses sources d’entrée, son symbole et son timeframe.

Supposons le bloc configuré ainsi :

[[dm]]
id = "dm"

Alors :

VariableDescription
dm ou dm[0]
Décimal
Valeur actuelle du Demarker Indicator.
dm[n]
Décimal
Valeur du Demarker Indicator il y a n bougies.
dm.length
Décimal
Fenêtre de calcul utilisée pour dm.
dm.high_source
dm.low_source
Texte
Noms des séries d’entrée high et low utilisées par la série DM.
dm.symbol
Texte
Symbole de marché utilisé pour la série DM.
dm.timeframe
Texte
Timeframe utilisé pour la série DM.

Notes

  • Les variables numériques se combinent librement (arithmétique, comparaisons, opérateurs logiques).
  • Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité/inégalité uniquement.
  • DeMark® est une marque déposée de DeMark Analytics, LLC.