Bonjour,
Si je veux détecter les actions du Nasdaq qui font un Plus Haut sur les 250 dernières bougies journalières, j’utilise “a=High[0]=highest[250](High)”
Par contre, si l’historique d’une action est < à 250 bougies, elle ne sera pas détectée par le ProScreener.
Au lieu de faire une recherche sur 250 barres, est-il possible de filtrer les actions sur la totalité de l’historique disponible ? Quel que soit la taille de l’historique journalier (30 barres ou 1000 barres par exemple).
En vous souhaitant un Joyeux Noël,
Bien à vous,
Nicolas
Bonjour, tu peux essayer de remplacer ton 250 par min(barindex,250), ainsi si l’historique plus petit que 250 cela devrait prendre sa valeur, et sinon rester sur 250.
Merci pour ta réponse.
Je viens de tester pour rechercher les Plus Bas : “a=Low[0]=lowest[250](Low)”. Et comme les 3 OST d’hier sont bien détectées, tout semble bien pris en compte finalement quel que soit la taille de l’historique entre [0 et 250] avec “lowest” ou “highest”.
Mais si par exemple, je souhaite screener “a=Low[10]=lowest[250](Low)”. Comment faire pour que le calcul ne se fasse que sur les Plus Bas de [10 à 250], sans prise en compte ensuite d’un nouveau Plus Bas entre [0 à 9] ?
Si tu veux tester sur un intervalle de 240, mais vu il y a 10 barres, alors tu définis une variable, par exemple nommée monplusbas et tu prends sa valeur 10 barres avant celle en cours pour la comparer au low en cours:
monplusbas=lowest[240](Low)
monplusbas[10] correspondra au plus bas entre 10 barres plus tôt et 250 barres plus tôt sans tenir compte de ce qu’il s’est passé depuis.
Si je mets :
monplusbas=lowest[200](Low)
monplusbas[10]=lowest[200](Low)
Cela indique une erreur, j’ai certainement oublié quelque chose.
Tu définis monplusbas par:
monplusbas=lowest[200](Low)
et monplusbas[10] sera sa valeur 10 chandeliers en arrière, tu ne peux pas écrire monplusbas[10]=lowest[200](Low) cela équivaut à tenter d’assigner à monplusbas[10] une valeur alors que tu ne peux pas re-écrire une valeur du passé, c’est sans doute cela qui t’a déclenché une erreur (je me limite à “sans doute” ne voyant ni l’intégralité du code utilisé, ni le message d’erreur lui-même, en tout cas ça parait normal que ce soit pris comme une erreur).
Par contre, tu peux écrire cette égalité si tu en fais la définition d’une variable qui vaudra 1 ou 0 (“vrai ou faux”), par exemple:
montest= (monplusbas[10]=lowest[200](Low))
ou
montest= (monplusbas[10]=lowest[210](Low))
ou avec comparaison plus grand ou plus bas plutôt qu’égalité, par exemple:
montest= (monplusbas[10]<monplusbas)
ce ne sont que des exemples de syntaxe, la logique que tu peux déployer avec monplusbas[10] dépendra bien sûr de ce que tu veux tester.
Merci pour ton aide, mon code actuel est définit actuellement comme ceci :
« offset = 00
a1=Low[2 + offset]< Low[4 + offset]
a2=Low[2 + offset]< Low[5 + offset]
a3=Low[2 + offset]< Low[6 + offset]
a4=Low[2 + offset]< Low[7 + offset]
a5=Low[2 + offset]< Low[8 + offset]
a6=Low[2 + offset]< Low[9 + offset]
a7=Low[2 + offset]< Low[10 + offset]
a8=Low[2 + offset]< Low[11 + offset]
a9=Low[2 + offset]< Low[12 + offset]
a10=Low[2 + offset]< Low[13 + offset]
a11=Low[2 + offset]< Low[14 + offset]
a12=Low[2 + offset]< Low[15 + offset]
a13=Low[2 + offset]< Low[16 + offset]
a14=Low[2 + offset]< Low[17 + offset]
a15=Low[2 + offset]< Low[18 + offset]
a16=Low[2 + offset]< Low[19 + offset]
a17=Low[2 + offset]< Low[20 + offset]
a18=Low[2 + offset]< Low[21 + offset]
a19=Low[2 + offset]< Low[22 + offset]
a20=Low[2 + offset]< Low[23 + offset]
a21=Low[2 + offset]< Low[24 + offset]
a22=Low[2 + offset]< Low[25 + offset]
a23=Low[2 + offset]< Low[26 + offset]
a24=Low[2 + offset]< Low[27 + offset]
a25=Low[2 + offset]< Low[28 + offset]
a26=Low[2 + offset]< Low[29 + offset]
a27=Low[2 + offset]< Low[30 + offset]
a28=Low[2 + offset]< Low[31 + offset]
a29=Low[2 + offset]< Low[32 + offset]
a30=Low[2 + offset]< Low[33 + offset]
a31=Low[2 + offset]< Low[34 + offset]
a32=Low[2 + offset]< Low[35 + offset]
a33=Low[2 + offset]< Low[36 + offset]
a34=Low[2 + offset]< Low[37 + offset]
a35=Low[2 + offset]< Low[38 + offset]
a36=Low[2 + offset]< Low[39 + offset]
a37=Low[2 + offset]< Low[40 + offset]
a38=Low[2 + offset]< Low[41 + offset]
a39=Low[2 + offset]< Low[42 + offset]
a40=Low[2 + offset]< Low[43 + offset]
a41=Low[2 + offset]< Low[44 + offset]
a42=Low[2 + offset]< Low[45 + offset]
a43=Low[2 + offset]< Low[46 + offset]
a44=Low[2 + offset]< Low[47 + offset]
a45=Low[2 + offset]< Low[48 + offset]
a46=Low[2 + offset]< Low[49 + offset]
a47=Low[2 + offset]< Low[50 + offset]
a48=Low[2 + offset]< Low[51 + offset]
a49=Low[2 + offset]< Low[52 + offset]
a50=Low[2 + offset]< Low[53 + offset]
a=a1 AND a2 AND a3 AND a4 AND a5 AND a6 AND a7 AND a8 AND a9 AND a10 AND a11 AND a12 AND a13 AND a14 AND a15 AND a16 AND a17 AND a18 AND a19 AND a20 AND a21 AND a22 AND a23 AND a24 AND a25 AND a26 AND a27 AND a28 AND a29 AND a30 AND a31 AND a32 AND a33 AND a34 AND a35 AND a36 AND a37 AND a38 AND a39 AND a40 AND a41 AND a42 AND a43 AND a44 AND a45 AND a46 AND a47 AND a48 AND a49 AND a50 »
- Je voudrais prolonger le code jusqu’à “Low[2 + offset]< Low[200 + offset]” mais le problème est que je n’aurais pas de résultats pour les historiques < à 200 chandeliers.
- Et si je le remplace par “a=Low[2 + offset]=lowest[200 + offset](Low)”, je n’aurais pas de résultats si Low[1 + offset] ou Low[o + offset ] sont des Nouveaux Plus Bas.
- Et avec la variable “monplusbas”, j’ai du mal à comprendre comment faire. Ca devient trop complexe pour moi.
Je pense que cela pourrait résoudre votre problème, vous pouvez atteindre 1000 ou 10000, mais vos tests rétrospectifs seraient extrêmement longs !
Condition = 1
FOR i = 1 TO 1000
IF Low[2 + offset] >= Low[(i + 3) + offset] THEN
Condition = 0
break
ENDIF
NEXT