SCRIPT

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • lucaG
    Senior Member
    • Oct 2008
    • 313

    #76
    Re:SCRIPT

    Ciao PIDI10, sono Luca. Sto affrontando il discorso Script, e Tiziano mi ha consigliato di contattarti per affrontare questo passaggio. Ho un passato da tecnico programmatore (mia attuale professione principale), ed è per questo che mi sto avvicinando al discorso (e con grande entusiasmo). Max mi ha girato un esempio e il manuale del linguaggio tradescript. Volevo chiederti se potevi darmi qualche consiglio su come affrontare al meglio la questione e per avere qualche indicazione operativa. Vorrei mettere la mia esperienza a disposizione della comunità, e quindi chiedo aiuto per cominciare nella giusta direzione. Quanto scrivo è ovviamente valido per chiunque mi voglia coinvolgere nel discorso. Sarei inoltre interessato se decideste, come leggo, di organizzare incontri o altro.
    Vorrei unire la grande passione che ho nelle opzioni, con le competenze che nel tempo ho maturato nella mia professione.
    Ciao
    Grazie

    Comment

    • pidi10
      Senior Member
      • Apr 2008
      • 4076

      #77
      Re: SCRIPT

      Luca
      certo che ne possiamo parlare. A settembre avremo più tempo. Comunque qualche ragguaglio te lo posso dare. Lo script per la suite è un\'unico programma che viene fatto girare dalla suite ogni 60 secondi. Non ha memorie, quindi ogni volta deve ricalcolare tutto. Io per superare questo problema ho inventato dei trucchi, che magari sono ineleganti, però risolvono. Inoltre l\'area di debug è la sola a disposizione ed il suo controllo spesso sfugge perchè il foglio si muove e ti fa perdere il segno. Non essendoci la funzione trova poi devi sempre andare a ricercare l\'istruzione a mano. Tiziano dice che gli script saranno adottati su Fiuto con un ambiente di programmazione adeguato, quindi nel futuro questi problemi saranno superati si spera.
      Io scrivo il programma su un foglio word e poi lo incollo nell\'area di debug. Quindi in modo molto spartano.
      Ci sono anche altre difficoltà, però se si insiste come ho fatto io, si può arrivare a pilotare la suite in totale autonomia.
      Naturalmente alla base dello script ci deve essere una strategia che non è solo quella che si conosce, ma deve rispondere anche a qualsiasi evenienza accada. Quindi c\'é la necessità di un\'accurata analisi di ogni movimento possibile al quale deve corrispondere una risposta chiara e univoca.
      Si programma in basic. Dallo script si può prendere il controllo di oggetti creati dalla suite. Ma non si possono creare classi proprie.
      I miei scripts sono divisi in sezioni del tipo, dichiarazioni di variabili, presa di controllo di oggetti della suite, area dei parametri della strategia, caricamento dei parametri, individuazione della fase di mercato tra quelle programmate nello script, azioni da espletare a seconda della fase di mercato, gestione dell\'hedging, operazioni da effettuare a tempi prefissati.
      E\' possibile creare delle function che possono essere riutilizzate sugli script successivi.
      Il manuale fornito da Max è basilare per poter capire il linguaggio da utilizzare e gli oggetti della suite che possono essere controllati dallo script.

      Spero di averti dato un\'idea di massima.

      Comment

      • lucaG
        Senior Member
        • Oct 2008
        • 313

        #78
        Re: SCRIPT

        Ciao Pidi10, grazie per le indicazioni. Max mi aveva già dato indicazioni di questo tipo.
        Quanto mi dici è molto interessante, in quanto l\'esperienza è basilare, e qui inoltre si aggiungono competenze legate alle opzioni.
        Hai qualche piccolo esempio da condividere ?
        Ciao
        grazie

        Comment

        • GabrieleV
          Senior Member
          • Mar 2008
          • 299

          #79
          Re: SCRIPT

          Originariamente Scritto da galimberti
          Hai qualche piccolo esempio da condividere ?
          Questo mi sembra un intervento molto utile: postare un esempio di script semplicissimo, ad esclusivo scopo didattico, tipo:

          se
          il delta un\'opzione supera il valore x
          allora
          compra un sottostante

          In questo modo, chi non ha idea di cosa stiamo parlando, ce l\'avrà.
          Gabriele<br />http://www.gabrielevivinetto.it

          Comment

          • lucaG
            Senior Member
            • Oct 2008
            • 313

            #80
            Re: SCRIPT

            Ciao Pidi10, grazie per l\'esempio.
            Ho letto che faii la parte di codice in word e poi la incolli nello script.
            Voelvo chiedere se nel caso di strategie su diversi sosttostanti, crei più hedger, oppure, al fine di avere un unico "canale DDE" e unico "centro di controllo" inserisci tutto, sottostanti e opzioni in unico ambiente.
            Inoltre, penso che nel momento in cui crei script, la gestione del grafico di payoff "perda" di significato, in quanto i controlli dovrebbe essere fatti tramite calcoli, condizioni, ecc...
            E\' corretto quanto dico ?
            ciao
            grazie
            Luca

            Comment

            • pidi10
              Senior Member
              • Apr 2008
              • 4076

              #81
              Re: SCRIPT

              Luca
              io non ti ho postato alcun esempio perchè il post precedente è di Gabriele che conferma l\'interesse ad avere un esempio.

              tu dici
              Voelvo chiedere se nel caso di strategie su diversi sosttostanti, crei più hedger, oppure, al fine di avere un unico "canale DDE" e unico "centro di controllo" inserisci tutto, sottostanti e opzioni in unico ambiente.

              Non so cosa intendi per hedger né per canale dde né per centro di controllo. Credo che tu debba prima comprendere come funziona uno script e poi trarre le conseguenze sulla tua strategia. Prima di parlare di sottostanti multipli occorre che ne passi tanta di acqua sotto i ponti. Anche sotto quelli di IWBank che gestisce al massimo la connessione con 50 dde. Quindi io mi sono dovuto accontentare di un sottostante e di una sola scadenza di opzioni (cause la limitazione citata). Quindi se per hedger intendi il sottostante deputato all\'hedging il problema è risolto alla base. Il canale DDE è quello consentito da IWBank, bontà sua, cioè limitato a 50 collegamenti. Il centro di controllo è unico in quanto lo script è unico ed è quello che è deputato a tutti i controlli.

              tu dici
              Inoltre, penso che nel momento in cui crei script, la gestione del grafico di payoff "perda" di significato, in quanto i controlli dovrebbe essere fatti tramite calcoli, condizioni, ecc...
              La gestione del grafico di payoff lo la fa la suite ed è indipendente da tutto. I controlli se lavori a mano li fai anche guardando il payoff, ma se lavori con gli script, per definizione la strategia non deve essere controllata a vista. Cioè accendi il PC carichi la piattaforma, lanci la suite con lo script E TE NE VAI!!!!!

              esempio di brano di script (se è troppo tecnico occorre un corso per capire) Tieni presente che il mio mestiere non è il programmatore io programmo per hobby, a seguito di un esame dato all\'università nella facoltà di Economia e Commercio non di Informatica, e quindi sono un dilettante.
              QUESTO ESEMPIO CAIRCA NELLO SCRITP LE OPZIONI PRESETTATE NELLA SUITE + ALTRI CONTROLLI (NATURALMENTE LE VARIABILI SONO STATE INIZIALIZZATE PRECEDENTEMENTE)
              ‘CREA OPZIONI
              if(FutureTatticoValid=1) then
              ’Carica Calls
              COpt=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ,21,22,23,24,25,26,27,28,29,30]
              Index=0
              IndexCambio=0
              NumStrikeAttuale=0
              NumCalBarrieraSuperiore=0
              NcallRetroBS=0
              NcallPostRetBS=0
              Strike=DaStrike
              OpzioniAMercato=0
              CallShortAMercato=0
              IndexCallComprata= 99
              While Strike <= AStrike \'LunghezzaStrike
              NomeOpzione= "C @ " + floatToStr(Strike) + " " + Mese
              COpt[index]= TOption.getByName(NomeOpzione)
              ‘controlla se ci sono Call vendute a mercato
              If(Copt[index].quantita<0) then
              OpzioniAMercato=OpzioniAMercato+1
              CallShortAMercato= CallShortAMercato+1
              End if
              If(Copt[index].quantita>0) then
              IndexCallComprata= index
              End if
              If(Strike< StrikeCambioLunghezza) then
              LunghezzaStrike= LunghezzaStrikePreCambio
              Else
              LunghezzaStrike= LunghezzaStrikePostCambio
              End if
              Strike=Strike+ LunghezzaStrike
              Index=Index+1
              Wend
              NumeroOpzioni=Index+1


              ’Carica Puts
              Index=0
              PutShortAMercato=0
              POpt=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ,21,22,23,24,25,26,27,28,29,30]
              Strike=DaStrike
              NumPutBarrieraInferiore =0
              NPutRetroBI =0
              IndexPutComprata= 99
              NputPostRetBI=0
              While Strike <= AStrike \'LunghezzaStrike
              NomeOpzione= "P @ " + floatToStr(Strike) + " " + Mese
              POpt[index]= TOption.getByName(NomeOpzione)
              ‘controlla se ci sono Put vendute a mercato
              If(Popt[index].quantita<0) then
              OpzioniAMercato=OpzioniAMercato+1
              PutShortAMercato= PutShortAMercato+1
              End if
              If(Popt[index].quantita>0) then
              IndexPutComprata= index
              End if
              If(Strike< StrikeCambioLunghezza) then
              LunghezzaStrike= LunghezzaStrikePreCambio
              IndexCambio=Index+1
              Else
              LunghezzaStrike= LunghezzaStrikePostCambio
              End if
              If(sottos.L> Strike) AND(sottos.L< Strike+LunghezzaStrike) then
              NumStrikeAttuale=Index
              End if
              Strike=Strike+ LunghezzaStrike
              Index=Index+1
              Wend




              Comment

              • lucaG
                Senior Member
                • Oct 2008
                • 313

                #82
                Re: SCRIPT

                Ciao Pidi10,
                scusami ma prima non avevo leggo che era di Gabriele.
                Lo script che hai messo è interessante e lo valuterò con attenzione.
                Chiarisco alcuni punti, che comunque vedo hai compreso.
                Per hedger intendevo "l\'hedger" della suite dove metti una strategia, vedi il payoff, e in DDE ti viene aggiornata.
                Purtroppo conosco la limitazione di IW Bank e perunico canale, intendevo che inserendo in un unico script più sottostanti, oppure lo stesso sottostante con diverse scadenze, si potevano limitare i dati che venivano trasferiti (proprio in virtàù della limitazione)
                Hai chiarito bene l\'aspetto "lo carichi e te ne vai..." era proprio ciò che volevo leggere.. L\'intenzione è che lo script sia un trading system automatico di fatto, e quindi aspetti che ora vengono considerati importanti "quale il grafico di payoff a vista", in ottica script divengono meno rilevanti (o per nulla), in quanto la gestione deve essere automatica, e condizionata dal codice, non dalla presenza operatore.
                E\' indubbio che l\'aspetto fondamentale è sapere cosa mettere nella strategia, e qui entra in gioco la competenza nel campo opzioni.
                Ti ringrazio molto dell\'esempio, lo studierò con attenzione.
                ciao
                grazie

                Comment

                • pidi10
                  Senior Member
                  • Apr 2008
                  • 4076

                  #83
                  Re: SCRIPT

                  Luca tu dici
                  Purtroppo conosco la limitazione di IW Bank e per unico canale, intendevo che inserendo in un unico script più sottostanti, oppure lo stesso sottostante con diverse scadenze, si potevano limitare i dati che venivano trasferiti (proprio in virtàù della limitazione)

                  Lo script dovrebbe essere in grado di pilotare la strategia fino a scadenza opzioni, e non si sa dove andrà a finire il prezzo del sottostante. Quindi si è obbligati a caricare nella suite le opzioni di più strike possibili in quanto si potrebbe essere costretti ad operare su di esse. Poi moltiplica per due, Call e Put, e a 50 fai presto ad arrivarci-

                  Lo script è un mezzo potentissimo, ma la suite non è nata per ospitare gli script, anche se è stata una fortuna che fossero comunque previsti. Da questa considerazione nascono i possibili scenari futuri dello script.

                  Ciao
                  Pietro

                  Comment

                  • lucaG
                    Senior Member
                    • Oct 2008
                    • 313

                    #84
                    Re: SCRIPT

                    Ciao Pietro,
                    concordo con quanto dici.
                    E\' necessario un linguaggio che permetta di interfacciarsi non con il DDE, ma direttamente tramite le API al flusso dati (un po\' ciò che offre IB per esempio).
                    La suite è un ottimo strumento, il problema è la limitazione che i broker impongono.
                    Per esempio, fino ad ora ho gestito alcuni segnali operativi e controlli con il classico foglio excel...e già li noti le difficoltà di connessione, e l\'impossibilità di controllarla al meglio.
                    Una cosa che proponevo era di una suite che facesse solo da collettore dati (quindi al di fuori del DDE, ma con accesso diretto ad una fonte dati) che permettesse di bypassare il limite che ha il dde, che hanno i broker, e che fosse orientato a chi voleva gestire il trading automatico.
                    Stavo leggendo lo script e ti farò avere le mie considerazioni...e domande soprattutto.
                    ciao
                    grazie

                    Comment

                    • GabrieleV
                      Senior Member
                      • Mar 2008
                      • 299

                      #85
                      Re: SCRIPT

                      Originariamente Scritto da galimberti
                      E\' necessario un linguaggio che permetta di interfacciarsi non con il DDE, ma direttamente tramite le API al flusso dati (un po\' ciò che offre IB per esempio).
                      C\'è, c\'è .... non ce l\'avete ancora ma c\'è :whistle:
                      Gabriele<br />http://www.gabrielevivinetto.it

                      Comment

                      • lucaG
                        Senior Member
                        • Oct 2008
                        • 313

                        #86
                        Re: SCRIPT

                        Ciao Gabriele, e c\'è un modo per averlo ?
                        ciao
                        grazie
                        Luca

                        Comment

                        • lucaG
                          Senior Member
                          • Oct 2008
                          • 313

                          #87
                          Re: SCRIPT

                          Originariamente Scritto da pidi10
                          Luca tu dici
                          Purtroppo conosco la limitazione di IW Bank e per unico canale, intendevo che inserendo in un unico script più sottostanti, oppure lo stesso sottostante con diverse scadenze, si potevano limitare i dati che venivano trasferiti (proprio in virtàù della limitazione)

                          Lo script dovrebbe essere in grado di pilotare la strategia fino a scadenza opzioni, e non si sa dove andrà a finire il prezzo del sottostante. Quindi si è obbligati a caricare nella suite le opzioni di più strike possibili in quanto si potrebbe essere costretti ad operare su di esse. Poi moltiplica per due, Call e Put, e a 50 fai presto ad arrivarci-

                          Lo script è un mezzo potentissimo, ma la suite non è nata per ospitare gli script, anche se è stata una fortuna che fossero comunque previsti. Da questa considerazione nascono i possibili scenari futuri dello script.

                          Ciao
                          Pietro
                          Ciao Pietro,
                          ragionando sullo script, o su qualunque soluzione di trading system, il problema non è il linguaggio, ma "piuttosto" la logica da applicare.
                          Sto dicendo cose banali, ma volevo chiederti se hai qualche riferimento da consigliarmi, (siti internet, qualche lettura, ecc..) che possa aiutarmi in questo.
                          ciao
                          grazie
                          Luca

                          Comment

                          • GabrieleV
                            Senior Member
                            • Mar 2008
                            • 299

                            #88
                            Re: SCRIPT

                            Originariamente Scritto da galimberti
                            hai qualche riferimento da consigliarmi, (siti internet, qualche lettura, ecc..) che possa aiutarmi in questo.
                            Non centra nulla con la suite, ma l\'ho trovato interessante come testo introduttivo:
                            Building Winning Trading Systems with TradeStation (Wiley) - John R. Hill, George Pruitt
                            Gabriele<br />http://www.gabrielevivinetto.it

                            Comment

                            • pidi10
                              Senior Member
                              • Apr 2008
                              • 4076

                              #89
                              Re: SCRIPT

                              Le API di IB si possono collegare anche tramite DDE, con il vantaggio rispetto a IWBank che lo fanno in automatico senza l\'inefficiente meccanismo utilizzato da IWBank (per il quale comunque io ho messo a punto un metodo semi automatico per caricare i DDE senza passarli uno per uno come si è obbligati a fare nella suite).
                              Il foglio excel se usato bene non presenta alcuna difficoltà di connessione.
                              Il limite non è del DDE ma di IWBank, IB non ce l\'ha.
                              Io al momento, fortemente demoralizzato dalla tempistica con cui mi sono arrivate, o meglio dire non mi sono arrivate, le risposte inerenti le soluzioni delle problematiche della suite (ad oggi ancora non riesce a mandare a mercato le opzioni senza impazzire) ho messo a punto un mio programma per la gestione automatica delle mie strategie che opera su Excel, quindi ho tradotto tutti i miei script per l\'ambiente Excel e fino ad ora tutto funziona in modo sufficientemente efficiente. Quindi conosco bene le potenzialità di Excel quando sono sfruttate a fondo con la programmazione. E se qualche cosa non va sono in grado da solo di lavorarci, magari di notte o di domenica per risolvere il problema. E questa è una comodità che per me vale molto di più ad esempio della grafica. E\' chiaro che le analisi continuo a farle con la suite, che ancora a tale fine preferisco (ma è un fatto personale dovuto alla familiarità acquisita con la suite) a Fiuto anche perchè gestisce il portafoglio e mi resta più facile operare simulazioni variandolo.
                              Quello che accadrà nel futuro dipende dai programmatori, io sono un semplice utilizzatore pionieristicamente pronto a rivalutare tutto al momento in cui le soluzioni delle problematiche che interessano me (gestione degli script) raggiungano livelli di sufficienza.

                              Comment

                              • pidi10
                                Senior Member
                                • Apr 2008
                                • 4076

                                #90
                                Re: SCRIPT

                                Luca tu dici
                                ragionando sullo script, o su qualunque soluzione di trading system, il problema non è il linguaggio, ma "piuttosto" la logica da applicare.
                                Sto dicendo cose banali, ma volevo chiederti se hai qualche riferimento da consigliarmi, (siti internet, qualche lettura, ecc..) che possa aiutarmi in questo.

                                Ti posso dare il riferimento che ho usato io, si chiama:
                                Tiziano Cagalli,
                                anche in qualità di traduttore del libro di Fontanilis.

                                Comment

                                Working...