Discussione: Scripts di esempio
Visualizzazione Ibrida
-
25-01-13, 12:09 #1
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Sono l'unico interessato allo Script??
Max...altra domandina...
Qual è il modo corretto per utilizzare la funzione:
FILTER_TIME_SESSION ?
Quello che vorrei fare è dire a Fiuto di eseguire ad esempio il FlatAll solamente se si trova all'interno degli orari della sessione che ho definito...
Ho dichiarato le sessioni così, e anche qui non so se è giusto:
DIM StartSession1 as TDateTime
DIM EndSession1 as TDatetime
StartSession1 = 0905
EndSession1 = 1725
Ripeto...non so se è corretto...
Poi però ho provato in vari modi ad inserie una condizione che richiamasse il FILTER_TIME_SESSION ma senza avere successo...
Grazie in anticipo
-
25-01-13, 12:39 #2
Salve,
uno dei modi per impostare gli orari è il seguente:
CurrentStrategy.StrategySettings.StartSession1 = (9 * ONE_HOUR) + (5 * ONE_MINUTE) CurrentStrategy.StrategySettings.EndSession1 = (17 * ONE_HOUR) + (25 * ONE_MINUTE)
FILTER_TIME_SESSION invece è una costante obsoleta, che non viene più utilizzata dal software. Sto provvedendo a modificare anche il manuale on-line con questa modifica.
Al posto di FILTER_TIME_SESSION, è possibile utilizzare la seguente proprietà:
CurrentStrategy.StrategySettings.VerifyTimeSession = true oppure CurrentStrategy.StrategySettings.VerifyTimeSession = false
In entrambi gli esempi che ho riportato si interviene direttamente sulle proprietà della strategia, le stesse visibili nella finestra di impostazione che si apre da Strategy Builder -> Setup -> Impostazioni strategia -> scheda "Sessioni".
Se invece si vuole eseguire un'operazione controllata dall'orario indipendentemente dalle impostazioni della strategia, allora è possibile utilizzare una cosa simile a quanto segue:
dim inizio as TDateTime dim fine as TDateTime dim ore as Word, minuti as Word, secondi as Word, usec as Word dim adesso as TDateTime inizio = 9 * ONE_HOUR + 15 * ONE_MINUTE fine = 17 * ONE_HOUR + 25 * ONE_MINUTE DecodeTime(Now(), ore, minuti, secondi, usec) adesso = ore * ONE_HOUR + minuti * ONE_MINUTE IF ((adesso > inizio) and (adesso < fine)) THEN MostraMessaggio("Test") END IF
Max Francario
-
25-01-13, 12:58 #3
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Grazi ancora Max, sei stato super speedy!!
-
29-01-13, 11:58 #4
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Rieccomi Max!
Ho altre due domandine...passo dopo passo sto costruendo....
1) Ho messo in paper una strategia con lo Script, pare che funzioni ma quando scatta l'ordine, me lo mette in Basket senza eseguirlo automaticamente.
Nei settaggi strategia ho selezionato il Flag per l'esecuzione automatica, inoltre nel codice script ho inserito questo comando, ma probabilmente c'è qualcosa di sbagliato:
dim AutoExecAutoOrders as Boolean
CurrentStrategy.StrategySettings.AutoExecAutoOrder s = True
Continua a mettermeli solo in Basket...
2) Che comando uso per farmi mandare una email ogni volta che viene eseguito un ordine? Tipo con i Workflow? Ho visto che c'è un comando ma se non erro serve solo per gli ordini a mercato reale, non quelli in paper...
Thanks
-
29-01-13, 14:02 #5
Salve,
E' necessaria soltanto questa riga:
CurrentStrategy.StrategySettings.AutoExecAutoOrders = True
Sto invece verificando quale possa essere il problema che mantiene gli ordini fermi nel basket invece che eseguirli direttamente.
Al momento non è prevista una notifica per gli ordini inviati in paper trading.
Stiamo valutando quale soluzione possiamo rendere disponibile sullo script.
Max Francario
-
29-01-13, 14:24 #6
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Grazie Max, ho notato poco fa che anche un'altra strategia, che però utilizza i Workflow e non lo Script, non esegue più in automatico gli ordini ma li manda solo in Basket, pur essendo selezionato il Flag "Esegui immediatamente gli ordini automatici"...
E' come se questa cosa non dipendesse dallo Script...
-
29-01-13, 15:02 #7
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Contrordine, scusa Max, non tenere conto del mio messaggio precedente...col Workflow funziona perfettamente...