programmer un niveau de résistance
Forums › ProRealTime forum Français › Support ProBuilder › programmer un niveau de résistance
- This topic has 10 replies, 3 voices, and was last updated 4 years ago by Nicolas.
-
-
06/23/2020 at 2:38 PM #136934
Bonjour,
j’essaye désespérément de programmer une résistance qui réponde aux conditions suivantes :
– détection d’un plus haut (high<high[1] and high[1]>high[2]) (1: fichier joint)
– si le plus haut des bougies suivantes est inférieur au dernier sommet alors la valeur de la résistance est constante (droite horizontale)
– si présence d’une clôture au dessus de la résistance la valeur de la résistance prend la valeur à la bougie suivante : high[1] (2)Pour aider dans la compréhension je me suis amusé à tracer un exemple en fichier joint.
En vous remerciant par avance car je suis perdu concernant l’utilisation des fonctions once, barindex (si toutefois elles ont une utilité dans ma demande …)
Ludovic
06/24/2020 at 8:12 PM #13705006/25/2020 at 7:26 AM #137080Je pense que le code suivant correspond à ce que tu souhaites faire pour trouver et afficher des niveaux de résistance :
12345678910111213test = high<high[1] and high[1]>high[2]if test thenres = high[1]endifbreakout = close crosses over resif breakout[1] thenres = high[1]endifreturn res06/25/2020 at 1:51 PM #137128Bonjour à vous deux et un grand merci pour votre aide. La version de Nicolas est celle qui correspond à ma demande. Psyco l’utilisation de la fonction Highest nous oblige à utiliser une période. Si par exemple tu optes pour une période de 10 et que le sommet au moment de la clôture [0] est par exemple à 12 barres , tu auras un décroché (une diminution en amplitude) au niveau de la résistance si le cours de clôture est toujours inférieur à l’ancien plus haut. Ce que je souhaite éviter
L’astuce de Nicolas va me permettre la création d’une stratégie très simple qui consiste à rechercher en hebdomadaire un plat présent dans une tendance et en journalier une cassure lorsque le niveau de volatilité est faible.
06/25/2020 at 2:24 PM #137131Il y a un souci avec le code de Nicolas. L’exemple que j’ai donné correspond à la valeur SHF en journalier sur la période du 17 décembre au 30 janvier. En noir ton programme et en rouge la résistance que je recherche. Merci Nicolas pour ton aide (en fichier joint)
Ludovic
06/25/2020 at 3:04 PM #137138J’ai compris d’où venait l’écart entre ton programme Nicolas et le tracé de la résistance souhaité. En fait il manque un test qui consiste à vérifier si le nouveau sommet est inférieur où non au sommet précédent. Si tel est le cas la résistance est égal à la résistance [1] , sinon la résistance est égal à la résistance.
Merci Nicolas pour ton aide car je ne sais pas comment le langage propriétaire de PRT peut mémoriser une valeur sachant que l’ancien plus haut peut être à 10 barres comme à 200 barres
Ludovic
06/25/2020 at 3:09 PM #137139On peut simplement tester si le nouveau sommet détecté est plus haut que le précédent, mais dans ce cas il n’y aurait jamais de retour en arrière, on serait en permanence sur les “all time high” ?
Voir avec cette version modifiée :
12345678910111213test = high<high[1] and high[1]>high[2]if test and high[1]>res thenres = high[1]endifbreakout = close crosses over resif breakout[1] thenres = high[1]endifreturn res06/25/2020 at 3:23 PM #13714006/25/2020 at 3:56 PM #13714707/01/2020 at 9:47 AM #137865Bonjour Nicolas,
voici un complémentaire de ma demande qui manquait de précisions pour être compréhensible. La courbe rouge représente une résistance qui découle du programme ci-dessous.
En utilisant la fonction highest associée à une période j’ai un décroché qui apparaît (fichier joint) dont j’aimerais qu’il ne soit pas pris en compte si la clôture est inférieure à la courbe rouge.
Il en découle dans l’exemple en fichier joint une courbe verte qui correspond à la fois à une extension de la courbe rouge et à ma demande. L’objectif au final est de repéré un sommet qui va servir de résistance tant qu’une clôture supérieure à cette résistance ne l’invalide pas. Merci Nicolas pour ton aide.Ludovic
123456789RESISTANCE = HIGHEST[20](HIGH)IF RESISTANCE>RESISTANCE[1] AND CLOSE>RESISTANCE[1] THENRES = RESISTANCE[0]ELSERES = RESISTANCE[1]ENDIFRETURN RES07/01/2020 at 10:03 AM #137869Il y a un crochet parce que tu testes les High alors que tu veux tester une clôture, c’est là où se situe ton problème.
Si tu veux en permanence trouver le plus haut des Close, pourquoi ne pas utiliser un Highest Close sur l’ensemble des bougies affichées ?
123res = highest[max(1,barindex)](close)return resMais ça revient en effet à avoir un “all time high” (ici Close plutôt), soit le prix le plus atteint depuis l’origine du graphique.
-
AuthorPosts
Find exclusive trading pro-tools on