Traçage d'une ligne de résistance

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #102189 quote
    Gentry
    Participant
    Senior

    Bonjour à tous.

    Je viens ici demander de l’aide. J’ai besoin de tracer une ligne de résistance entre le points A & B. (voir graphe “Exercice”) Mais il se trouve que le point B , détecté (alors que je croyais détenir plutôt le premier point A) en premier EST LE “PLUS HAUT DES plus hauts” sur la période choisie. J’ai donc besoin de trouver mon vrai point A qui existe bien sur ce graphique, mais mon programme pour le détecter ne l’affiche pas. (J’ai raisonné que ce serait le plus des plus sur une autre période mais, il doit être inférieur au plus haut des hauts du point B) Je n’ai aucun message d’erreur!

    Mais rien ne se pas lorsque je le valide. Bien vouloir corriger s’il vous plaît.

    Ci_joint le programme en 3 parties et la section concernée est entourée.

    MERCI D’AVANCE.

    GENTRY

    #102338 quote
    JC_Bywan
    Moderator
    Master

    Pour accroitre la probabilité d’attirer des réponses d’autres forumeurs, on peut leur rendre la tâche de lecture plus facile grâce aux fonctionnalités mises en place exprès, telles que l’insertion de code prt dans le corps du message, joliment formaté avec le bouton adéquat “insert prt code”, cf image jointe pour le localiser si besoin

    #102379 quote
    Nicolas
    Keymaster
    Master

    Merci de poster le code en version texte plutôt qu’en image, ce sera plus simple pour le copier/coller et pour comprendre ce que tu souhaites réaliser 😀

    #102510 quote
    Gentry
    Participant
    Senior

    Bonjour à tous.

    Je viens ici demander de l’aide. J’ai besoin de tracer une ligne de résistance entre le points A & B. (voir graphe “Exercice”) Mais il se trouve que le point B , détecté (alors que je croyais détenir plutôt le premier point A) en premier EST LE “PLUS HAUT DES plus hauts” sur la période choisie. J’ai donc besoin de trouver mon vrai point A qui existe bien sur ce graphique, mais mon programme pour le détecter ne l’affiche pas. (J’ai raisonné que ce serait le plus des plus sur une autre période mais, il doit être inférieur au plus haut des hauts du point B) Je n’ai aucun message d’erreur!

    Mais rien ne se pas lorsque je le valide. Bien vouloir corriger s’il vous plaît.

    Ci_joint le programme en 3 parties et la section concernée est entourée.

    MERCI D’AVANCE.

    GENTRY

    //D'abord Recherche des points A et B  du support de coordonées respectives x1y1 et x2y2. A sera recherché sur les 70 drenières périodes et B sur les 25.
    
    
    
    DEFPARAM drawonlastbaronly=true
    y1=lowest[70](low)
    y2=lowest[25](low)
    y3=highest[25](high)
    y4=highest[70](high)
    
    //Coordonée x1 du Point A
    //Boucle 1 pour rechercher x1 et y1
    for i=70 downto 0 do
    if low[i]=y1 then
    x1=barindex[i]
    drawtext("x1,y1", barindex[i],low[i])
    break
    endif
    next
    
    
    //Coordonée x2 du point B
    
    for i=25 downto 0 do
    if low[i]=y2 then
    x2=barindex[i]
    drawtext("x2,y2", barindex[i], low[i])
    break
    endif
    next
    //Ensuite, trouver les points C & D de la résistance de coordonnées respectives x3 y3 et x4 y4.
    
    //Coordonée x3 du point C.
    for i=25 downto 0 do
    if high[i]=y3 then
    x3=barindex[i]
    drawtext("x3,y3", barindex[i], high[i])
    break
    endif
    next
    
    //Coordonée x4 du Point D
    for i=0 to 70 do
    if high[i]=y4 then
    if y4<y3 then
    x4=barindex[i]
    drawtext("x4,y4",barindex[i], high[i])
    break
    else
    x4=undefined
    endif
    endif
    next
    
    
    
    //Traçage de la ligne de tendace inf.
    
    drawline(x1,y1, x2, y2) coloured (0,255,0)
    return^l
    #102570 quote
    Nicolas
    Keymaster
    Master

    Le problème vient du fait que tu testes dans le passé une valeur du présent. A l’instant où tu lances tes boucles, le plus haut des 70 dernières périodes est forcément plus haut que celui des 25 dernières donc ton test à la ligne 45 ne peut fonctionner.

    #102833 quote
    Gentry
    Participant
    Senior

    Merci Nicolas pour ton observation.

    J’ai corrigé et ça marche. (voir modification et graphique)

     

    //ce programme va détecter des coordonnées graphiques pour tracer des lignes de tendance
    //D'abord Recherche des points A et B du support de coordonées respectives x1y1 et x2y2. A sera recherché sur les 70 drenières périodes et B sur les 25.
    
    DEFPARAM drawonlastbaronly=true
    y1=lowest[70](low)
    y2=lowest[25](low)
    y3=highest[70](high)
    y4=highest[25](high)
    
    //Coordonnée x1 du Point A
    //Boucle 1 pour rechercher x1 et y1
    for i=70 downto 0 do
    if low[i]=y1 then
    x1=barindex[i]
    drawtext("x1,y1", barindex[i],low[i])
    break
    endif
    next
    
    //Coordonnées x2 du point B
    
    for i=25 downto 0 do
    if low[i]=y2 then
    x2=barindex[i]
    drawtext("x2,y2", barindex[i], low[i])
    break
    endif
    next
    //Ensuite, trouver les points C & D de la résistance de coordonnées respectives x3 y3 et x4 y4.
    
    //Coordonée x3 du point C.
    for i=25 to 70 do
    if high[i]=y3 then
    x3=barindex[i]
    drawtext("x3,y3", barindex[i], high[i])
    break
    endif
    next
    
    //Coordonnée x4 du Point D
    for i=0 to 25 do
    if high[i]=y4 then
    x4=barindex[i]
    drawtext("x4,y4",barindex[i], high[i])
    break
    endif
    next
    
    //Traçage de la ligne de tendance inf.
    
    drawline(x1,y1, x2, y2) coloured (0,255,0)
    //Traçage de la ligne de tendance sup
    drawline(x4,y4, x3, y3) coloured (255,0,0)
    return

     

     

    che: voir code ci_joint et un graphique correspondant.

    GENTRY

    Nicolas and swapping thanked this post
    #173963 quote
    thepenguin4
    Participant
    New

    @Nicolas

    Bonjour, je suis novice dans le codage. Serait-il possible de tracer un rectangle à la place d’une ligne (ou deux lignes parallèles, je ne sais pas…) ?

    Merci beaucoup de votre aide

    #173965 quote
    JC_Bywan
    Moderator
    Master

    Un rectangle resterait avec des bords horizontaux et verticaux, l’instruction “drawrectangle” ne les dessine pas inclinés, il faut passer par ton autre suggestion: les 2 lignes parallèles. Voici une proposition de modification du code (lignes ajoutées 6, 7, 56, 59) avec possibilité de changer la valeur de “decalage” en points dans la ligne 6 pour customiser l’espace entre les parallèles:

    //ce programme va détecter des coordonnées graphiques pour tracer des lignes de tendance
    //D'abord Recherche des points A et B du support de coordonées respectives x1y1 et x2y2. A sera recherché sur les 70 drenières périodes et B sur les 25.
     
    DEFPARAM drawonlastbaronly=true
    
    decalage=5
    deca=decalage*pipsize
    
    y1=lowest[70](low)
    y2=lowest[25](low)
    y3=highest[70](high)
    y4=highest[25](high)
     
    //Coordonnée x1 du Point A
    //Boucle 1 pour rechercher x1 et y1
    for i=70 downto 0 do
    if low[i]=y1 then
    x1=barindex[i]
    drawtext("x1,y1", barindex[i],low[i])
    break
    endif
    next
     
    //Coordonnées x2 du point B
     
    for i=25 downto 0 do
    if low[i]=y2 then
    x2=barindex[i]
    drawtext("x2,y2", barindex[i], low[i])
    break
    endif
    next
    //Ensuite, trouver les points C & D de la résistance de coordonnées respectives x3 y3 et x4 y4.
     
    //Coordonée x3 du point C.
    for i=25 to 70 do
    if high[i]=y3 then
    x3=barindex[i]
    drawtext("x3,y3", barindex[i], high[i])
    break
    endif
    next
     
    //Coordonnée x4 du Point D
    for i=0 to 25 do
    if high[i]=y4 then
    x4=barindex[i]
    drawtext("x4,y4",barindex[i], high[i])
    break
    endif
    next
     
    //Traçage de la ligne de tendance inf.
     
    drawline(x1,y1, x2, y2) coloured (0,255,0)
    drawline(x1,y1-deca, x2, y2-deca) coloured (0,255,0)
    //Traçage de la ligne de tendance sup
    drawline(x4,y4, x3, y3) coloured (255,0,0)
    drawline(x4,y4+deca, x3, y3+deca) coloured (255,0,0)
    return
    Nicolas and thepenguin4 thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Traçage d'une ligne de résistance


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Gentry @gentry Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by JC_Bywan
4 years, 6 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 07/08/2019
Status: Active
Attachments: 7 files
Logo Logo
Loading...