T O P I C R E V I E W |
Alessio |
Posted - 24 November 2003 : 16:23:20 Salve, desidero scrivere il codice che mi permetta di contare con quale frequenza viene battuto un determinato prezzo durante la giornata; esempio: poniamo che il prezo di un'azione possa assumere i valori 8.44, 8.45, 8.46, ..... Bene, io vorrei sapere quante volte durante la giornata il prezzo ? stato uguale a 8.44, quante volte a 8.45, ecc.
Grazie anticipatamente per l'interessamento
|
3 L A T E S T R E P L I E S (Newest First) |
SupportoTecnico |
Posted - 25 November 2003 : 18:31:19 Per arrotondare i valori ? possibile usare la funzione:
ROUND
che ha 2 argomenti: il primo ? ovviamente il numero da arrotondare, il secondo esprime il numero di cifre decimali a cui si vuole arrotondare.
Es.
Round(8.442, 2)
dar? come risultato 8.44
|
Alessio |
Posted - 25 November 2003 : 15:49:58 Nel codice da voi inviatomi il 30 Ottobre per la ricerca del max e min della prima ora di contrattazione, ho inserito la ricerca del max e min della giornata, in modo da effettuare un confronto. Ora vorrei inserire la possibilit? di contare quante volte un prezzo (es. close) viene battuto durante la giornata. Il problema riguarda la definizione delle classi entro cui pu? variare il prezzo ( i valori 8.44, 8.45, .. del post precedente): es. il valore 8.442 dovr? essere contato come 8.44, il valore 8.448 come 8.45, ecc. In sostanza, si tratta di applicare un' "etichetta" ed un "contatore" a dei valori prestabiliti. Grazie
|
SupportoTecnico |
Posted - 24 November 2003 : 18:32:53 Supponendo di usare il prezzo di chiusura dei vari periodi il codice potrebbe essere questo:
Dim i As Numeric Dim lCount As Numeric
lCount = 0 For i = 0 to TotBar - 1 If Close(i) = 8.44 Then lCount = lCount + 1 Endif Next i
Per essere pi? precisi bisognerebbe sapere in che contesto questa cosa va inserita.
Da tenere bene presente che l'argomento della funzione Close ? un Offset rispetto al periodo corrente. Quindi il ciclo qui sopra funziona solo se eseguito una sola volta.
In altri casi la riga:
For i = 0 to TotBar - 1
potrebbe essere sostituita da:
For i = (Currentbar - 1) to TotBar - Currentbar
|
|
|