Bonjour Nicolas , bonjour à tous ,
J’utilise l’indicateur Quadratic Sémaphore depuis une grosse année et je le trouve particulièrement intéressant , chacun aura régler ses paramètres à sa façon selon son type de trading.
Serait-il possible de le coder de manière à en faire un screener qui renvoie le dernier signal (up and down )
A l’avance merci
//PRC_Quadratic Semaphore | indicator
//25.08.2018
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
// --- settings
length = 30
p=6
// --- end of settings
x1 = barindex
x2 = square(x1)
//upper semaphore
y = high
S11 = summation[length](x2) - square(summation[length](x1))/length
S12 = summation[length](x1*x2) - (summation[length](x1) * summation[length](x2))/length
S22 = summation[length](square(x2)) - square(summation[length](x2))/length
Sy1 = summation[length](y*x1) - (summation[length](y)*summation[length](x1))/length
Sy2 = summation[length](y*x2) - (summation[length](y)*summation[length](x2))/length
max1 = average[length](x1)
max2 = average[length](x2)
may = average[length](y)
b2 = ((Sy1 * S22) - (Sy2*S12))/(S22*S11 - square(S12))
b3 = ((Sy2 * S11) - (Sy1 * S12))/(S22 * S11 - square(S12))
b1 = may - b2*max1 - b3*max2
qr = b1 + b2*x1 + b3*x2
//lower semaphore
yl = low
Sy1l = summation[length](yl*x1) - (summation[length](yl)*summation[length](x1))/length
Sy2l = summation[length](yl*x2) - (summation[length](yl)*summation[length](x2))/length
mayl = average[length](yl)
b2l = ((Sy1l * S22) - (Sy2l*S12))/(S22*S11 - square(S12))
b3l = ((Sy2l * S11) - (Sy1l * S12))/(S22 * S11 - square(S12))
b1l = mayl - b2l*max1 - b3l*max2
qrl = b1l + b2l*x1 + b3l*x2
period = round(p/2)+1
hh = qr[period]
ll = qrl[period]
countH = 0
countL = 0
for i = 1 to period-1 do
if qr[i]<hh then
countH=countH+1
endif
if qrl[i]>ll then
countL=countL+1
endif
next
for i = period+1 to p+1 do
if qr[i]<hh then
countH=countH+1
endif
if qrl[i]>ll then
countL=countL+1
endif
next
atr = averagetruerange[length]
if countH=p then
pivotH = high[period]
drawtext("●",barindex[period],pivotH+atr/2,dialog,bold,20) coloured(25,25,112)
endif
if countL=p then
pivotL = low[period]
drawtext("●",barindex[period],pivotL-atr/2,dialog,bold,20) coloured(176,23,31)
endif
return
Déjà codé il y quelques mois, tu le trouveras ici : screener semaphore quadratique
Gloups !!!!!
Merci Nicolas, je ne pense jamais à regarder l’existant .
Bonne journée.
C’est encore moi
Je viens d’installer le screener mais il ne satisfait apparemment pas à ma requête, avec tes parametres (30,6) les signaux ont x jours de retard après leur apparition.
j’aurais souhaité le signal le jour même de leur apparition.
peux tu y jeter un oeil voire les deux ?
merci
En effet, les points se dessinent dans le passé, d’où cet effet de retard, bizarre que tu ne l’ai pas constaté en l’utilisant ?!
Si je m’en était aperçu mais je ne voyais pas autant de retard du signal ?! là je vois 5 ou 6 jours à chaque fois d’où un intérêt beaucoup moindre.
merci , bonne soirée
Tout dépend de la valeur du paramètre “p”, à 6 périodes par défaut. C’est juste une fractal de la courbe qui marque un plus haut ou un plus bas, pas un signal en ce sens, pour cela on se donne une période de validation, d’où la variable p.
merci Nicolas , ces précisions servent à la communauté de mieux comprendre l’indicateur. Comme Warren Buffet mieux vaut comprendre ce qu’on achète où ce que l’on utilise comme outils.
Bon week end.
Ici c’est fête : jour de la constitution en Espagne.