obo trend bars

Centre de gravité, indicateur de Belkhayate et bandes de Hurst

Plusieurs indicateurs, basés sur un même outil: le centre de gravité.

Qu’on l’appelle centre de gravité, filtre Lowess, indicateur de Belkhayate, Sigma Bands ou Hurst Bands, l’origine est la même: une courbe centrale en équilibre, avec autant de cours d’un coté que de l’autre, en autres mots un centre de gravité des cours.

Les cours vont graviter d’un coté à l’autre de cette courbe (la courbe bleue en gras sur le graph ci dessous) en y revenant sans cesse. Cette même courbe va aussi permettre d’y voir plus clair dans la tendance actuelle (si la tendance court terme est haussière, est-elle toujours inscrite dans la tendance baissière?).

centre-de-gravite

Les autres courbes, sont des bandes obtenues par l’ajout de plusieurs facteurs de l’average true range, qui mesure la volatilié ambiante du cours.

Le résultat est une courbe qualifiée par Mr Belkhayate de “centre de gravité”, qui est un indicateur filtre de tendance (il filtre les variations du cours pour n’en retenir que la tendance globale) entourée d’autre courbes qui contiennent la volatilité ambiante.

Une stratégie est de se dire que 95% des cours seront inscrits entre ces bandes, et que si le cours en sort, il reviendra rapidement par réaction physique entre celles-ci. On peut alors se baser sur la pente de la courbe bleue, le centre de gravité, pour évaluer la tendance en cours, et ne trader que dans sons sens.

Sur le graph sont indiqués quelques trades avec peu de risque et un gain conséquent que l’on peut faire en prenant position lorsque la tendance générale est baissière (courbe bleue) et que le cours déborde à la hausse des bandes. On prend alors position pour une vente à découvert et l’on sortira de cette VAD uniquement lorsque le cours ira taper la bande la plus basse. Nous prenons donc partie des exagérations du cours, et donc d’un taux de réussite très élevé.

Add to Google Add to netvibes Add to My Yahoo! http://www.wikio.fr

Si vous avez apprécié cet article, s'il vous plait, prenez le temps de laisser un commentaire ou de souscrire au flux afin de recevoir les futurs articles directement dans votre lecteur de flux.

Commentaires

Bonjour,
tres interessant. je ne connaissais que la version de Belkhayate. Est il necessaire de le coder sur pro real time ou existe il un indicateur par defaut qui s’en rapproche?
Merci

Bonjour,

Je le code sous Prorealtime parce que c’est la plateforme que j’utilise, mais je suppose qu’il est possible de le trouver ou l’adapter sur d’autres plateformes.

Christophe.

Il me semble que l’indicateur “enveloppe (sur prix)” sous PRT ajouté 2 ou 3 fois avec des paramètres différents permet de créer cette fonction. Je ne sais pas si cet indicateur nommé “enveloppe” est le même que celui nommé “enveloppe de hurst”…

Je viens de tester cet indicateur enveloppe. Il semble très différent. je vais me renseigner pour savoir sur quoi il est basé.

Salut chris,

J’ai créer aussi l’indicateur sur PRT. Peut etre que l’on peut échanger nos codes ? Merci

Avec plaisir, je vous contacte par email

salut tout le monde
est il possible d avoir le code du centre de gravite pour prorealtime??
merci

Une première piste peut être cet article, fort intéressant:
http://hk-lisse.over-blog.com/article-19398843.html

bonjour,
Pertinant le centre de gravite de Mr Belkhayate, cet indicateur lui procure 65-72% de reussite c’est pas mal du tout!(annoce salon du trading 21/03)
cordialement

Bonjour,

Je voudrais savoir si quelqu’ un ici a fait un backtest de cet indicateur?
Quelqu’ un aurait le code sur prorealtime?

merci

mon email: luis_felipeandrien@hotmail.com

Le code des Hurst bands - actual est il disponible sous PRT ?

En natif, pas à ma connaissance.

bonsoir

Christophe est il possible d avoir le code du centre de gravite pour prorealtime??
merci

Bonsoir,
Un première piste est dans un commentaire ci dessus. Ce n’est pas l’unique façon de le coder, mais celle-ci est assez propre. Il suffit ensuite d’ajouter des facteurs de l’averagetruerange de même période pour obtenir les enveloppes.

Bonjour,

Je suis intéressé par le code du centre de gravité pour faire des backtests.

Seulement il semble que la version MQ4 du code du centre de gravité dynamique en ma possession on parle de matrices de variables (tableaux de variables à plusieurs dimensions).

Or je suis nul en programmation PRT et je me demande même si la création de matrices est possible sous PRT.

Si cela vous intéresse je pourrais vous fournir le code MQ4 afin que vous puissiez le transcrire puis me l’envoyer. A moins que vous n’ayez déjà réalisé cet indicateur sous PRT, auquel cas je serai ravi de recevoir votre code :-).

