tetsuo
Guest
Esiste in prorealtime un comando che corrisponda al comando AFL di amibroker valuewhen ?
se voglio sapere nei 20gg passati il progressivo della barra il cui valore è il massimo degli stessi 20gg come faccio?
io per ora non ho trovato di meglio di pensare ad un ciclo FOR:
Codice:n = 0 BarraMassimo = barindex - 20 for n = 0 to 20 if high[n] > High[barindex-BarraMassimo] then BarraMassimo = barindex - n endif next
purtroppo è così. Non essendoci un comando apposito, ogni tipo di "valuewhen" va trattato in modo diverso secondo il tipo di condizione che si ricerca.
Nell'esempio da te postato un ciclo for (o while) è essenziale in quanto si va a ricercare una condizione che sapremo dove si è verificata solo dopo un tot numero di barre (20 nell'esempio).
Però io lo scriverei così il codice per il tuo caso, se ho capito bene.
Codice:
for n=0 to 19 [COLOR=Blue]//cerchiamo in 20 barre compresa quella attuale che è 0[/COLOR]
if high[n]=highest[20](high) then
barradelmassimo=barindex-n [COLOR=Blue]//se il massimo che il ciclo sta analizzando è il massimo a 20 barre allora si calcola la sua barra[/COLOR]
break[COLOR=Blue]//quando la condizione risulta vera il ciclo si interrompe[/COLOR]
endif
next
[COLOR=Blue]
[/COLOR]

Ciao