T O P I C R E V I E W |
leslie |
Posted - 02 February 2007 : 00:49:52 Ciao, chidevo aiuto un paio di aiuti: 1)in un TS utilizzo delle variabili comuni che ho necessità di passare tra le varie posizioni che voglio testare (sono praticamente tutte e quattro, entra ed esci lungo ed entra ed esci corto). Quello che non riesco a capire con le simulazione è quando le variabili comuni di tipo numeriche vengono nuovamente inizializzate a zero e quelle booleane a falso. All’uscita da una posizione lunga restituisco il valore vero a questa variabile per forzare un eventuale futuro segnale in entrata per la posizione corta, ma nuovamente mi da il segnale di lungo anche se questa posizione la faccio prendere in considerazione solo se la variabile ha valore falso.
Opzioni comuni Dim pd_corta As Boolean
Entra in lungo Function main() If pd_corta then Return false else ............... Endfunction
Esci da lungo Function main() ............ If ..... Then ......... pd_corta = true Return true EndIf ........... Endfunction
Entra in corto Function main() If pd_corta then ............ Endfunction
2) Anche nella gestione degli allarmi, così come per i TS, viene preso in elaborazione l’ultimo tik considerando la compressione del grafico? (è impostata l’esplorazione solo ultima data). Praticamente: scarico i dati in real time con cadenza ad 1 minuto ed ho il grafico aperto con compressione giornaliera lasciando così che l’ultimo tik che visualizzo (il giorno corrente) venga aggiornato ogni minuto con i dati che scarico. In questo caso se nel mio allarme ci sono espressioni del tipo “close(-1)”, oppure “Value(RSI(Close, 9), - 1)” il riferimento al valore del tick precedente “–1”, (analogamente il periodo “9” per l’ RSI), è riferito alla giornata di ieri o al minuto precedente? Grazie infinitamente come sempre. Ciao, Leslie
|
8 L A T E S T R E P L I E S (Newest First) |
SupportoTecnico |
Posted - 05 February 2007 : 11:59:00 Le variabili comuni e/o variabili in generale non hanno alcun impatto sulla velocità.
Per quanto riguarda gli IF invece, è meglio utilizzare IF annidati (cioè uno dentro l'altro).
|
leslie |
Posted - 03 February 2007 : 22:21:27 A volte ho la sensazione che i TS da me creati siano troppo "pesanti", li vedo molto lenti e laboriosi. In generale quali sono le operazioni che più di altre possono appesantire l'esecuzione del TS, a parte ovviamente le opzioni comuni (min, max, incremento)?. Ad esempio molti If contenuti l'uno dentro l'altro piuttosto che singoli passi, oppure molte variabili a livello comune? If... If... If... EndIf EndIf EndIf
piutosti che singoli
If.... EndIf If... EndIf
oppure Opzioni comuni Dim .... Dim ..... Dim ...
Modificato da - leslie il 03 Febbraio 2007 22:33:01 |
SupportoTecnico |
Posted - 03 February 2007 : 20:30:12 Per i moduli secondari fai riferimento qui:
http://www.insider3000.com/insider/it/hol/default.asp?titleid=01100&argid=02000
All'interno del modulo secondario dovrai creare una funzione che ti restituisca ad esempio True o False a seconda che la tua data è quella giusta oppure no:
Function IsDataOk(lMyDate as Numeric) As Boolean Dim SGiorno 'giorno di acquisto Dim SMese 'giorno di acquisto Dim SAnno 'giorno di acquisto Dim NGiorno 'giorno di acquisto Dim NMese 'giorno di acquisto Dim NAnno 'giorno di acquisto
SGiorno = Mid(Str(lMyDate), 8, 2) SMese = Mid(Str(lMyDate), 6, 2) SAnno = Mid(Str(lMyDate), 2, 4) NGiorno = Format(day, "00") NMese = Format(Month, "00") NAnno = Format(year, "0000")
If ((SGiorno = NGiorno) and (SMese = NMese) and (SAnno = NAnno) Then Return True EndIf
EndFunction
Poi richiamerai questa funzione seguendo la sintassi spiegata nell'help.
Per quanto riguarda TrendForce():
- con la nuova versione 3.2.0 è stata introdotta una nuova funzione => TrendForceEx che fa proprio quello che desideri tu.
|
leslie |
Posted - 03 February 2007 : 18:43:20 GRAZIE  siccome è una cosa che utilizzo spesso come faccio a richiamarla agevolmente nel TS? ho visto che teoricamente potrei memorizzarla nei moduli da includere ma non ci riesco. questa procedura di richiamare moduli comuni rallenta di molto il TS? Ancora una cosa. E' possibile calcolare il valore tel trand ad esempio riferito all'indicatore OnBalanceVolume così come con Trendforce() la si calcola per il grafico? Grazie mille
Modificato da - leslie il 03 Febbraio 2007 18:59:23 |
SupportoTecnico |
Posted - 03 February 2007 : 14:00:26 Beh.. direi che hai trovato la strada più giusta! Una migliore non me ne viene in mente. Complimenti!  |
leslie |
Posted - 03 February 2007 : 13:15:03 Il problema di forzare l'entra in corto sembra risolto. Chiedevo ancora un'aiuto. Utilizzo il mailer per avere la segnalazione di un eventuale segnale legato al TS, ma vorrei che il TS cominciasse solo dalla data odierna, questo per evitare la presenze di posizioni ancora aperte. Come posso fare? Attualmente ho impostato un'opzione comune che poi vado a verificare. Funziona ma è molto laboriosa:
opzioni comuni Option Data(0, 21000000, 1) 'data di inizio TS in formato yyyymmdd
entra in lungo function main() Dim SGiorno 'giorno di acquisto Dim SMese 'giorno di acquisto Dim SAnno 'giorno di acquisto Dim NGiorno 'giorno di acquisto Dim NMese 'giorno di acquisto Dim NAnno 'giorno di acquisto
SGiorno = (Mid(Str(Opt_Data), 8, 2)) SMese = Mid(Str(Opt_Data), 6, 2) SAnno = Mid(Str(Opt_Data), 2, 4) NGiorno = Format(day, "00") NMese = Format(Month, "00") NAnno = Format(year, "0000")
If ((SGiorno = NGiorno) and (SMese = NMese) and (SAnno = NAnno) and (close = Opt_Prezzo)) Then Return True EndIf endfunction
C'è qualcosa di più semplice??? grazie  |
leslie |
Posted - 02 February 2007 : 21:02:22 grazie mille come sempre, Per il primo quesito purtroppo continua a darmi il messaggio di entra in lungo invece dell'entra in corto, anche se la variabile dovrebbe essere vera perchè la imposto appena prima dell'uscita dalla posizione di lungo. Sto provando a vedere meglio il codice, se non riesco chiederò ancora aiuto...
  |
SupportoTecnico |
Posted - 02 February 2007 : 11:41:23 1) le variabili Comuni a tutti i moduli vengono inizializzate automaticamente solo 1 volta e cioè all'inizio (nel primo periodo). Quindi se da qualche parte assegni loro un valore, da qualche altra devi resettarlo.
2) Se la base dati è a 1 minuto ma il grafico è visualizzato in compressione giornaliera allora Close(-1) fa riferimento al giorno precedente.
|
|
|