Discussione: Scripts di esempio
Visualizzazione Ibrida
-
25-01-13, 12:39 #1
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 #2
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Grazi ancora Max, sei stato super speedy!!
-
29-01-13, 11:58 #3
- 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 #4
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 #5
- 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 #6
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Contrordine, scusa Max, non tenere conto del mio messaggio precedente...col Workflow funziona perfettamente...
-
30-01-13, 19:13 #7
Buonasera Max,
non ho trovato una sezione apposita per domande relative al FPSS, per cui utilizzo questa. Metto una serie di domande a raffica. Scusa l'esposizione a punti, un po' freddina, ma è per evitare di essere troppo prolisso
1. Si possono dichiarare e inizializzare contemporaneamente le variabili? (Dim x As Integer = 7)
2. Se ad una variabile è dato un tipo specifico, eredita i metodi di quel tipo? (ad es. Dim pippo As String, posso poi fare pippo.Length?)
3. Il costrutto If... Then prevede anche ElseIf?
4. Nelle stringhe c'è la necessità di.. escaping (non so come dirlo) qualche carattere speciale o come nel VB vanno bene tutti?
5. Esiste anche il ciclo For Each per ciclare tra gli oggetti? In tali casi sono consentite dichiarazioni 'implicite' o tutte le variabili devono essere dichiarate all'inizio? (Ad es. ammettendo che Strategia sia una classe, For Each _strategy As Strategia ... Next è valido senza dichiarare prima _strategy?)
6. Le Unit nell'IDE corrispondono a qualcosa tipo Moduli? o sono delle tab per tenere più ordinata la scrittura dello Script?
Purtroppo me ne verranno altre di domande, mi scuso a priori per l'inondazione di punti di domanda ma non sono un programmatore ahimè. Il manuale è un'ottima fonte e questo sistema di script sembra veramente completo e potentissimo. Complimenti a tutti!!
Loki-----------------------------------------------------------------
Preferisco le urla della battaglia al silenzio che ne segue.
-----------------------------------------------------------------