Intégration Pente moyenne mobile comme critère
Forums › ProRealTime forum Français › Support ProBuilder › Intégration Pente moyenne mobile comme critère
- This topic has 6 replies, 2 voices, and was last updated 4 years ago by Nicolas.
-
-
06/03/2020 at 6:55 AM #134314
Bonjour à tous, je souhaite intégrer aux conditions de détection d’un pattern un critère portant sur la nature de la pente de la EMA7. J’ai pensé à ca : Supposant que le calcul de la valeur de la EMA7 au niveau d’une bougie se faisait sur le niveau de cloture de la dite bougie, je me suis dit qu’il suffirait de prendre la valeur de la EMA7 de la bougie “0” puis la valeur de la EMA7 de la bougie “1” (précédente) puis de les comparer pour formuler un critère. J’ai voulu traduire ca en code tel que suivant,
“and (ExponentialAverage[7,0]<ExponentialAverage[7,1]) then”
mais ca ne colle pas. Avez vous une idée ? par avance merci
06/03/2020 at 8:08 AM #134324Ce que tu cherches à coder pourrait se traduire comme ceci:
1test = ExponentialAverage[7][0]<ExponentialAverage[7][1]L’offset en période est à indiquer entre crochets, voir la formation sur la programmation prorealtime.
1 user thanked author for this post.
06/03/2020 at 8:36 AM #13433306/03/2020 at 9:56 AM #134346Pour aller plus loin que la question premiere – critère concernant la pente effective sur 2 unités de temps -, je cherche à savoir comment lisser la pente d’une moyenne mobile de sorte à déterminer si la dite pente est haussière ou baissière sur X unités de temps et ainsi se servir de cette caractéristique pour en faire un critère discriminant au sein d’un code d’indicateur. Je pense utiliser une fonction qui serait une régression lineaire. Est ce une bonne idée ? et si oui, comment la coder, l’intégrer ? Existe t il un post ? une video ? autre ? Merci d’avance
06/03/2020 at 12:55 PM #134389On peut faire une régression linéaire du momentum (différence entre 2 périodes) d’une série de données, exemple simple :
123456789period = 20 //période de la regressionoffset = 6 //période précédente de la série de donnéedata = ExponentialAverage[7][0]-ExponentialAverage[7][offset] //momentum de la EMA entre période actuelle et période offset//regression linéraire sur "period" de "data"lr = LinearRegression[period](data)return lrPlus “period” et “offset” seront importants, plus la courbe sera lisse et les signaux fiables mais introduira de la latence bien entendu.
1 user thanked author for this post.
06/07/2020 at 5:37 PM #135079On peut faire une régression linéaire du momentum (différence entre 2 périodes) d’une série de données, exemple simple :
123456789period = 20 //période de la regressionoffset = 6 //période précédente de la série de donnéedata = ExponentialAverage[7][0]–ExponentialAverage[7][offset] //momentum de la EMA entre période actuelle et période offset//regression linéraire sur “period” de “data”lr = LinearRegression[period](data)return lrPlus “period” et “offset” seront importants, plus la courbe sera lisse et les signaux fiables mais introduira de la latence bien entendu.
Merci Nicolas. Dès lors, la question induite est : comment concrètement intégrer la régression lineaire en tant que critère dans mon instruction d’affichage de signal ? En effet, les critères que je souhaite inclure sont
Critère#1 : Si la pente de la EMA7 (calculée/lissée selon la formule de régression lineaire basée sur la periode et l’offset définis), est descendante
AND
Critère#2 : que le close [0] est au dessus de cette EMA7 lissée,
THEN le signal s’affiche
J’ai ecrit ca :
============
ponentialaverage[7][0]-Exponentialaverage[7][offset]
lr=LinearRegression[period](data)
once histoup = 0
once histodown = 0If low[0]<ExponentialAverage[7] and low[0]<ExponentialAverage[20] and close[0]>ExponentialAverage[7] and close[0]>ExponentialAverage[20] and close[0]>open[0] and ExponentialAverage[7]>ExponentialAverage[20] and close>lr and close>exponentialaverage[100] then
DRAWARROWUP(barindex[0],low-atr10/2) coloured(255,255,0)
histoup=1else
histoup=0
=============
Note : j’ai crée des variables externalisées pour period et offset
Tu peux voir que j’ai intégré pour le critère#2, l’instruction “Close>lr “, qui semble s’appliquer (en tous cas ca ne perturbe pas Probuilder) mais je l’ai fait au hasard et suis pas sur d’etre correct.
Pour le critère#1, je sèche.
Par avance merci – et merci pour ta réponse un dimanche sur une question en attente mais ca n’était pas nécessaire-. Bonne fin de week end.
06/08/2020 at 9:42 AM #135145Pour le critère n°1, il faut tester sa direction avec sa période précédente, soit :
1descendante = lr < lr[1]Le critère 2 ne peut pas exister, cet indicateur est une indication du momentum et il ne s’applique pas sur une échelle de prix, donc comparer le prix avec celui-ci n’est pas possible, l’as-tu appliqué sur ton graphique, tu devrais t’en rendre compte 🙂
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on