On peut faire une régression linéaire du momentum (différence entre 2 périodes) d’une série de données, exemple simple :
|
|
period = 20 //période de la regression
offset = 6 //période précédente de la série de donnée
data = 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 lr
|
Plus “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 = 0
If 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=1
else
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.