Afficher indicateur seulement à certains horaires

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #5324 quote
    Doctrading
    Participant
    Master

    Bonjour,

    Désireux de coder des stratégies de breakout, je cherche à programmer un indicateur de breakout simple, en affichant les niveau de 00H à 08H par exemple.
    Le problème est qu’il m’affiche les lignes haut et bas sur toute la durée de 24 heures.

    Peut-on faire en sorte que l’indicateur n’affiche ces liges que de 08H à 20H par exemple ?

    Merci

     

    Voici le code en question :

    // Timeframe : M30
    
    // HORAIRES DU BREAKOUT : 00H à 08H
    
    IF TIME = 080000 THEN
    Haut = highest[16](high)
    Bas = lowest[16](low)
    ENDIF
    
    
    return haut as "HIGH", bas as "LOW"

     

    Je précise que la commande :

    IF time > 080000 and time < 200000 THEN
    
    return haut as "HIGH", bas as "LOW"
    
    ENDIF

     

    ne fonctionne pas

    Capture-d’écran-2016-04-13-à-16.09.23.png Capture-d’écran-2016-04-13-à-16.09.23.png
    #5328 quote
    Nicolas
    Keymaster
    Master

    C’est normal. Toutes les lignes se rejoignent, elles ne peuvent pas être définis dans un vide dénué de valeurs. Si tu veux ne pas afficher ces valeurs à partir de x heure, tu peux les mettre à 0 et afficher tes variables en mode point et non en ligne.

    Pour définir plus facilement les plus hauts et plus bas en temps réel, plutôt que de faire un lookback dans le passé avec une valeur de période qui n’est pas la même pour chaque unité de temps, tu devrais faire ceci :

    //resetting variables
    if intradaybarindex = 0 then
     hh = 0
     ll = 0
    endif
    
    //defining max and min prices
    if hour>=8 AND hour<9 then
     hh=max(high,hh)
     if ll=0 then
      ll=low
     endif
     ll=min(low,ll)
    endif

     

    Bien entendu tu l’adaptes à tes tranches horaires.

    #5350 quote
    Doctrading
    Participant
    Master

    Voici ce que j’obtiens avec ce code :

    //resetting variables
    if intradaybarindex = 0 then
    hh = 0
    ll = 0
    endif
    
    //defining max and min prices
    if hour>=4 AND hour<8 then
    hh=max(high,hh)
    if ll=0 then
    ll=low
    endif
    ll=min(low,ll)
    endif
    
    IF time = 180000 THEN
    hh = 0
    ll = 0
    ENDIF
    
    return HH as "HIGH", LL as "LOW"
    

    Encore un problème de décalage horaire (les points apparaissent de 03H à 16H inclus, alors que j’avais demandé de 04H à 18H).

    Je vais régler cela en décalant tout d’une heure, et je vais encore revoir mon code.

    (Ici j’utilise ProRealTime CFD, je pense qu’il y a 1H de décalage par rapport à l’heure française, donc ça doit être l’heure GMT).

     

    Un grand merci pour ton aide.

    Capture-d’écran-2016-04-13-à-23.24.30.png Capture-d’écran-2016-04-13-à-23.24.30.png
    #5364 quote
    Nicolas
    Keymaster
    Master

    De rien. Dans ton exemple de code, tu ne resettes tes points qu’à partir de 18h00, donc entre 08h00 (fin du test High/Low) et 18h00, ils garderont leurs valeurs testés et continueront de s’afficher.

    #5379 quote
    Doctrading
    Participant
    Master

    Oui, c’était le but.
    Je souhaite juste que le plus haut et le plus bas de 04H à 08H s’affiche sur toute la journée jusqu’à 18H, pour tester des stratégies de breakout sur la journée.

    A propos de journée, bonne journée à toi 😉

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Afficher indicateur seulement à certains horaires


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Doctrading @doctrading Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by Doctrading
9 years, 10 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 04/13/2016
Status: Active
Attachments: No files
Logo Logo
Loading...