Configuration – Plus Haut & Plus bas précédent

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #50946 quote
    jhonhamy
    Participant
    Average

    Bonjour,

    J’aimerai des plus haut précédent et plus bas précédent sur mon graphique, le souci je ne trouve pas le moyen de le configurer.

    Exemple openday, openmonth, openyear.

    Je ne trouve pas la configuration pour le OPEN (semaine) & (trimestriel)

    Merci

    once currenthigh=high
    once currentlow=low
    
    once previoushigh=undefined
    once previouslow=undefined
     
    if openday <> openday[1] then
    previoushigh=currenthigh
    previouslow=currentlow
    currenthigh=high
    currentlow=low
    else
    currenthigh=max(high,currenthigh)
    currentlow=min(low,currentlow)
    endif
     
    return previoushigh coloured(255,255,0) as "Précédent haut journalier", previouslow coloured(255,255,0) as "Précédent bas journalier"
    
    Alai-n thanked this post
    #51047 quote
    Nicolas
    Keymaster
    Master
    #51056 quote
    jhonhamy
    Participant
    Average

    Bonjour Nicolas,

    J’ai bien réussi à trouver la solution avec les liens, merci.

    Il me reste un souci de syntaxe que je n’arrive pas à résoudre.( car je souhaite insérer dans un seul indicateur le Openyear & Openmonth {1} )

    John.

    //Plus bas - Plus haut - Annuel//
    once currenthighannuel=high
    once currentlowAnnuel=low
    
    once previoushighAnnuel=undefined
    once previouslowAnnuel=undefined
     
    if openyear <> openyear[1] then
    previoushigh=currenthighAnnuel
    previouslow=currentlowAnnuel
    currenthighAnnuel=high
    currentlowAnnuel=low
    else
    currenthigh=max(high,currenthigh)
    currentlowAnnuel=min(low,currentlowAnnuel)
    endif
     
    //Plus bas - Plus haut - Mensuel//
    once currenthighmensuel=high
    once currentlowmensuel=low
    
    once previoushighmensuel=undefined
    once previouslowmensuel=undefined
     
    if openmonth <> openmonth[1] then
    previoushigh=currenthighmensuel
    previouslow=currentlowmensuel
    currenthighmensuel=high
    currentlowmensuel=low
    else
    currenthighmensuel=max(high,currenthighmensuel)
    currentlowmensuel=min(low,currentlowmensuel)
    endif
     
    return previoushigh1 coloured(0,0,0) as "Précédent haut annuelle",previouslow1 coloured(0,0,0) as "Précédent bas annuelle" ,previoushighmensuel coloured(139,0,139) as "Précédent haut mensuel", previouslowmensuel coloured(139,0,139) as "Précédent bas mensuel"
    
    #51085 quote
    Nicolas
    Keymaster
    Master

    Je pense que les variables aux lignes 9,10,26,27 n’ont pas les bonnes dénominations et devraient comporter “previous” devant, non ?

    jhonhamy thanked this post
    #51097 quote
    jhonhamy
    Participant
    Average

    Oui tu as raison, j’ai mis les plus haut et les plus bas précédent dans un fichier seul, mais au chargement sa prend un temp fou, le fichier est propre? il i y’a moyen de faire une autoroute plus courte.pour un chargement moins long ?

    John

    ////ONCE DAY////
    once currenthighday=high
    once currentlowday=low
    once previoushighday=undefined
    once previouslowday=undefined
    
    ////ONCE WEEK////
    once currenthighweek=high
    once currentlowweek=low
    once previoushighweek=undefined
    once previouslowweek=undefined
    
    ////ONCE MONTH////
    once currenthighmonth=high
    once currentlowmonth=low
    once previoushighmonth=undefined
    once previouslowmonth=undefined
    
    ////ONCE TRIMESTRIAL////
    trimH=max(trimH,high)
    trimL=min(trimL,low)
    
    ////ONCE ANNUEL////
    once currenthighannuel=high
    once currentlowannuel=low
    once previoushighannuel=undefined
    once previouslowannuel=undefined
    
    ////OPEN DAY////
    if openday <> openday[1] then
    previoushighday=currenthighday
    previouslowday=currentlowday
    currenthighday=high
    currentlowday=low
    else
    currenthighday=max(high,currenthighday)
    currentlowday=min(low,currentlowday)
    endif
    
    ////OPEN WEEK////
    if DayOfWeek<DayOfWeek[1] then
    previoushighweek=currenthighweek
    previouslowweek=currentlowweek
    currenthighweek=high
    currentlowweek=low
    else
    currenthighweek=max(high,currenthighweek)
    currentlowweek=min(low,currentlowweek)
    endif
    
    ////OPEN MONTH////
    if openmonth<>openmonth[1]then
    previoushighmonth=currenthighmonth
    previouslowmonth=currentlowmonth
    currenthighmonth=high
    currentlowmonth=low
    else
    currenthighmonth=max(high,currenthighmonth)
    currentlowmonth=min(low,currentlowmonth)
    endif
    
    ////OPEN  TRIMESTRIAL////
    If openMonth<>openMonth[1] then
    if openmonth=4 or openmonth=7 or openmonth=10 or openmonth=1 then
    trimestrialH=trimH
    trimestrialL=trimL
    trimL=close*100
    trimH=0
    endif
    
    endif
    
    ////OPEN ANNUEL////
    if openyear <> openyear[1] then
    previoushighannuel=currenthighannuel
    previouslowannuel=currentlowannuel
    currenthighannuel=high
    currentlowannuel=low
    else
    currenthighannuel=max(high,currenthighannuel)
    currentlowannuel=min(low,currentlowannuel)
    endif
    
    return previoushighday coloured(46, 134, 193) as "Précédent haut journalier", previouslowday coloured(46, 134, 193) as "Précédent bas journalier", previoushighweek coloured(0,0,0) as "Précédent haut semaine", previouslowweek coloured(0,0,0) as "Précédent bas semaine", previoushighmonth coloured(250, 47, 47) as "Précédent haut mensuel", previouslowmonth coloured(250, 47, 47) as "Précédent bas mensuel", trimestrialH coloured(255, 195, 0) as "Précédent haut trimestriel", trimestrialL coloured(255, 195, 0) as "Précédent bas trimestriel", previoushighannuel coloured(176, 0, 165) as "Précédent haut annuelle", previouslowannuel coloured(176, 0, 165) as "Précédent bas annuelle"
    
    #55795 quote
    gregoire
    Participant
    Senior

     Bonjour

    Pour le mensuel n y a t il pas de faux signaux car il y a des mois à 30 et 31 jours mais je ne connais pas l astuce pour filtré, Nicolas j aimerais rajouté le plus haut et bas precedent en h6 parce que pas mal de retour sur cet zone, une suggestion s il te plais…

    Merci

    #59704 quote
    ludo6977
    Participant
    Average
    Au top, ca marche bien, et oui un screener y est possible , evidemment , faut que je regarde ça . Apres j’ai du mal a le refaire , mais plutot sur 1h/15mna rajouter. Merci a vous .
    #61653 quote
    Madrosat
    Participant
    Master
    Bonjour Dans la programmation d’un indicateur existe il une solution pour que le signal ne soit  pris et  ne soit visible qu ‘avec   le close effectif  de la bougie   et apparaît alors en dessous de cette bougie malgré tout.
    #61654 quote
    jhonhamy
    Participant
    Average
    Bonjour Madrosat, Aurait tu une image pour expliquer cet bougie ? À bientôt, Jhon
    #61702 quote
    Madrosat
    Participant
    Master
    Bonjour Jhonhamy Sur le graphique joint avec le code de l’indicateur je souhaiterais simplement,  que la barre rouge de l’histogramme sous la flèche noire, n’apparaisse que lorsque le close est vraiment défini à la fin de la bougie  . Ce qui n’est pas le cas sur le graphique joint puisque la bougie ne fait que de commencer à se construire. Je ne sais pas si c’est possible???
    jhonhamy thanked this post
    #61728 quote
    Nicolas
    Keymaster
    Master
    Pour cela il faut “dessiner” dans le passé, et ça n’est pas possible avec un histogramme, car on ne peut pas changer la valeur d’une variable dans le passé… A moins de faire une boucle globale dans l’historique, ce qui modifierait pas mal ton code. Je te propose de plutôt dessiner des rectangles (car on peut utiliser les objets graphiques pour les tracer où et quand on veut) à la place de tes histogrammes. Merci de poster le code en texte pour faire les modifications.
    jhonhamy thanked this post
    #61826 quote
    Madrosat
    Participant
    Master
    Bonjour Nicolas je me suis servi du bouton insert code j’espère que le code est bien copié? mais voilà il ne fonctionne pas comme je l’aurais souhaité , il y a quelque chose qui m’échappe, je voulais que ce code m’indique un signal lorsque dans le Tma channel il y a un brusque changement de direction et que le signal soit sur la bougie en question. Comptant sur ta grande compétence Madrosat
    // parameters
    // HalfLength = 50
    // AtrLength = 100
    // AtrMultiplier = 2.0
    
    avg = average[1](close)
    
    sum = (HalfLength+1)*avg
    sumw = (HalfLength+1)
    k = HalfLength
    
    for j = 1 to HalfLength do
    k = k-1
    sum = sum+(k*avg[j])
    sumw = sumw+k
    next
    
    buffer1 = sum/sumw
    
    myrange = AverageTrueRange[AtrLength](close)*AtrMultiplier
    
    buffer2 = buffer1+myrange
    buffer3 = buffer1-myrange
    
    if  ( buffer2 - close) > (buffer2[1] - buffer3[1])  then
    signal = -1
    elsif (close - buffer3[0]) > abs(buffer2[1] - buffer3[1]) then
    signal = 1
    else
    signal = 0
    endif
    
    Return signal  as "signal ecart tma et close important"
    ///RETURN buffer1 coloured(0,220,0) as "TMA", buffer2 coloured(220,0,0)  as "upper ///band", buffer3 coloured(0,220,0) as "lower band"
    #61842 quote
    Nicolas
    Keymaster
    Master
    J’ai compris ce que tu cherches à faire et ton code est parfait pour cela, mais en effet il ne détecte pas un “brusque changement”, mais une continuité de cette condition, c’est bien cela ? Si oui, il faudrait peut être agir comme ceci plutôt :
    // parameters
    HalfLength = 50
    AtrLength = 100
    AtrMultiplier = 2.0
    
    avg = average[1](close)
    
    sum = (HalfLength+1)*avg
    sumw = (HalfLength+1)
    k = HalfLength
    
    for j = 1 to HalfLength do
    k = k-1
    sum = sum+(k*avg[j])
    sumw = sumw+k
    next
    
    buffer1 = sum/sumw
    
    myrange = AverageTrueRange[AtrLength](close)*AtrMultiplier
    
    buffer2 = buffer1+myrange
    buffer3 = buffer1-myrange
    
    bear = ( buffer2 - close) > (buffer2[1] - buffer3[1])  
    bull = (close - buffer3) > abs(buffer2[1] - buffer3[1]) 
    
    if bear and not bear[1] then 
    signal=-1
    elsif bull and not bull[1] then 
    signal=1
    else
    signal=0
    endif
    
    Return signal
    Je n’ai pas modifié ta logique de différences entre les Close et les bandes supérieures et inférieures, je ne sais pas si elle est correcte.
    #61951 quote
    Madrosat
    Participant
    Master
    Bonjour et merci Nicolas je ne voyais pas comment m’en sortir, il fallait détecter le sens avec bull et bear Bravo , en modifiant le coeff atr multiplier on doit pouvoir augmenter ou diminuer le nombre de signaux.Je vais maintenant essayer d’intégrer ce signal dans une stratégie. Bonne journée
    #92189 quote
    MrCrous
    Participant
    Average
    Bonjour, je souhaiterai récupérer la valeur du volume associée au plus haut / plus bas récupéré par le code (je le recolle ici car depuis le premier sujet il a pas mal changé) :
    once currenthighmensuel=high
    once currentlowmensuel=low
    
    once previoushighmensuel=undefined
    once previouslowmensuel=undefined
    
    if openmonth <> openmonth[1] then
    previoushighmensuel=currenthighmensuel
    previouslowmensuel=currentlowmensuel
    currenthighmensuel=high
    currentlowmensuel=low
    else
    currenthighmensuel=max(high,currenthighmensuel)
    currentlowmensuel=min(low,currentlowmensuel)
    endif
    
    return previoushighmensuel coloured(139,0,139) as "Précédent haut mensuel", previouslowmensuel coloured(139,0,139) as "Précédent bas mensuel"
      J’ai d’abord pensé à faire une boucle qui irait chercher sur la totalité des données chargées, les égalités avec le plus haut/plus bas afin de récupérer le volume. Cependant, autant en journalier je n’ai pas bcp bougies mais si je me met en 1h et que ma boucle remonte jusqu’à la veille (ou plus vu que la je récupère le plus haut/bas du mois précédent), j’ai peur d’avoir des soucis de performance… Auriez vous une autre approche ?   En vous remerciant,
Viewing 15 posts - 1 through 15 (of 20 total)
  • You must be logged in to reply to this topic.

Configuration – Plus Haut & Plus bas précédent


Support ProBuilder

New Reply
Author
author-avatar
jhonhamy @jhonhamy Participant
Summary

This topic contains 19 replies,
has 6 voices, and was last updated by Nicolas
6 years, 10 months ago.

Topic Details
Forum: Support ProBuilder
Language: French
Started: 10/30/2017
Status: Active
Attachments: 3 files
Logo Logo
Loading...