Scripts di esempio

Collapse
This is a sticky topic.
X
X
 
  • Ora
  • Show
Clear All
new posts
  • Francario Massimiliano
    Administrator
    • Jul 2008
    • 1033

    #16
    Salve,
    Originariamente Scritto da TraderLoki
    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
    nessun problema per le domande. Cerco di rispondere punto per punto.

    1. No, non è possibile dichiarare ed inizializzare contestualmente le variabili

    2. Certamente si. Attenzione però che non è obbligatorio dichiarare in anticipo il tipo della variabile, perchè questo può cambiare tramite una semplice assegnazione. La dichiarazione esplicita del tipo è utile per "aiutare" l\'editor a fornire l\'elenco delle proprietà e dei metodi corretto per quella variabile, per questo è consigliato.

    3. Esiste If...Then...Else oppure Select Case. Il costrutto ElseIf non è previsto.

    4. Dovrebbero essere accettati tutti, ma mi riservo di fare qualche test più approfondito sulla questione.

    5. Non è previsto il ciclo For Each così come non sono previste le dichiarazioni implicite delle variabili o le funzioni lambda. I linguaggi interpretati dal sistema di scripting di FiutoPRO sono molto semplificati, pertanto alcune funzionalità avanzate non sono disponibili.

    6. Ogni unit nell\'IDE corrisponde ad un file. L\'utilità è quella di poter suddividere il "progetto" in più parti, in modo da avere una lettura più immediata delle funzioni e delle classi che lo compongono. Inoltre, i file si possono anche riutilizzare in altri progetti, di modo che una volta scritto quell\'insieme di funzionalità, sarà possibile averle sempre a disposizione anche in altre strategie. A questo riguardo, è in corso di completamento il "Project Manager", cioè quella sezione dell\'editor degli script dedicato appunto alla gestione dei vari files che compongono il progetto.

    Ricordo a tutti gli interessati che gli script sono una funzione ancora abbastanza "giovane" nel sistema di FiutoPRO, pertanto se esiste la necessità di aggiungere ulteriori funzionalità che non sono al momento presenti, potete avvisarci e provvederemo per quanto possibile ad integrarle in FiutoPRO.

    Max Francario
    Manuale di beeTrader
    Manuale di Fiuto Beta

    Comment

    • Smash
      Senior Member

      • Feb 2012
      • 351

      #17
      Salve Max,

      anche io sto incominciando a prendere confidenza con l\'utilità di script in linguaggio Basic, ed anche io avrei qualche piccola domanda da fare.

      Vorrei sapere se:

      - è supportata l\'istruzione Open per leggere o scrivere ad esempio file di testo

      - è possibile mandare in esecuzione file esterni, tipo i file WAV presenti nella cartella "Sounds" di Fiuto, in modo da lanciare un allarme sonoro al verificarsi di una certa condizione.

      Grazie in anticipo!
      Last edited by Smash; 31-01-13, 10:17.

      Comment

      • TraderLoki
        Senior Member

        • Feb 2012
        • 388

        #18
        Originariamente Scritto da Francario Massimiliano

        nessun problema per le domande. Cerco di rispondere punto per punto.
        Grazie mille per la completezza e la tempestività delle risposte. Continuo il mio studio

        Loki
        -----------------------------------------------------------------
        Preferisco le urla della battaglia al silenzio che ne segue.
        -----------------------------------------------------------------

        Comment

        • Francario Massimiliano
          Administrator
          • Jul 2008
          • 1033

          #19
          Salve,
          Originariamente Scritto da Smash
          Salve Max,

          anche io sto incominciando a prendere confidenza con l\'utilità di script in linguaggio Basic, ed anche io avrei qualche piccola domanda da fare.

          Vorrei sapere se:

          - è supportata l\'istruzione Open per leggere o scrivere ad esempio file di testo

          - è possibile mandare in esecuzione file esterni, tipo i file WAV presenti nella cartella "Sounds" di Fiuto, in modo da lanciare un allarme sonoro al verificarsi di una certa condizione.

          Grazie in anticipo!
          No, l\'istruzione OPEN non è presente. In compenso, è presente la classe TStringList, adatta anche alla lettura e scrittura di file di testo. Per usare questa classe è necessario aggiungere nell\'intestazione dello script la clausola:

          Codice:
          uses Classes
          Dalla prossima release di FiutoPRO sarà presente la seguente funzione per la riproduzione di file audio:
          Codice:
          Sub POPlaySound(ByVal fileName As String)
          Inoltre, è sempre possibile accedere alle API di Windows tramite la clausola:

          Codice:
          uses Windows
          Max Francario
          Manuale di beeTrader
          Manuale di Fiuto Beta

          Comment

          • chrisbasetta
            Senior Member
            • Aug 2008
            • 693

            #20
            Ciao Max...
            sei riuscito a capire l\'inghippo dell\'invio ordini a Basket?
            Thanks

            PS. vedo che finalmente la discussione si anima un pochino...mi sentivo solo

            Comment

            • Francario Massimiliano
              Administrator
              • Jul 2008
              • 1033

              #21
              Salve,
              Originariamente Scritto da chrisbasetta
              Ciao Max...
              sei riuscito a capire l\'inghippo dell\'invio ordini a Basket?
              Thanks

              PS. vedo che finalmente la discussione si anima un pochino...mi sentivo solo
              si, il problema è risolto nella versione 1.0.10.11 che verrà rilasciata oggi o domani.

              Nel frattempo il manuale di FPSS è già stato aggiornato con la rimozione delle costanti obsolete e l\'aggiunta di alcune funzioni:
              - POPlaySound
              - SetPersistentVar
              - GetPersistentVar
              - AutoGenerateChain
              - AddParametricOption

              Max Francario
              Manuale di beeTrader
              Manuale di Fiuto Beta

              Comment

              • Smash
                Senior Member

                • Feb 2012
                • 351

                #22
                Originariamente Scritto da Francario Massimiliano
                Salve,


                No, l\'istruzione OPEN non è presente. In compenso, è presente la classe TStringList, adatta anche alla lettura e scrittura di file di testo. Per usare questa classe è necessario aggiungere nell\'intestazione dello script la clausola:

                Codice:
                uses Classes
                Dalla prossima release di FiutoPRO sarà presente la seguente funzione per la riproduzione di file audio:
                Codice:
                Sub POPlaySound(ByVal fileName As String)
                Inoltre, è sempre possibile accedere alle API di Windows tramite la clausola:

                Codice:
                uses Windows
                Max Francario

                Grazie Max!

                Altra domanda:
                ho notato la presenza di un Object Inspector nel programma di Scripting, che però non si apre .....

                E\' normale?

                Comment

                • Francario Massimiliano
                  Administrator
                  • Jul 2008
                  • 1033

                  #23
                  Salve,
                  Originariamente Scritto da Smash
                  Grazie Max!

                  Altra domanda:
                  ho notato la presenza di un Object Inspector nel programma di Scripting, che però non si apre .....

                  E\' normale?
                  finchè si sta editando uno script "normale" è normale che l\'object inspector sia chiuso lasciando più spazio possibile all\'area di testo.
                  Se al progetto si va ad aggiungere una "Window", l\'object inspector diventerà visibile e con esso anche la palette dei toolbox.

                  Max Francario
                  Manuale di beeTrader
                  Manuale di Fiuto Beta

                  Comment

                  • Smash
                    Senior Member

                    • Feb 2012
                    • 351

                    #24
                    Originariamente Scritto da Francario Massimiliano
                    Salve,

                    finchè si sta editando uno script "normale" è normale che l\'object inspector sia chiuso lasciando più spazio possibile all\'area di testo.
                    Se al progetto si va ad aggiungere una "Window", l\'object inspector diventerà visibile e con esso anche la palette dei toolbox.

                    Max Francario

                    Adesso ho visto, e ho capito di che cosa si tratta, grazie!

                    Prima credevo che si trattasse di una elencazione di tutte le classi e di tutti i membri disponibili per un progetto ...

                    Comment

                    • CIVT
                      Senior Member
                      • Dec 2009
                      • 813

                      #25
                      Buongiorno a tutti, vedo che qualcuno è già sulla buona strada con questo tools, personalmente ho appena finito di leggere il manuale ma devo dire che sono piu\' confuso di prima! Credo anche io che una videoguida dove vengano mostrati i rudimenti di programmazione o semplicemente FPSS in funzione sia proprio quello che serve in questa fase. Avete in programma qualche tutorial video di questo genere?

                      Comment

                      • Ismael
                        Senior Member

                        • Jan 2011
                        • 240

                        #26
                        Dopo aver scaricato solo oggi la versione con script, parto subito con qualche domandina. Please Massimiliano sii paziente...
                        Come si rimuovono le watches?
                        E se volessi costruire un indicatore da dove parto? Sarebbe possibile avere un esempio di un semplice e stupido indicatore che si aggiunga a quellli già presenti (tipo, non so, media a due periodi del close)?
                        grazie
                        E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

                        Comment

                        • Francario Massimiliano
                          Administrator
                          • Jul 2008
                          • 1033

                          #27
                          Salve,

                          Originariamente Scritto da Ismael
                          Dopo aver scaricato solo oggi la versione con script, parto subito con qualche domandina. Please Massimiliano sii paziente...
                          Come si rimuovono le watches?
                          E se volessi costruire un indicatore da dove parto? Sarebbe possibile avere un esempio di un semplice e stupido indicatore che si aggiunga a quellli già presenti (tipo, non so, media a due periodi del close)?
                          grazie
                          come specificato nella prima pagina del manuale di FPSS, lo script opera soltanto a livello di strategia. Non è pertanto possibile al momento attuale utilizzare lo script per creare indicatori da plottare sul grafico storico.

                          Il manuale di FPSS si trova a questo indirizzo:


                          Max Francario
                          Manuale di beeTrader
                          Manuale di Fiuto Beta

                          Comment

                          • Ismael
                            Senior Member

                            • Jan 2011
                            • 240

                            #28
                            Continuo a chiedere qualcosina.
                            Vorrei aggiungere opzioni alla strategia (cioè senza caricarle manualmnete dalla chain). Pensavo di fare così:

                            Codice:
                            dim und as tsecurity
                            dim isin as string
                            dim next1 as tdatetime
                            dim a as toption
                                                    
                            und= currentstrategy.GetMainUnderlying                                   
                            isin= und.Isin     
                            next1 =GetNearestExpiry(isin,date)
                                    
                            a = currentstrategy.AddOption(isin,next1,2700,"C")
                            ma non funziona . Dove erro?

                            grazie
                            E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

                            Comment

                            • Francario Massimiliano
                              Administrator
                              • Jul 2008
                              • 1033

                              #29
                              Salve,
                              Originariamente Scritto da Ismael
                              Continuo a chiedere qualcosina.
                              Vorrei aggiungere opzioni alla strategia (cioè senza caricarle manualmnete dalla chain). Pensavo di fare così:

                              Codice:
                              dim und as tsecurity
                              dim isin as string
                              dim next1 as tdatetime
                              dim a as toption
                                                      
                              und= currentstrategy.GetMainUnderlying                                   
                              isin= und.Isin     
                              next1 = GetNearestExpiry(isin,date)
                                      
                              a = currentstrategy.AddOption(isin,next1,2700,"C")
                              ma non funziona . Dove erro?

                              grazie
                              Può modificare la penultima riga in questo modo:
                              Codice:
                              next1 =GetNearestExpiry(isin, Now() )
                              Max Francario
                              Manuale di beeTrader
                              Manuale di Fiuto Beta

                              Comment

                              • Ismael
                                Senior Member

                                • Jan 2011
                                • 240

                                #30
                                Continua a non apparire alcuna opzione nella stategia e la variabile next1 assume il valore che assumeva in precedenza (4130.999999, che dovrebbe essere la data del 15 feb 2013 in formato "numerico"). Ho provato ad aggiungere aisin per controllare se l\'opzione fosse aggiunta e non visualizzata ma comunque aisin non assume valori:


                                Codice:
                                dim und as tsecurity
                                dim isin as string
                                dim next1 as tdatetime
                                dim a as toption
                                dim aisin as string     
                                                        
                                und= currentstrategy.GetMainUnderlying                                   
                                isin= und.Isin
                                       
                                next1 =GetNearestExpiry(isin, Now() )
                                        
                                a = currentstrategy.AddOption(isin,next1,2700,"C") 
                                aisin = a.isin

                                ps: per non fraintendersi: io vorrei inserire un\' opzione nella finestra opzioni dello strategy builder...

                                pss: potrebbe fare un esempio di come si usa il dim per un array, ho provato:

                                Codice:
                                dim optionscalldd[5] as toption
                                dim optionscalldd(5)as toption
                                dim optionscalldd()as toption
                                dim optionscalldd[]as toption
                                ma ottengo sempre syntax error




                                grazie
                                Last edited by Ismael; 04-02-13, 00:17.
                                E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

                                Comment

                                Working...