Ease of Movement (eom)
L’Ease of Movement (EOM) met en relation le déplacement du point médian des bougies, leur étendue high-low et le volume échangé. Lorsque div est positif, un déplacement vers le haut produit une lecture positive et un déplacement vers le bas une lecture négative. La valeur absolue augmente lorsque le déplacement et l’étendue sont importants par rapport au volume. div règle l’échelle de ces lectures : une valeur négative inverse leur signe, tandis que zéro annule les valeurs définies.
Ces lectures sont lissées par une moyenne mobile simple sur la période length pour former la série EOM. Avec un div positif, une valeur positive indique alors que les lectures haussières dominent sur cette période, tandis qu’une valeur négative indique que les lectures baissières dominent. Une valeur proche de zéro correspond à des mouvements qui se compensent, restent faibles ou étroits, ou s’accompagnent d’un volume élevé relativement à leur amplitude.
Déclaration du bloc
Une stratégie peut contenir plusieurs blocs [[eom]]. Chaque bloc produit une série EOM distincte, identifiée par la valeur de son champ id.
Le bloc ne possède pas de paramètre source car il utilise toujours les séries high, low et volume des bougies. Le prix hl2 est calculé à partir de high et low.
Exemples
Configuration minimale
Ce bloc utilise la longueur par défaut 14, le facteur d’échelle par défaut 10000, ainsi que le symbole et le timeframe principaux définis dans [backtest].
[[eom]]
id = "ease"Configuration fixe personnalisée
Ce bloc utilise une longueur de 20 pour obtenir une série plus lisse et un facteur d’échelle de 5000. À longueur et données identiques, ce facteur divise les valeurs par deux par rapport à la valeur par défaut 10000, sans changer leur signe.
[[eom]]
id = "ease"
length = 20
div = 5000Recherche de la longueur optimale
Ce bloc explore plusieurs longueurs pendant le grid search tout en conservant le facteur d’échelle par défaut. Chaque longueur produit un niveau de lissage différent, ce qui permet de comparer une série réactive à une série plus régulière.
[[eom]]
id = "ease"
length.start = 10
length.stop = 30
length.step = 5Passage en territoire positif
Cet exemple détecte le moment où l’EOM passe d’une valeur négative ou nulle à une valeur positive. La condition n’est vraie que sur la bougie du franchissement : ease doit être positif sur la bougie courante et inférieur ou égal à zéro sur la bougie précédente.
[[eom]]
id = "ease"
[[condition]]
id = "eom_turns_positive"
condition = "ease > 0 and ease[1] <= 0"
next_block_id = "..."Symbole et timeframe dédiés
Ce bloc calcule l’EOM à partir des prix high et low et du volume des bougies journalières de BINANCE:ETHUSDT, 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.
[[eom]]
id = "ease_daily"
symbol = "BINANCE:ETHUSDT"
timeframe = "D"Paramètres
| Paramètre | Description |
|---|---|
idTexte Obligatoire | Nom unique utilisé pour identifier la série EOM produite par le bloc. |
lengthEntier Optionnel | Nombre de valeurs définies lissées par la moyenne mobile simple ; doit être compris entre 1 et 10000. Une longueur courte rend la série plus réactive, tandis qu’une longueur élevée la rend plus régulière. Les bougies dont le volume vaut zéro sont ignorées et ne comptent pas parmi ces valeurs. 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) |
divEntier Optionnel | Facteur appliqué au calcul pour ajuster l’échelle de la série. Une valeur positive conserve le signe de l’EOM et modifie proportionnellement son amplitude. La valeur 0 ramène les résultats définis à zéro, tandis qu’une valeur négative inverse leur signe. Tout entier signé est accepté. Si div est omis, la valeur par défaut est 10000.Usage : • Fixe : div = valeur• Grille : – div.start = valeur_minimale– div.stop = valeur_maximale– div.step = valeur (optionnel, par défaut 1) |
symbolTexte ou Tableau Optionnel | Symbole de marché à partir duquel l’EOM lit les prix high et low et le volume. Si symbol est omis, le bloc utilise le symbole principal défini dans [backtest]. Pour le format, les tableaux et les règles d’alignement, voir Exchanges, Symboles et Timeframes. |
timeframeTexte ou Tableau Optionnel | Timeframe sur lequel l’EOM est calculé. Si timeframe est omis, le calcul utilise 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. |
La clé source n’est pas acceptée dans le bloc [[eom]].
Variables disponibles
Vous pouvez utiliser directement les identifiants ci-dessous dans vos expressions. Le bloc EOM expose une série numérique et ses paramètres de calcul, ainsi que ses sources d’entrée, son symbole et son timeframe.
Supposons le bloc configuré ainsi :
[[eom]]
id = "ease"Alors :
| Variable | Description |
|---|---|
ease ou ease[0]Décimal | Valeur actuelle de l’Ease of Movement. |
ease[n]Décimal | Valeur de l’Ease of Movement il y a n bougies. |
ease.lengthDécimal | Longueur de lissage utilisée pour la série ease. |
ease.divDécimal | Facteur d’échelle appliqué à la série ease. |
ease.high_sourceease.low_sourceease.volume_sourceTexte | Noms des séries d’entrée high, low et volume utilisées par la série EOM. |
ease.symbolTexte | Symbole de marché utilisé par la série EOM. |
ease.timeframeTexte | Timeframe utilisé par la série EOM. |
Notes
- Les variables numériques se combinent librement dans les expressions avec les opérateurs arithmétiques, de comparaison et logiques.
- Les variables textuelles sont des chaînes destinées aux comparaisons d’égalité et d’inégalité uniquement.