Bonsoir,
je souhaiterai élaborer un indicateur qui permette de mesure la distance “moyenne” entre – par exemple – les cours d’un actif et une moyenne mobile (par une moyenne mobile simple 50 périodes). Afin de lisser cette distance, il me semblerait nécessaire de la calculer sur un historique assez long (par exemple 200 périodes ?).
Une fois cette distance calculée moyennée sur 200 périodes, je voudrais l’ajouter à la moyenne mobile pour en faire donc un 2ème indicateur. Ceci me permettrait de voir si les cours sont dans la distance moyenne observée sur les 200 dernières périodes ou au contraire s’ils en sont sortis.
Quelqu’un pourrait il me mettre sur une piste car je cale?
merci d’avance pour votre aide.
Bien compris, ça devrait ressembler à cela :
avg = average[50]
a = abs(close-avg)
b = average[200](a)
return avg+b, avg-b
et bien c’est exactement cela. IL faut que je regarde si c’est exploitable. L’idée étant que si les cours sortent de la distance moyenne observée, ils y reviendront à un moment.
merci. Bonne soirée.
Une donnée dans une série revient toujours vers sa moyenne, mais quand ? 🙂
oui c’est exactement ça. Mais quand? C’est la question …
Donc, pour poursuivre le sujet et d’enrichir l’indicateur, il me semblerait intéressant d’avoir les informations suivantes :
- identifier sur les 200 périodes les distances les plus importantes entre le cours de l’actif et sa moyenne mobile (nous sommes donc sur un historique de 200 périodes)
- pour la période actuelle, dès que la distance entre le cours de l’actif et sa moyenne mobile est égale ou dépasse les distances les plus importantes observées sur les 200 périodes, insérer un petit signal au dessus ou au dessous du cours de l’actif.
La difficulté (à mon niveau) est d’identifier ces distances les plus importantes : comment faire ? et faut il identifier la distance la plus importante ou les 3 ou 4 distances les plus importantes puis en faire une moyenne ? et pourquoi 3 ou 4 ?
Merci de vos idées et de votre aide sur la programmation complémentaire de cet indicateur.
Pour identifier la distance (une valeur) la plus importante dans une série sur les X dernières périodes, on peut utiliser l’instruction HIGHEST.
avg = average[50]
a = abs(close-avg)
b = average[200](a)
hh = highest[200](a)
if hh<>hh[1] then
if close>avg then
x = avg+b
else
x = avg-b
endif
drawtext("◯",barindex,x,dialog,bold,30) coloured(0,200,200)
endif
return avg+b, avg-b
Si le close est au dessus de la moyenne 50, alors on trace un cercle sur la bande haute et inversement si dessus la MA50.
Merci.
Je m’aperçois que les résultats ne sont pas très probants. Il faut que je cogite sur ce sujet.
merci en tout cas.
oui c’est exactement ça. Mais quand? C’est la question …
Il n’y a pas de réponse à cette question. Certains utiliseront une divergence sur un oscillateur borné marquant un arrêt/ralentissement/accélération de synchronisation avec le flux des prix.
Pourriez vous m’expliquer (traduire ?) le fonctionnement des lignes 7 à 11 SVP?
merci.
C’est pour placer un nouveau cercle.
Si l’écart maximum des 200 dernières bougies vient d’être modifié (ligne 7), alors celui-ci sera placé sur le haut du canal si le prix est supérieur à la MA50 (lignes8,9) ou sur le canal du bas si inférieure à cette même moyenne mobile (lignes 10,11).
Bonjour Nicolas,
J’utilise 3 MM
1 longue (200) et 2 courtes (20/7)
Je souhaiterai coder un indicateur qui me donne un signal pour identifier les excès de marché c’est à dire lorsque les cours s’éloignent des MM.
Je souhaiterai que cet indicateur s’affiche directement sur le graphique (Cf ci joint)
Voici ce que j’ai codé pour mesurer les excès :
MM1 = exponentialaverage[200](close)
MM2 = exponentialaverage[20](close)
MM3 = exponentialaverage[7](close)
//REGLAGE DE L'ECART TYPE
IF MM2>MM1 then
Ecartype = abs((high-MM1)+(high-MM2)+(High-MM3))
elsif MM2<MM1 then
Ecartype = abs((MM1-Low)+(MM2-low)+(MM3-Low))
endif
RETURN Ecartype
J’ai 2 questions :
1) Penses-tu que ma mesure de l’écart type apporte quelque chose (cad le cumul de 3MM) ou suffit-il d’utiliser un seul écart (Celui entre les cours et la MM longue) ?
2) Peux-tu m’orienter vers quelque chose (Librairie ou bout de code) qui me permette d’arriver à mes fins, cad de faire apparaître un signal (flèche ou autre) directement sur le graph lorsque il y a un éloignement ?
Merci de tes lumières.
Je souhaiterai coder un indicateur qui me donne un signal pour identifier les excès de marché c’est à dire lorsque les cours s’éloignent des MM.
Soit le concept “inventé” par John Bollinger, les fameuses bandes de .. . On mesure un écart type qu’on ajoute / soustrait (multiplié par X) à une distribution (ici une moyenne mobile). Les oscillateurs bornés (type CCI, stochastique, ..) ont aussi la même philosophie, c’est le retour à la moyenne (mean reversion).
1/ Non, autant mesurer l’écart à la moyenne qui a l’observation de la distribution la plus longue.
2/ https://www.prorealcode.com/tag/mean-reversion/
https://www.prorealcode.com/tag/mean-reverting/
Il suffit de trouver le concept qui te convient et on pourra afficher des flèches sur des conditions précises, il y a 1000 et 1 façons de mesurer un écart à la moyenne.
Merci Nicolas je vais utiliser un oscillateur (Le RSI)
J’ai eu le problème des flèches qui apparaissent en “bouquet” donc pour le régler j’ai utiliser “crosses under, crosses over”.
J’ai également remarqué que tout est une question de réglage. En effet pour “filtrer” les signaux il faut jouer :
- soit sur le bornage (85/15, 95/5…)
- soit sur la longueur du RSI4
Pour ma part, je pense utiliser le RSI14 en 85/15 ou alors utiliser 2 RSI (exemple RSI 14 en 80/20 et RSI 4 en 97/3)
J’ai encore des questions :
1) As-tu une idée pour que l’indicateur aille me chercher les PIC que mon réglages ne trouve pas (Cf photo 1) ?
=> je comptais utiliser l’outil “Variation” afin d’avoir aussi un signal AUSSI quand il y a un excès mais que le RSI n’est pas en Surachat (Exemple lorsque en 8h le prix à progresser de 1,2% ou qu’en 78h il a progresser de +2%)
2) As-tu une solution pour que l’indicateur me signale l’excès de façon plus proche (Cf photo 2) ?
=> Si j’utilise “crosses over” le coup est souvent déjà parti
Je partagerai mon indicateur et mon screener quand ils seront au point. Merci de tes réponses.