Tenez moi au courant.
Par avance merci
Philippe

Bonsoir
Je regarde aussi sous PRT l’indicateur Lowess HK lisse.
J’ai vu que les paramètres pouvant être modifiés pour élargir/rétrécir les bandes périphériques pour incorporer plus/- de cotations dans le tracé obtenu, j’ai commencé à suivre.
As tu essayé de définir dans la formule Hk lisse les facteurs de l’average true range? Comment faire cette adaptation?
Par ailleurs, est-il possible de screener en faisant la recherche des actions/indices qui présentent une position de valeurs les plus décalées (périphériques) à un moment donné par rapport à la courbe centrale? On pourrait aussi se demander si le codage en + ou en - de la courbe centrale pourrait être utilisé par un screener? 2 questions en une…
Merci

Bonjour.

à l’adresse suivante chez hk lisse =

http://hk-lisse.over-blog.com/categorie-10304178.html

on trouve le script “filtre lowess : le code définitif”.
si vous copiez ce script en prorealtime + temps réel intraday
par exemple unités 2′ en future fce, vous constatez que le tracé devient plst , et donc que le feed data ne fonctionne pas. il faut rafraichir les datas “à la main”.

donc ma question est = pourquoi ce sript ne se relance t il pas de lui mème ? car par ailleurs dans la mème fenètre les datas prix nouvelles arrivent correctement.

merci de m’aider à réfléchir…hk lisse ne semble pas recevoir mes messages..

Imposible de faire fonctionner dans prorealtime cette indicateur
J’ai un prob
lorsque je rendre le code du centre de gravite dans prorealtime via l’afresse si dessous

http://hk-lisse.over-blog.com/article-19398843.html
j’ai le message suivant
Erreur dans l’indicateur: Bari
Un paramètre de type entier positif est attendu avecDPO
comment faire pour avoir cette indicateur dans prorealtime.
Cordialement.

Bonjour chris,
félicitation pour ce blog d’une très grande qualité.

je te cite: “Il suffit ensuite d’ajouter des facteurs de l’averagetruerange de même période pour obtenir les enveloppes.”
Concretement, comment proceder ?
Je débute sous prorealtime, est-ce qu’il faut inserer une ligne de code dans l’indicateur ?
Merci, d’avance pour ta réponse.

Bonjour,

Tout à fait, il faut ajouter une ligne de code en fonction de ses besoins.

Pour débuter sous prorealtime, la doc complète est vraiment très bien faite pour apprendre en douceur:
http://www.prorealtime.com/fr/pdf/doccomplete.pdf

bonjour,

j’ai fait un backtest sur le FCE cac40 platteforme prorealtime, il n’y a pas de stop loss
L’utilisation du filtre lowess semble vraiment concluant
voici les résultats obtenus

Stratégie long -Short
10000 barres journalier ( 20 ans )
long 123000€ net
100%
31 trades
3976 €/trade
Draw down 2850
Short 108000€ net
100% réussite
5720€/ trade
Draw D 4490

il s’agit d’une stratégie toute simple avec deux bandes fixes parallèles audessus et endessous du filtre lowess
le long ou le short est déterminé par la différentielle sur le lowess ( 3 barres )
les ordres sont des ordres limit
Ce qui m’intéresse serait de pouvoir calculer automatiqument les bandes de part et d’autre du filtre lowess
Je suis certain qu’il yaurait moyen de faire beaucoup plus de trades, utiliser une bande fixe n’est pas toujours adapée à tous les types de comportement.
Quelqu’un aurait t-il une idée permettant de calculer ce couloir?

Voici ma stratégie

p3= 50
k=p3
de48=DPO[k*2](close)
if de48=de48[1] and de48[1]=de48[2] and de48[2]de48[3] then
flag=1
endif
n=(k*2)-4
p=(n/2)-1
d100=DPO[n](close)
moy100=close-d100
co=(moy100-moy100[1]+(close[p])/n)*n
if flag[1]=1 and flag[2]=0 then
hh=co[1]
endif
if flag[1]=1 then
co=hh
tra=tra+1
endif
n=p3 mod 2
p=(p3-n)/2
p3=(2*p)+1
once x=0
w=abs((p-x)/p)
w=w*w*w
w=(1-w)
w=w*w*w
x=x+1
if tra[p]=0 then
if barindex=p3 then
a=0
b=0
e=0
for i=1 to p3
z=barindex-i+1
a=a+w[z]
b=b+w[z]*(i)
e=e+(i)*(i)*w[z]
next
endif
if barindex>p3 then
c=0
d=0
for i=1 to p3
z=barindex-i+1
c=c+co[p3+p-i]*w[z]
d=d+co[p3+p-i]*w[z]*(i)
next
endif
else
a=0
b=0
e=0
for i=1 to p3-tra[p]
z=barindex-i+1
a=a+w[z]
b=b+w[z]*(i)
e=e+(i)*(i)*w[z]
next
c=0
d=0
for i=1 to p3-tra[p]
z=barindex-i+1
c=c+co[p3+p-i]*w[z]
d=d+co[p3+p-i]*w[z]*(i)
next
endif
alpha=(a*d-b*c)/(a*e-b*b)
beta=(c*e-b*d)/(a*e-b*b)
lowess=alpha*(p+1)+beta
if barindex 0 then
buy 1 shares at b1 limit
endif
endif

