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 :
- l’afficher d’une manière lisible
- 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 !
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!
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:
- 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…
- 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 !
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