afficher et sauvegarder un tableau

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #224794 quote
    juld63
    Participant
    New

    Bonjour,

    je voudrais générer un tableau qui stocke les supports et résistances passés qui n’ont pas été avalés par les amplitudes des jours suivants. Je l’ai écrit ainsi :

    $SUP[0]=DLow(0)
    $RES[0]=DHigh(0)
    
    FOR n=1 to 7300 DO
    
    IF DLow(n) < ArrayMin($SUP) OR  DLow(n) > ArrayMax($RES) THEN
    $SUP[n]=DLow(n)
    ENDIF
    IF DHigh(n) < ArrayMin($SUP) OR  DHigh(n) > ArrayMax($RES) THEN
    $RES[n]=DHigh(n)
    ENDIF
    
    NEXT
    RETURN
    

    Mais je ne comprends pas comment :

    1. l’afficher d’une manière lisible
    2. stocker les résultats générés pour qu’il n’y ait qu’une mise à jour à faire chaque jour et pas un recalcul de chaque case.

    Merci de votre aide !

    #225534 quote
    Jean FX
    Moderator
    New

    Je comprends pas trop ce que vous cherchez, si vous pourriez nous dire ce que vous recherchez exactement je pense qu’on pourra le simplifier.
    Ensuite pour l’affichage tout dépend ce que vous attendez comme type d’affiche, des tracés? du dessins d’objet? autre chose?

    Merci!

    #225592 quote
    juld63
    Participant
    New

    Bonjour et merci de votre réponse !

    En fait je veux générer un historique des highest et lowest quotidiens du passé qui n’ont pas été engulfed par les amplitudes des jours suivants. Sans passer par un tableau je l’ai codé ainsi :

    FOR n = 365 DOWNTO 1 DO
    highengulfed=0
    lowengulfed=0
    
    FOR a = 364 DOWNTO 0 DO
    IF DHigh(n) <= DHigh(a) AND DHigh(n) >= DLow(a) THEN
    highengulfed = 1
    BREAK
    ENDIF
    
    IF DLow(n) >= DLow(a) AND DLow(n) <= DHigh(a) THEN
    lowengulfed = 1
    BREAK
    ENDIF
    NEXT
    
    IF NOT highengulfed=1 THEN
    DRAWHLINE(DHigh(n)) Coloured(255, 0, 0) STYLE(LINE, 2)
    ENDIF
    IF NOT lowengulfed=1 THEN
    DRAWHLINE(DLow(n)) Coloured(255, 0, 0) STYLE(LINE, 2)
    ENDIF
    NEXT
    RETURN
    
    

    Ca marche au sens où ça génère les lignes que je veux sauf que:

    1. Comme il y a une double boucle ça met une plombe à calculer, là j’ai mis sur 365 jours mais déjà ça mouline trop, il faut que je descende à 35 jours pour que le délai de calcul soit raisonnable alors que dans l’absolu je voudrais le faire sur les 20 dernières années…
    2. En l’état actuel le calcul est recommencé à chaque fois que je lance la plate-forme, alors que dans la mesure où il s’agit d’un historique je voudrait pouvoir sauvegarder les résultats du calcul initial et n’avoir qu’à le mettre à jour en fonction des nouveaux range quotidien pour éliminer les lowest et highest passés qui n’était pas encore engulfed la veille.

    Donc en gros la question est : comment compiler une base de données à partir d’un algorithme finalement assez simple et comment sauvegarder ces résultats pour ne pas avoir à les recalculer à chaque fois ? Merci beaucoup !

    #225653 quote
    philippe59139
    Participant
    Senior

    if islastbarupdate then
    FOR n = 365 DOWNTO 1 DO
    highengulfed=0
    lowengulfed=0

    FOR a = 364 DOWNTO 0 DO
    IF DHigh(n) <= DHigh(a) AND DHigh(n) >= DLow(a) THEN
    highengulfed = 1
    BREAK
    ENDIF

    IF DLow(n) >= DLow(a) AND DLow(n) <= DHigh(a) THEN
    lowengulfed = 1
    BREAK
    ENDIF
    NEXT

    IF NOT highengulfed=1 THEN
    DRAWHLINE(DHigh(n)) Coloured(255, 0, 0) STYLE(LINE, 2)
    ENDIF
    IF NOT lowengulfed=1 THEN
    DRAWHLINE(DLow(n)) Coloured(255, 0, 0) STYLE(LINE, 2)
    ENDIF
    NEXT
    endif

    RETURN

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

afficher et sauvegarder un tableau


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
juld63 @juld63 Participant
Summary

This topic contains 3 replies,
has 3 voices, and was last updated by philippe59139
2 years, 2 months ago.

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