if longonmarket then
sell 1 shares at b2 limit
endif

if dlwss < 0 then
sellshort 1 shares at b2 + 80 limit
endif

if shortonmarket then
exitshort 1 shares at b1- 50 limit
endif

mon e-mail
vanrossem.jeanpaul@gmail.com

malheureusement, le filtre lowess “repaints” comme on dit. donc on a forcément 100% de réussite.
c’est un indicateur comme toute la famille des indicateurs dits dynamiques dont la valeur est valable seulement à l’instant actuel. si on regarde les valeurs passées, celles ci changent.

voir par exemple cette video: http://www.youtube.com/watch?v=zD_zIkEymE0

il faut voir ces indicateurs comme des outils de probabilité, et non, comme des signaux.

Concerne : commentaire Chris ; effet repaints

Des stratégies qui peuvent faire 100% c”est trop beau pour être vrai.
Pour vérifier l’effet repaint de lowess j’ai ajouté une petite routine au programme

once dt = 10
ib = ib+1
if ib = dt then
lowessdt = lowess
ib = 0
endif

lowessdt contient la valeur de lowess tous les dt barres ( 10)

On constate que lowessdt et lowess ont exactement la même valeur
De plus lowess est calculé après l’exécution de la boucle donc à chaque exécution du programme,seule la dernière barres est concernée on peut donc supposer que les valeurs calculées sur les barres précédentes ne bougent pas.
Ceci évidemment en considérent que le programme soit exécuté en suivant l’indexbar

Retrancher et ajouter l’averagetruerange ( ATR )au filtre lowess donne de très bons résultats en backtest
Le fait d’utiliser une moyenne mobile endpoint comme valeur de franchissement des bandes déterminées par lowess et l’ATR
améliore encore les performances

Concerne: repaint du filtre lowess

Le backtesting avec filtre lowess donne des résultats époustouflants , comme je l’ai déjà publié.
Trop beau pour être vrai.
En relevant jour apès jour la position du filtre, j’ai constaté que il y avait de grandes différences d’une barre à l’autre.
Constatant cela, j’ai introduit dans le programme PRT le n° de la barre correspondant à l’arrêt du calcul de la progression :
( voir programme site ” hk_lisse.overblog” lowess pour PRT )
// nix = n° de la barre en paramètre
if barindex < nix - p3 then
de48=DPO[k*2](close)
endif

Ceci me permet de visualiser le graphe au jour précédant l’ordre de la position a prendre.
C’est là que vraiment il y a une énorme différence entre ce que me donne le backtest et ce qui est réellement visible ces jours là.
Il y a 1 question que je me pose:
- 1 Comment se fait-il que le programme de backtest de PRT ne soit pas en phase avec l’indicateur.
- Comment interprété correctement cet indicateur dit de centre de gravité ?
Qui peut m’aider pour obtenir un programme plus réaliste ?
Evidemment on arrive toujours au même problème, les indicateurs ne sont pas devin ils sont suiveurs.
Le fameux centre de gravité est sujet à des fluctuations importantes inacceptables pour l’utiliser telque

Malheureusement je n’arrive pas à faire un copier coller de mes graphes, c’est dommage !

mon mail vanrossem.jeanpaul@gmail.com

Bonjour Chris, comme toujours très bon article sur cette méthode (belkhayate). y -a-il moyen d’avoir le code sur ProrealTime pour cette courbe centre de gravité et pour les courbes qui l’entourent?
un grand merci

[...] como Centro de Gravedad para distintas plataformas, entre ellas ProRealTime, [por ejemplo aquí o aquí también]. Al no poder verificarlas con el original, no podremos saber hasta qué punto son o no [...]

Bonsoir à tous,
la question du code sous pro real Time semble rester un mystère!?
Je souhaterais étudier cet indicateur et je sais que rien de plus concret qu’un code pour comprendre. Alors je m’adresse à ceux d’entre vous qui ont un code qui fonctionne… Et qui n’ont rien à cacher :) Indicateur seulement, pas back test.
Merci, Greg
tardy.trade@gmail.com

Est- ce que cet indicateur repeint merci d’avance

Laisser un commentaire