Author |
Topic  |
|
luigi
Nuovo Utente
45 Posts |
Posted - 25 July 2006 : 18:45:55
|
Salve, ho installato Insider 3000 per provarlo e eventualmente decidere se acquistarlo o meno, le prime perplessità sono: l'aggiornamento dei dati (che ho visto può risolversi con l'acquisto del servizio tramite bull&Bear) e la possibilità di fare degli screener dei titoli a fine giornata, cioè voglio chiederVi esiste la possibilità tramite programmazione di avere a fine giornata una lista di titoli che soddisfano determinate condizioni(es. la chiusura di oggi è la più alta degli ultimi 2 mesi e il range di oggi è il più esteso degli ultimi 8 giorni)? Oppure l'incrocio rialzista del MACD? Ciao e grazie
|
|
SupportoTecnico
Forum Admin
1261 Posts |
|
luigi
Nuovo Utente
45 Posts |
Posted - 25 July 2006 : 19:16:38
|
Grazie della risposta, lo studio un pò e se ho dei dubbi posto.
|
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 25 July 2006 : 23:41:57
|
Sto sperimentando: dovrei cercare di capire se oggi è un massimo a due mesi ed il range di oggi è maggiore o uguale al range più esteso dei nove giorni precedenti, sono riuscito a fare questo: Function main() dim r as Numeric dim r1 as Numeric r = high(9) - low(9) 'scrivendo così indico il range max degli ultimi 9 giorni oppure il range di nove giorni fa? r1 = high - low return close > high(45) and r1 > r endfunction è errato? non mi è chiaro se l'offset lo devo scrivere positivo o negativo. Ciao e grazie
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 26 July 2006 : 11:24:56
|
Siamo molto lontani dalla soluzione 
Quando scrivi High(9) la funzione High ritornerà il valore High di 9 periodi nel futuro e non c'entra nulla riguardo a quello che vuoi fare tu.
Quindi io farei così:
Function Main() Dim dRt as Numeric Dim i as Numeric Dim bRes as Boolean
bRes = False
If (Max(High, 40) = High) Then bRes = True dRt = High - Low For i = 1 to 9 If (dRt < (High(-i) - Low(-i))) Then bRes = False Endif Next i Endif
Return bRes
EndFunction
|
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 26 July 2006 : 12:28:37
|
Ma anche in questo punto dovrei scrivere -40? If (Max(High, 40) = High) Then
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 26 July 2006 : 12:58:45
|
No! Quello non è un offset.. ma il numero di periodi precedenti a quello in elaborazione su cui vuoi calcolare il massimo. Io ho messo 40 che in base giornaliera sono circa 2 mesi.. |
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 26 July 2006 : 17:46:57
|
Scusa, non mi è molto chiaro il punto che il 40 (che indica il periodo in cui voglio calcolare il max) non è un offset e il 9 (che indica il periodo in cui voglio calcolare il range di prezzo max) lo sia; riesci a spiegarmelo in maniera elementare? o provato con la guida ma mi sembra siano tutti offset...(non l'ho capita bene...) Poi lo step : For i = 1 to 9 If (dRt < (High(-i) - Low(-i))) non dovrebbe essere : For i = -1 to -9 ? Ciao e grazie
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 26 July 2006 : 18:45:36
|
Parti dal fatto che il codice che ti ho scritto è corretto.
Per quale motivo il 40 dovrebbe essere un offset?? Il 40 è un valore che viene passato come parametro alla funzione "MAX". Non è un offset perchè in quel parametro della funzione MAX ci devo scrivere il numero di periodi precedenti al periodo in elaborazione in cui voglio calcolare il massimo. Cioè la funzione prende tutti i 40 periodi precedenti al periodo attuale e calcola il valore massimo raggiunto in quei 40 periodi. Che c'entra con un offset? nulla.
Il parametro di High è invece un offset perchè viene sommato al periodo in elaborazione e fa in modo che High restituisca il valore dell'High del "Periodo Attuale + Offset". Se per esempio il periodo attuale è il numero 300 e l'offset è -9 allora la funzione High restituirà il valore dell'High di 9 giorni prima del periodo in elaborazione. Stai attento che la funzione "High" è totalmente diversa da "MAX".
Se scrivo solo "High" ho il valore del massimo di oggi. Se scrivo High(-1) ho il valore massimo di ieri. Se scrivo High(-9) ho il valore massimo di 9 giorni fa e NON il valore massimo che ho avuto negli ultimi 9 giorni. e via così...
|
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 11 September 2006 : 12:13:42
|
C'è qualche funzione per stampare o esportare i risultati dell'Esploratore? Vi spiego: attualmente quando finisco la scansione con i vari esploratori, mi devo scrivere i risultati delle varie scansioni per poi riaprire i grafici dei titoli ottenuti selezionandoli singolarmente... Come procedura è un pò macchinosa... sbaglio qualcosa   Grazie
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 11 September 2006 : 13:28:02
|
No, al momento non è possibile esportare o stampare i risultati delle esplorazioni. |
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 25 September 2006 : 16:36:02
|
Salve, Volevo chiederVi se c'è la possibilità di combinare due indicatori; es. ho un indicatore che mi calcola le medie, uno che calcola i range, ecc. ed infine un indicatore che mi controlla i valori dei volumi. Posso abbinare quello che calcola le medie a quello che calcola i volumi (stile le call) per ottenere come risultato solo i titoli che hanno superato entrambi i test? Grazie
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 25 September 2006 : 18:01:09
|
La prossima volta non aggiungere sempre nuove domande allo stesso Topic. Aprine uno nuovo. Altrimenti parliamo di 10 cose diverse che non c'entrano nulla con l'argomento iniziale.
Per rispondere alla tua domanda:
non vedo problemi nel fare quello che chiedi. Usando dei semplici IF uno dopo l'altro oppure uno all'interno dell'altro a seconda di come scrivi il codice. Per esempio:
If PrimoIndicatore > ... then If SecondoIndicatore > ... then If TerzoIndicatore > ... then Return True Endif Endif EndIf
"Return" lo metterai all'interno dell'ultimo IF
|
 |
|
luigi
Nuovo Utente
45 Posts |
Posted - 25 September 2006 : 18:06:07
|
Ho fatto confusione, non sono indicatori ma esploratori, da combinare, cambia qualcosa?
|
 |
|
SupportoTecnico
Forum Admin
1261 Posts |
Posted - 25 September 2006 : 19:58:27
|
Eh si che cambia.. infatti non puoi combinare gli esploratori tra di loro.
La soluzione è scrivere un nuovo esploratore che contenga tutte le regole di cui hai bisogno. |
 |
|
|
Topic  |
|