Comment mémoriser une valeur à un instant “T”

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #212109 quote
    BF
    Participant
    New

    Bonjour à tous,

    Je cherche à mémoriser la valeur de l’indicateur Chaikin Oscillator au moment de l’ouverture de la bougie (quelque soit l’unité de temps) dans une variable “x” qui reste fixe jusqu’à la clôture de sa bougie.

    Je m’explique: cet indicateur qu’on le paramètre sur “open” ou “close” sa valeur change tout le temps pendant la durée de la bougie.

    Or par exemple le RSI si on le configure sur “open”, sa valeur est calculée qu’une seule fois à l’open puis ne change plus jusqu’à la prochaine ouverture. Par contre si on choisi de calculer le RSI sur “close” alors sa valeur varie jusqu’à la clôture de la bougie en cours.

    Ce qui n’est pas le cas pour Chaikin qui varie tout le temps quoi qu’on choisisse (open ou close). Du coup:

    a) Comment “capturer” la valeur de Chaikin au moment du “open” ?

    J’avoue avoir fait beaucoup d’essais de codage infructueux

    b) variante : Comment “capturer” la valeur de Chaikin à open + quelque chose (en seconde par exemple) ?

    D’avance merci pour votre aide

    #212212 quote
    Nicolas
    Keymaster
    Master

    L’oscillateur de Chaikin est créé en soustrayant une moyenne mobile exponentielle à période x de la ligne de Accumulation Distribution à une moyenne mobile exponentielle à période y de la ligne de Accumulation Distribution:

    Dans le code ci-dessous je recrée l’indicateur et j’enregistre dans un tableau la première valeur de l’oscillateur à chaque nouvelle barre:

    i = AccumDistr(close)
    chaikin = average[3,1](i)-average[10,1](i)
    
    if not isset($chaikin[barindex]) then 
    $chaikin[barindex]=chaikin
    endif
    
    return $chaikin[barindex]
    BF thanked this post
    #212310 quote
    BF
    Participant
    New

    Merci Beaucoup Nicolas c’est TOP !

    et pour le point B) de ma question si je veux mémoriser la valeur $chaikin quelques secondes après l’open de la bougie en cours, quelle est la variante du code stp ? D’avance merci encore

    #212314 quote
    Nicolas
    Keymaster
    Master

    On peut faire une différence de TIMESTAMP comme ceci (exemple d’un enregistrement 10 secondes après l’ouverture de la bougie)

    i = AccumDistr(close)
    chaikin = average[3,1](i)-average[10,1](i)
    
    if not isset($chaikin[barindex]) and timestamp-opentimestamp>=10 then 
     $chaikin[barindex]=chaikin
    endif
    
    return $chaikin[barindex]
    BF thanked this post
    #212435 quote
    BF
    Participant
    New

    Merci Nicolas, c’est parfait )) je pense que ton code (ci-dessus) pourra aider beaucoup d’autres personnes sur des problématiques similaires

    Dernière variante possible: Est-il possible de mémoriser la valeur de $chaikin mais à une heure précise (exemple à 14h15) quelque soit la durée de la bougie en cours (ex: 1 minute, 15 minutes ou daily) svp ?

    Encore merci par avance pour ton efficacité

    #212476 quote
    Nicolas
    Keymaster
    Master

    Pour un horaire précis on teste le TIME:

    i = AccumDistr(close)
    chaikin = average[3,1](i)-average[10,1](i)
    
    if not isset($chaikin[barindex]) and TIME=141500 then 
     $chaikin[barindex]=chaikin
    endif
    
    return $chaikin[barindex]

    Il faudra que l’heure précise soit testé à la fermeture de la bougie.

    BF thanked this post
    #212549 quote
    BF
    Participant
    New

    C’est parfait. Un grand merci

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

Comment mémoriser une valeur à un instant “T”


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
BF @bf Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by BF
2 years, 11 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 03/25/2023
Status: Active
Attachments: No files
Logo Logo
Loading...