Bonjour,
j’aimerai ajouter le nombre de bougie ou la fraicheur depuis le passage de la MM200 mais cela ne fonctionne pas.
Si quelqu’un avait la solution… Merci
c1 = close>average[200](close) and summation[10](close crosses over average[200](close))>=1
c2 = volume>1.1*volume[1]
short=12
long=26
EMAshort1 = exponentialaverage[short](close)
EMAshort2 = exponentialaverage[short](EMAshort1)
DifferenceShort = EMAshort1 - EMAshort2
ZeroLagShort = EMAshort1 + DifferenceShort
EMAlong1 = exponentialaverage[long](close)
EMAlong2 = exponentialaverage[long](EMAlong1)
DifferenceLong = EMAlong1 - EMAlong2
ZeroLagLong = EMAlong1 + DifferenceLong
ZeroLagMACD = ZeroLagShort - ZeroLagLong
c7 = zerolagmacd>=0
// on compte le nombre de bougies
start=start+1
screener[c1 and c2 and c7 and start<=20](start as "bougies")
Bonsoir,
Il n’y a aucune initialisation de start, on peut réparer en rajoutant quelque chose de ce style en début de code:
if close crosses over average[200](close) then
start=1
endif
Du point de vue de la modération des forums ProRealCode:
1) Message séparé du sujet à la suite duquel il était initialement posté sans avoir de rapport avec celui-ci. Merci de créer un nouveau sujet pour une nouvelle requête plutôt que de poster à la suite d’un sujet existant non lié.
2) Code remis au format PRT dans le post ci-dessus. Quand le bouton “insert PRT code” n’apparait pas, merci de faire CTRL+F5 cf https://www.prorealcode.com/topic/insert-prt-code-button-ctrlf5-to-bring-it-back-if-missing/
Bonjour,
L’idée du summation sur la première ligne est pas mal, mais “cross over” est un évênement ponctuel.
J’essaierai un truc dans le genre:
start = summation[20](close > exponentialaverage[200](close))
JC_Bywan bonjour et merci beaucoup !
JC_Bywan bonjour et merci beaucoup !
Par contre juste un petit souci avec le décompte des bougie. Par exemple aujourd’hui ave données en fin de journée sur integragen bougie indique 2 alors que le prix est passé au dessus de la valeur hier donc normalement on devrait avoir 1 ou encore sur akwel on a 3 bougies dans la fraicheur du screener alors que l’on est a 10 sur le graphique…
Pensez vous qu’il y a quelque chose à ajouter ?
Merci
if close crosses over average[200](close) then
start=1
endif
c1 = close>average[200](close) and summation[10](close crosses over average[200](close))>=1
c2 = volume>1.2*volume[1]
short=12
long=26
EMAshort1 = exponentialaverage[short](close)
EMAshort2 = exponentialaverage[short](EMAshort1)
DifferenceShort = EMAshort1 – EMAshort2
ZeroLagShort = EMAshort1 + DifferenceShort
EMAlong1 = exponentialaverage[long](close)
EMAlong2 = exponentialaverage[long](EMAlong1)
DifferenceLong = EMAlong1 – EMAlong2
ZeroLagLong = EMAlong1 + DifferenceLong
ZeroLagMACD = ZeroLagShort – ZeroLagLong
c7 = zerolagmacd>=0
// on compte le nombre de bougies
start=start+1
screener[c1 and c2 and c7 and start<=15](start as “bougies”)
Oui en fait il vaut mieux initialiser avec start=0 plutôt que =1 de la suggestion précédente, vu qu’en lisant le code de plus près, le start est incrémenté à 1 dès la première bougie, donc 0+1=1 ainsi à la première bougie (sinon on avait 1+1=2 en première bougie).
Et j’insiste sur le formatage du code avec le bouton “insert PRT code”, merci. Je ne reformate pas celui du post ci-dessus cette fois-ci, mais correctement formater le code fait partie des règles de publication dans le forum, cela permet de mieux les lire, vite repérer les erreurs de syntaxe grâce aux couleurs, mais aussi de répondre en référençant le numéro de ligne par exemple. Si le bouton “insert PRT code” n’apparait pas, je remets ici le lien de la vidéo pour le faire réapparaitre: https://www.prorealcode.com/topic/insert-prt-code-button-ctrlf5-to-bring-it-back-if-missing/ pendant encore quelques temps jusqu’à la révision du site.
Merci de votre retour, c’est très sympa.
Malheureusement cela ne fonctionne pas, je vous fait parvenir la photo du screener car, une petite image vaut mieux….
if close crosses over average[200](close) then
start=0
endif
c1 = close>average[200](close) and summation[10](close crosses over average[200](close))>=1
c2 = volume>1.2*volume[1]
short=12
long=26
EMAshort1 = exponentialaverage[short](close)
EMAshort2 = exponentialaverage[short](EMAshort1)
DifferenceShort = EMAshort1 – EMAshort2
ZeroLagShort = EMAshort1 + DifferenceShort
EMAlong1 = exponentialaverage[long](close)
EMAlong2 = exponentialaverage[long](EMAlong1)
DifferenceLong = EMAlong1 – EMAlong2
ZeroLagLong = EMAlong1 + DifferenceLong
ZeroLagMACD = ZeroLagShort – ZeroLagLong
c7 = zerolagmacd>=0
// on compte le nombre de bougies
start=start+1
screener[c1 and c2 and c7 and start<=15](start as “bougies”)
L’image est une mm200 exponentielle, le code est une mm200 simple.
Trop fort ! Merci énormément de votre gentillesse.
En vous souhaitant un agréable week-end…
Désolé mais cela ne fonctionne pas.
if close crosses over average[200](close) then
start=0
endif
c1 = close>average[200](close) and summation[10](close crosses over average[200](close))>=1
c2 = volume>1.2*volume[1]
short=12
long=26
EMAshort1 = average[short](close)
EMAshort2 = average[short](EMAshort1)
DifferenceShort = EMAshort1 – EMAshort2
ZeroLagShort = EMAshort1 + DifferenceShort
EMAlong1 = average[long](close)
EMAlong2 = average[long](EMAlong1)
DifferenceLong = EMAlong1 – EMAlong2
ZeroLagLong = EMAlong1 + DifferenceLong
ZeroLagMACD = ZeroLagShort – ZeroLagLong
c7 = zerolagmacd>=0
// on compte le nombre de bougies
start=start+1
screener[c1 and c2 and c7 and start<=10](start as “bougies”
A nouveau, sur les 2 images le titre de la moyenne employée dit que c’est une moyenne mobile 200 exponentielle, et le code (à nouveau non formaté avec bouton “insert PRT code”!) emploie une moyenne mobile 200 simple, qui se calcule très différemment d’une moyenne mobile 200 exponentielle, à quoi bon afficher l’une pour comparer comme si c’était l’autre… Au passage l’ambiguité n’est pas neuve: le titre du topic est avec une moyenne 200 exponentielle, alors que le texte dans le corps du message d’en-tête ainsi que c1 du code de départ sont avec une moyenne 200 simple . Il faut choisir l’une ou l’autre, mais pas comparer avec l’une ce qui est codé avec l’autre.
Bonjour et merci pour ce retour sympathique.
Je cherchais dans le code alors que l’erreur se trouve dans les paramètres de la MM200 du screener (EMA au lieu de SMA)…
Il faut avoir l’oeil partout !
Merci encore