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 = 21Recherche 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 = 20Filtre 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ètre | Description |
|---|---|
idTexte Obligatoire | Nom unique utilisé pour identifier la série du Demarker Indicator. |
lengthEntier 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) |
symbolTexte 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. |
timeframeTexte 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 :
| Variable | Description |
|---|---|
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.lengthDécimal | Fenêtre de calcul utilisée pour dm. |
dm.high_sourcedm.low_sourceTexte | Noms des séries d’entrée high et low utilisées par la série DM. |
dm.symbolTexte | Symbole de marché utilisé pour la série DM. |
dm.timeframeTexte | 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.