breakout ligne de tendance
Forums › ProRealTime forum Français › Support ProBuilder › breakout ligne de tendance
-
-
12/12/2024 at 1:34 PM #241359
Bonjour,
J’ai besoin de calculer une ligne de tendance entre les 2 sommets consécutifs baissiers les plus récents ou entre les 2 creux haussiers les plus récents.
Creux et sommet défini comme suit:
*creux= low[2]>low[1] and low[1]high
En effet, je dois connaître le niveau de prix de la ligne de tendance les jours suivant le dernier sommet ou le dernier creux définis suivant les conditions ci-dessus.Pour ajouter des conditions complémentaires à ma stratégie, je dois également connaître les valeurs suivantes:
– Pour les 2 sommets consécutifs à la baisse notés S1 et S2:
* Le niveau de prix (clôture) et la position de S1
* Le niveau de prix (clôture) et la position de S2
– Pour les 2 creux consécutifs à la hausse notés C1 et C2:
* Le niveau de prix (clôture) et la position de C1
* Le niveau de prix (clôture) et la position de C2En vous remerciant par avance!
12/12/2024 at 6:15 PM #241367Nota: Petites erreurs de frappe, lire:
Creux et sommet définis comme suit:
*creux= low[2]>low[1] and low[1]high 12/12/2024 at 7:04 PM #241368def creux et sommet123//excuser moi, il y a un soucis lors de l'envoi, le message est tronqué.creux= low[2]>low[1] and low[1]<lowsommet= high[2]<high[1] and high[1]>high12/16/2024 at 9:50 AM #241453Bonjour. Ce code vous servira de base pour faire ce que vous voulez. Au final ce que vous recherchez c'est un point x,y qui se trouve à l'intérieur d'une droite qui passe par 2 points x1,y1 (creux) et x2,y2 (sommet). Cela doit être vrai
(x-x1)/(x2-x1) = (y-y1)/(y2-y1)
.y = y1+(x-x1)*(y2-y1)/(x2-x1)
nous effaçons le Y que vous avez pour n'importe quelle valeur par rapport à celle que vous proposez. Il vous suffit d'ajuster cette partie à vos intérêts et elle sera prête.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566//Punto Rotura de linea de maximos////inputs/////////////////prd = 10/////pivots lowif low > low[prd] and lowest[prd](low) > low[prd] and low[prd] < lowest[prd](low)[prd+1] then$pl[z+1] = low[prd]$plx[z+1] = barindex[prd]z = z + 1endif/////pivots highif high < high[prd] and highest[prd](high)<high[prd] and high[prd]>highest[prd](high)[prd+1] then$ph[t+1]=high[prd]$phx[t+1]=barindex[prd]t=t+1endif////////////////////////////////////////////////////////////if islastbarupdate thenfor j=t downto 0 doif $ph[j] < $ph[max(0,j-1)] then$Highlow[j] = $ph[j]$Highlowx[j] = $phx[j]else$HighMax[j] = $ph[j]$HighMaxx[j] = $phx[j]breakendifnext//(x-x1)/(x2-x1) = (y-y1)/(y2-y1)y1 = $Highmax[max(0,lastset($Highmax))]x1 = $Highmaxx[max(0,lastset($Highmaxx))]y2 = $Highlow[max(0,lastset($Highlow))]x2 = $Highlowx[max(0,lastset($Highlowx))]for i=barindex downto x2 doyy = y1+(i-x1)*(y2-y1)/(x2-x1)if close[barindex-i] > yy and close[barindex-i+1] < yy thendrawarrowup(i,low[barindex-i+1])xx=iBREAKendifnextlowestlow=y1for i=x1 to xx doif low[barindex-i] < lowestlow thenlowestlow=low[barindex-i]lowestlowx=ielselowestlow=lowestlowendifnextx = barindex+1y = y1+(x-x1)*(y2-y1)/(x2-x1)Drawsegment(x1,y1,x,y)drawpoint(x1,y1,2)coloured("blue")drawpoint(xx,yy,2)coloured("blue")drawpoint(lowestlowx,lowestlow,2)coloured("red")endif////////draw pivot pointsif z <> z[1] thendrawtext("L",barindex[prd],low[prd]-0.35*tr)elsif t <> t[1] thendrawtext("H",barindex[prd],high[prd]+0.35*tr)endifreturn1 user thanked author for this post.
12/16/2024 at 12:51 PM #24146012/16/2024 at 5:48 PM #241474 -
AuthorPosts
Find exclusive trading pro-tools on