Identification de la resistance la plus basse et du support le haut
Forums › ProRealTime forum Français › Support ProBuilder › Identification de la resistance la plus basse et du support le haut
- This topic has 6 replies, 2 voices, and was last updated 2 months ago by pavix.
-
-
08/25/2024 at 9:55 AM #236697
Bonjour,
A partir d’une analyse multi timeframe, j’obtiens un ensemble de valeurs qui sont, pour chaque période, soit des résistances soit de supports.
Je cherche à créer un indicateur pour éviter à avoir 5-6 fenêtres d’ouvertes et pour éventuellement créer des conditions de vente dans un algo.
Ainsi, dans mon unité de temps dans la quelle j’interviens (et qui est la plus faible des 5-6 fenêtres), je dois :
- définir si chaque nouvelle valeur calculée constitue une résistance ou un support (ça je sais faire)
- créer une liste de Supports, et une liste de Résistance
- puis, à partir des deux listes crées, identifier le support et la résistance les plus proches de mon prix
Il est toujours possible de classer via un algo une vingtaine de valeurs, mais, cela est extrêmement fastidieux, à base de If etc….
Quelles seraient les solutions offertes par PRT ?
merci d’avance
08/25/2024 at 11:03 AM #236699Bonjour,
Variante 1: On met les 2 listes dans 2 tableaux (“arrays”, notation $nomdetableau[indexdansletableau]), on les trie par ordre croissant, on combine une boucle FOR NEXT et un bloc IF ENDIF pour trouver avec chaque liste qui est le plus proche
(instruction utile arraysort : https://www.prorealcode.com/documentation/arraysort/ )
Variante 2: On stocke en tableaux non pas les 2 listes, mais les “prix-support” et “résistance-prix”, on n’en garde que les positifs, et on prend le mini positif de chaque, qui correspondent donc au plus proche support et à la plus proche résistance
(instruction utile arraymin : https://www.prorealcode.com/documentation/arraymin/ )
Variante3: On écourte chacune des 2 listes en supprimant les anciens supports plus hauts que le prix actuel, et les anciennes résistances plus basses que le prix actuel, et on prend le max de la nouvelle liste écourtée de support, et le min de la nouvelle liste écourtée de résistances
(instruction utile arraymin : https://www.prorealcode.com/documentation/arraymin/ )
(instruction utile arraymax : https://www.prorealcode.com/documentation/arraymax/ )
08/25/2024 at 2:45 PM #236707Merci beaucoup c’est très utile, je suis parti sur la première solution qui est la plus “logique” selon moi (la seconde est relativement proche également)
j’ai ajouté Unset($Nomdutableau) pour chacun de mes tableaux, sinon, j’avais l’impression que les données passées restaient stockées.
Par contre, je constate que parfois un tableau, pour une bougie donnée, est vide ; la valeur retournée par l’opération ArrayMax, ou ArrayMin selon le cas, est donc la valeur précédente.
y a-t-il une instruction pour savoir si le tableau est vide ?
Ainsi, je pourrai créer une “alerte” pour ignorer la valeur retournée (et dire qu’il n’y a pas de supports ou resistances proches)
Merci encore
08/25/2024 at 3:13 PM #23670808/28/2024 at 3:51 PM #23679008/30/2024 at 7:27 AM #236884Avant l’arrivée de l’instruction arraysort, je me souviens avoir codé quelque chose comme ça sur le forum, mais je ne retrouve plus le post, et maintenant qu’on a arraysort (avec choix de mode ascend ou descend), c’est plus simple, donc pas besoin du vieux post: on peut par exemple copier un tableau dans un tableau jumeau de nom différent (pour ne pas perdre le tableau original si on en a besoin sans en changer l’ordre), puis trier ce tableau jumeau avec arraysort. Si on a pris descend, dans les premiers rangs seront les valeurs les plus hautes, si on a pris ascend les premiers rangs seront les valeurs les plus basses (le 1er rang étant en fait le rang 0, le 2e le rang 1, etc…).
08/31/2024 at 4:58 PM #236962 -
AuthorPosts
Find exclusive trading pro-tools on