Discussione: Scripts di esempio
-
03-05-13, 11:16 #131
Salve,
rispondo prima all'ultima domanda: no, non è possibile intervenire sulle finestre di FiutoPRO tramite script.
Veniamo ora alla prima domanda.
Per prima cosa bisogna creare una finestra per lo script, come ha già visto.
Nello script editor, nella parte bassa, è presente una selezione a schede per ogni file relativo ad una finestra, che permette di passare dalla modalità "codice" alla modalità di modifica visuale. Quando si è in modalità di modifica visuale, nella parte di destra della finestra appare una toolbox dove si trovano tutti i controlli visuali che si possono aggiungere alla finestra stessa, mentre nella parte sinistra si troverà l'Object Inspector, che permette di impostare le proprietà dell'oggetto visuale selezionato (testi, colori, ecc) e di assegnarne gli eventi.
Tra i controlli visuali che si possono aggiungere, c'è anche un controllo "Timer", invisibile durante l'esecuzione dello script, che può essere utilizzato per eseguire i calcoli ad intervalli regolari di tempo e scrivere i risultati sulla finestra.
Prima di avviare l'esecuzione dello script, consiglio vivamente di impostare nelle proprietà dello stesso che lo script deve essere avviato una sola volta all'avvio della strategia.
Max Francario
-
03-05-13, 12:14 #132
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao,
in aggiunta alla risposta di Max ti posto questo semplice esempio.
Dopo avere aperto l'editor dello script, metti il seguente codice nella MainUnit:
Uses Unit1 Dim myForm as TForm1 myForm = New TForm1(Null) myForm.Show
Quindi vai a creare una finestra mediante il comando New Form (dal menu File), la quale si dovrà trovare nella Unit1.
La Form ha 2 sezioni:
- una sezione "Code" dove si inserisce il codice
- ed una sezione "Design" dove invece si gestisce la parte grafica
Nella sezione "Design" aggiungi un controllo Timer1 (come ha fatto vedere Max), un controllo Button1 e due controlli Label1 e Label2.
Nella sezione "Code" invece inserisci il seguente codice:
#FORM TForm1, Unit1.sfm uses Classes, Graphics, Controls, Forms, Dialogs, StdCtrls SUB Button1Click(Sender AS TObject) POPlaySound("C:\\Users\Administr\Documenti\PlayOptions.it\Sounds\telephone_2.WAV") END SUB SUB Timer1Timer(Sender AS TObject) dim mainUnderlying as TUnderlying mainUnderlying = CurrentStrategy.GetMainUnderlying() Label1.Caption = mainUnderlying.Name Label2.Caption = mainUnderlying.Last END SUB
A questo punto, mandando in esecuzione lo script:
- le due Label indicheranno il nome ed il prezzo last del sottostante, aggiornandoli ad intervalli regolari di 1 secondo
- dopo aver fatto click sul pulsante Button1 verrà eseguito il file sonoro, che nell'esempio sopra è un file WAV presente nella cartella Sound installata da Fiuto PRO.
Ultima modifica di Smash; 03-05-13 alle 13:41
-
03-05-13, 12:22 #133
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
-
03-05-13, 13:19 #134
- Data Registrazione
- Apr 2013
- Messaggi
- 13
Ragazzi... siete fantastici.
GRAZIE davvero, sia per la velocità di risposta sia per le ottime spiegazioni.
Mi avete dato da lavorare per qualche giorno :-)
Spero di farmi sentire presto per confermarvi di essere riuscito nei miei intenti!
Buona Giornata!
Renato.
-
04-05-13, 01:55 #135
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Ciao Smash...ho provato a seguire le tue istruzioni ma mi restituisce sempre un errore sulla Library ExtCtrls
Se la tolgo da Uses funziona, ma appena salvo la Unit mi rimette in automatico ExtCtrls
Inoltre la finestra si apre ma le Caption delle Label non si modificano...visualizzo Label1 e Label2... può dipendere da ExtCtrl? Oppure è semplicemente perché il mercato è chiuso?
Grazie
-
04-05-13, 11:36 #136
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Sì, lo fa anche a me: il compilatore automatico rimette sempre ExtCtrls tra le Uses, ma poi non trova la libreria e si verifica l'errore... vedo se riesco a capirci meglio, altrimenti bisogna attendere Max.
Per il momento per farlo funzionare bisogna mandare in esecuzione lo script manualmente, dopo avere cancellato ExtCtrls e senza salvare (come hai fatto te del resto !)
Questo invece a me funziona correttamente: non dipende da ExtCtrls!
Che broker usi per il collegamento dati?
Al limite prova a verificare che la proprietà Interval del controllo Timer non sia uguale a zero.
-
04-05-13, 12:45 #137
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
-
04-05-13, 12:56 #138
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
-
04-05-13, 13:26 #139
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
-
04-05-13, 15:23 #140
- Data Registrazione
- Aug 2008
- Località
- Edolo (BS)
- Messaggi
- 693
Ho trovato l'errore!!
Nelle proprietà del Timer non avevo abilitato l'evento "OnTimer"
...ora pare funzioni...
rimane il problema ExtCtrl...