Announcement

Collapse
No announcement yet.

Iniziare con Zorro

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Iniziare con Zorro

    Ciao a tutti,
    in alcune discussioni sembra essere nato l'interesse in alcuni membri per questa piattaforma di trading dedicata al trading automatico.
    http://zorro-project.com/

    Ecco quindi una discussione dedicata a chi vuole avvicinarsi a questo mondo. Per quanto utilizzo e programmo questa piattaforma da circa 2 anni, ne conosco e utilizzo solo una minima parte delle sue caratteristiche. Perdonate quindi errori ed omissioni. In altre parole non sparate sul pianista!

    Zorro sta a MT4, Multicharts, Tradestation,... come un vegano sta a una costata. Semplicemente sono due mondi praticamente distinti. Tanto distinti che la fatica più grande l'ho fatta proprio perchè, venendo da MT4, cercavo similitudini, analogie,... bene non ce ne sono, a parte il fatto che entrambi permettono di mandare ordini di acquisto e vendita a un broker. Sia inteso il linguaggio è simile nella sintassi a MQL o a EasyLanguage. Per il resto cambia tutta la logica.

    Quindi dimenticate grafici, indicatori variopinti, etc, etc qui di grafica ne troverete molto poca, in cambio troverete la miglior piattaforma per fare trading automatico, cioè caricarla su una vps e farla lavorare per mesi senza toccarla. Con Zorro non è possibile fare nessun tipo di trading manuale.

    Qui trovate una comparazione tra Zorro e altre piattaforme di trading automatico: http://zorro-project.com/faq.php#comparison
    La tabella dice molto, ma forse non dice la cosa per me più importante: Zorro consente di sviluppare, testare e tradare Trading System composti da 10 algoritmi che operano su 10 asset differenti. In altre parole si possono sviluppare TS composto da centinaia di TS che operano contemporaneamente.

    Bene iniziamo. Compilate il formulario e scaricate la piattaforma da questo link:
    http://zorro-project.com/download.php
    scaricate anche, sempre dalla stessa pagina, lo Z History Editor: http://server.conitec.net/down/ZHistoryEditor.zip
    e tutti i file di dati contrassegnati da M1 stiamo parlando di tanti dati quindi un po' di tempo vi ci vorrà. Ci sono anche i dati T1, ma servono per chi fa scalping e vuole lavorare su timeframe da 100ms a un minuto. Direi non necessari per un primo approccio alla piattaforma.

    Sono tutti i dati dati storici che vengono messi a disposizione da Zorro. La piattaforma permette di scaricare dati dai Broker, da Yahoo e con la prossima release anche da Quandl: https://www.quandl.com/

    Installate Zorro. Scompattate i file M1 nella directory History che troverete all'interno della directory di installazione del programma. Fatto tutto, lanciate Zorro.






    Vi comparirà una finestra dall'aspetto molto "old fashion" divisa in 4 aree distinte:Broker: qui inserirete i dati per accedere al vostro Broker. Per il momento non toccate nulla
    Strategy: Qui sceglieremo quale script usare. Selezionate dal Pull Down Menu: Workshop6_2 . Guardate pure i diversi slider sotto, ma lasciate tutto così e passate al blocco successivo.
    Pulsantiera: Premete Train

    Appena premuto nelle due aree successive vedrete comparire una serie di scritte. Aspettate pazientemente che finisca il tutto. circa 10 minuti, a seconda della velocità del vostro PC.

    Alla fine del processo vedrete comparire una finestra nel browser contenente una serie di istogrammi rossi e blu.



    Se per caso ha nascosto la finestra principale di Zorro rimpicciolite il browser al momento ci interessa quella.

    Bene, avete fatto:
    • il train ed il test di due TS uno di trend following e uno di mean reverse
    • I due TS hanno operato su due Asset EUR/USD e USD/JPY
    • Il time frame prescelto è 60 Minuti
    • Per un periodo di 10 anni dal 2005 al 2015
    • Il test è stato effettuando una WFA di 10 periodi
    • Il risultato è stato poi sottoposto all'analisi di Montecarlo per ottenere dei risultati più sicuri da un punto di vista statistico
    • Avete reinvestito i profitti del TS secondo la regola della radice quadrata del profitto.

    Premete dalla pulsantiera di Zorro il bottone Edit. SI aprirà l'editor di Zorro mostrandovi il codice del TS che avete appena utilizzato dategli un'occhiata.
    Premete il bottone Result vi comparirà il grafico dell'equity del TS che avete appena testato e un nuovo file nell'Editor con i dettagli del Test.



    Ora dovreste porvi una serie di domande (le stesse che mi sono posto io):
    • E' questo il tipo di trading che mi interessa?
    • Quanto codice dovrei scrivere nella mia attuale piattaforma per ottenere questo risultato?
    • Quanto ci metterei a fare il training su 10 anni di due TS su 2 Asset, su dati OOS applicando ai risultati l'analisi di Montecarlo, componendo i risultati in modo da capire come si comporterebbero i due TS tradandoli in contemporanea in modo da ottimizzare il capitale di trading disponibile?

    Se vi interessa approfondire vi consiglio di iniziare da qua: http://zorro-project.com/manual/
    La sezione in fondo "Playing around with Zorro", vi dirà come proseguire in base alle vostre preferenze "didattiche".

    Se avete domande e commenti cercherò di rispondervi. Proverà a inserire anche delle immagini. Per rendere più chiaro il tutto, ma devo ancora capire come si fa...

    Ciao
    Last edited by MatteoP; 14-12-2016, 00:08.

    #2
    --- Uso futuro

    Comment


      #3
      --- Uso Futuro

      Comment


        #4
        Interessante.... penso piacerebbe a molti esplorare possibilità diverse da Metatrader.
        Alcune domande :
        1 .è possibile importare facilmente indicatori sviluppati su MT4 ?
        2. è possibile sviluppare expert advisor che lavorano su + valute contemporaneamente e farne il backtest ?
        3. come si importano/utilizzano i dati storici ? ( se volessi usare quelli di Pepperstone x esempio )
        4. ho scaricato i dati M1 e li ho messi nella directory History di Zorro. Nella maschera principale però non si vedono le nuove valute ma solo quelle di
        default.Perchè ?

        Grazie, Andrea
        Last edited by AndreaTrade; 11-12-2016, 20:41.

        Comment


          #5
          ciao Matteo....
          ho passato gli ultimi 2 giorni a leggermi il manuale e devo dire che sono veramente impressionato dalle possibilità di questa piattaforma...
          Sono rimasto un pò deluso su come controlla gli ordini e sulla aprossimativa simulazione delle strategie.... ma è comprensibile visto tutte le possibilità che ha nel campo della ricerca e valutazione dei TS.... poi la precisione è al pip e non al point...
          ... quindi se mi confermi queste mie prime impressioni te ne sarei grato....

          Comment


            #6

            Riguardo alla precisione è al 4 decimale. Probabilmente il PIP che vedi negli esempi è solo un modo per rendere semplice lo sviluppo delle strategie semplice quando non hai necessità di controllare l'ultimo decimale. E' stato recentemente chiesto di avere il controllo sino al 5 decimale e sembra che sarà incluso in una delle prossime release.
            Sul controllo degli ordini puoi fare veramente quello che vuoi. I meccanismi più comuni di TRAIL sono semplificati ed attivabili mediante FLAG. Se non ti soddisfano puoi passare alla funzione di apertura ordini un puntatore ad una funzione TMF (trade management Function) che fa fare alla trade tutto quello che vuole. C'è una sezione apposta del manuale ecco un esempio tratto da quella sezione:
            Code:
             
             // TMF with parameters, for a Chandelier Stop int Chandelier(var TimePeriod,var Multiplier) { 	if(TradeIsLong)     TradeStopLimit = max(TradeStopLimit,ChandelierLong(TimePeriod,Multiplier));   else     TradeStopLimit = min(TradeStopLimit,ChandelierShort(TimePeriod,Multiplier));   return 8; // only update once per bar }  function run() {   ...   if(LongSignal) {     Stop = ChandelierLong(22,3);     enterLong(Chandelier,22,3);   }   ... }
            Ciao

            Comment


              #7
              Grazie della risposta Matteo...
              .... per controllo dell'ordine mi riferivo alle volte da provare se un'ordine non è immediatamente eseguito (tempo di risposta) o se ad esempio il contest is busy (come da funzioni specifiche in mt4...) ma questo non è un grave problema... lol
              .... ah un'altra cosa.... mi confermi che basta copiare la cartella intera del programma per poterlo utilizzare su un'altra macchina?

              Comment


                #8
                sì copia incolla, ti consiglio di creare una cartella unica per i dati modificando lo zorro.ini risparmierai molto spazio. Sopratutto su una VPS è una gran comodità. Ricordati invece che i file che caratterizzano gli asset, gli account e quindi i diversi broker devono risiedere nella directory History di ogni singolo zorro, ma sono file csv che pesano poco.
                Non so risponderti alla domanda, a naso, direi che non si tratta di una funzione standard, ma non credo che sia un problema costruirsela.

                Comment


                  #9
                  Originally posted by ilgrigio View Post
                  [...]
                  per controllo dell'ordine mi riferivo alle volte da provare se un'ordine non è immediatamente eseguito (tempo di risposta) o se ad esempio il contest is busy (come da funzioni specifiche in mt4...) ma questo non è un grave problema.
                  [...]
                  Nei backtest della Zorro sia nelle entrate che nelle uscite (anche per TP o SL) il ritardo di esecuzione c'è ed è settato di default a 5 secondi.
                  Per non usarlo o decidere di usare diversi ritardi bisogna cambiare i valori delle variabili Slippage (nei backtest) e Fill (sia nei backtest che nelle ottimizzazioni).
                  Skype: cadddami

                  Comment


                    #10
                    Matteo,

                    cortesemente potresti, quando hai tempo, rispondere ai miei quesiti al post N 4 ?

                    Grazie

                    Comment


                      #11
                      Ciao Andrea,
                      mi ero perso il tuo messaggio...
                      1) Nessuna conversione automatica degli indicatori che io sappia. Sicuramente puoi codificarli facilmente. Tieni presente che gli indicatori standard di MT4 sono molto meno di quelli in Zorro, Inoltre non sono "corretti" nel senso che hanno delle differenze nella modalità di calcolo rispetto ad altre piattaforme, non li userei e molto probabilmente presenteranno differenze nei valori risultanti.
                      2) Non hai letto l'esempio? Zorro fa esattamente quello. Il primo post è un esempio: un EA composto da due EA che lavorano ciascuno su due Asset. In pratica un EA composto da quattro EA...
                      3) devi convertirli nel formato di Zorro ci sono esempi nel manuale. Non so dirti di più ho aperto un account su Oanda perchè mi permette di scaricare tutti i dati senza problemi. Valuta bene se il gioco vale la candela.
                      4) Per far vedere a Zorro più Assets devi modificare il file AssetFix.csv nella directory Hystory oppure definire un file diverso di Asset nello script settando la variabile AssetList. Leggi bene questa parte sul manuale è molto diverso dalla logica di Mt4, ma è anche molto più potente.

                      Ciao

                      Comment


                        #12
                        Ciao Matteo,

                        grazie per la risposta.
                        Ho cominciato ad esercitarmi con Zorro seguendo il tuo primo post. Un insormontabile limite che vedo è però nell'analizzare le trade e verificare se sono state eseguite correttamente ( come da idea del programmatore ) perchè l'immagine prodotta dopo aver premuto il pusante Result non permette di fare un corretto "debug" come nel backtest di MT4 ( dove puoi ingrandire i trade , vedere se sono stati eseguiti nel punto giusto, se lo stop loss è stato piazzato correttamente etc.. ).

                        Se sbaglio o se c'è una via x poter analizzare meglio i trade eseguiti ... correggimi.

                        Grazie, andrea

                        Comment


                          #13
                          Sì e no.
                          Sì, hai ragione non c'è nulla di così intuitivo dell'esecuzione passo passo di Mt4
                          No, ci sono tutte le funzioni per analizzare le trade in dettaglio e sono più sofisticate di quelle mt4.

                          Credo che però il tema sia diverso. Zorro non è alternativo a MT4. E' un'altra cosa. Se cerchi di usare uno al posto dell'altro semplicemente sbagli approccio e mi permetto di dirtelo perché è l'errore che ho fatto anche io. Vedila così: se il tuo obiettivo (che è quello di un tipico trader algoritmico) è costruire un TS composto da una decina di algoritmi su un altrettanti di asset distinti (stiamo parlando di 100 EA che funzionano contemporaneamente) delle funzioni grafiche di Mt4 non te ne fai nulla. Hai bisogno di file di log che seguono l'evoluzione della singola trade che siano fruibili tanto nella fase di sviluppo e test che di trading. La funzionalità in Mt4 a cui ti riferisci, la puoi implementare facilmente, ricordo un esempio recente comparso sul forum, non è "di serie" semplicemente perché è poco utile se fai trading algoritmico.

                          Un esempio per tutti: Le funzioni crossUnder e crossOver che definiscono l'ingresso Long o Short nell'algoritmo riportato di mean reverse, non è controllabile con esattezza su un grafico di Mt4 (in realtà di tutti i grafici di tutte le piattaforme, Zorro compreso). L'unico modo di farlo è stampare i valori e confrontarli calcolatrice o excel alla mano.

                          Zorro è molto meglio di Mt4 se fai trading algoritmico. Mt4 è molto meglio di Zorro per fare trading manuale, magari assistito da qualche EA per migliorare l'operatività. In base a che trader sei, scegli la piattaforma giusta.

                          Comment


                            #14
                            Originally posted by AndreaTrade View Post
                            [...]
                            Un insormontabile limite che vedo è però nell'analizzare le trade e verificare se sono state eseguite correttamente ( come da idea del programmatore ) perchè l'immagine prodotta dopo aver premuto il pusante Result non permette di fare un corretto "debug" come nel backtest di MT4 ( dove puoi ingrandire i trade , vedere se sono stati eseguiti nel punto giusto, se lo stop loss è stato piazzato correttamente etc.. ).
                            [...]
                            Ho visto quello che ha scritto Matteo e condivido tutto quello che dice al 100%.

                            Lo zoom dell'immagine finale dei risultati della Zorro è personalizzabile prima di creare l'immagine appunto.
                            Per decidere la dimensione dei risultati devi cambiare il parametro PlotWidth che di default è a 2000 pixel.
                            Più è alto il valore, più il grafico è ingrandito/allargato al momento della creazione dell'immagine dei risultati.
                            Ad esempio con 20000 pixel di lunghezza puoi vedere bene le candele di un intero anno a 4 ore.

                            Nel link al manuale che ti ho messo sopra ci sono spiegati anche tutti gli altri parametri che puoi usare per fare test mirati a vedere se il sistema funziona bene.
                            Skype: cadddami

                            Comment


                              #15
                              Matteo, Damiano,

                              grazie per le risposte. Il mio dubbio era relativo al fatto di cambiare piattaforma visto che MT4 da quanto ho capito sopravviverà poco.
                              Io sono un programmatore della Domenica e ci ho messo un bel pò ad impararre qualcosa su MT4. Non ho molto tempo da dedicare a questa attività ( per il momento è solo un gioco visto che non ho ancora trovato qualcosa di decente da mandare in real) e quindi decidere se migrare su MT5 o su Zorro impliccherebbe tante ore di studio.
                              Imparare due nuovi linguaggi lo vedo molto impegnativo e quindi preferirei concentrare i miei sforzi su una sola piattaforma.

                              Accetto consigli,

                              grazie Andrea

                              Comment

                              Working...
                              X