Announcement

Collapse
No announcement yet.

StrategyQuant e i software di programmazione genetica di trading system

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

    #46
    Originally posted by umbertosm View Post
    Matteo, vista la grande esperienza che hai con il tool Zorro potresti aprire un thread apposito e dettagliarci

    sarebbe molto utile alla community

    Azzzz.... vedo solo ora... Non credo di avere molto da insegnare. Come ho detto in un altro post il problema principale di Zorro è la community piccola e quindi poco materiale a disposizione anche se spesso è qualità. Ad ogni modo se qualcun'altro è interessato posso farlo, ma solo se c'è qualcuno che già usa la piattaforma o vuole iniziare ad usarla in caso contrario non ha senso. Purtroppo non ho molto tempo a disposizione,...
    Last edited by MatteoP; 15-03-2016, 23:44.

    Comment


      #47
      Originally posted by MatteoP View Post
      Come ho detto in un altro post il problema principale di Zorro è la community piccola e quindi poco materiale a disposizione anche se spesso è qualità. Ad ogni modo se qualcun'altro è interessato posso farlo, ma solo se c'è qualcuno che già usa la piattaforma o vuole iniziare ad usarla in caso contrario non ha senso. Purtroppo non ho molto tempo a disposizione,...
      SI, dubito che in questo forum ci sia qualcuno che sta usando Zorro, certo è che se la comunità di italiani che usano questo software non prova a rendere tutto più fruibile con tutorial, Zorro rimarrà nella micronicchia per pochi cultori.
      La vita non è un giro di prova, cogli l’attimo..
      Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

      Comment


        #48
        Originally posted by sergiot View Post
        Mi chiedevo se fosse più rapido applicare il settaggio proposto dal creatore per EURUSD e GBPUSD (H1)
        al seguente link:
        http://www.strategyquant.com/article...ding%20process
        Cosi partendo da una base, si potrebbero eseguire delle piccole correzioni in base all'esperienza di ognuno.
        Certamente Sergio, chi vuole usare SQ è bene che si legga tutti gli articoli, alcuni molto ben fatti, offerti dal sito di Mark Fric.

        Il mio tutorial è un contributo extra, visto che non c'è da nessuna parte una guida che spieghi passo passo in italiano cosa contengono le schede e come vanno usate/interpretate.
        La vita non è un giro di prova, cogli l’attimo..
        Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

        Comment


          #49
          Originally posted by umbertosm View Post

          SI, dubito che in questo forum ci sia qualcuno che sta usando Zorro, certo è che se la comunità di italiani che usano questo software non prova a rendere tutto più fruibile con tutorial, Zorro rimarrà nella micronicchia per pochi cultori.
          l tutorial c'è ed è anche molto ben fatto. Penso che il primo problema sia il nome. Personalmente mi fa strano dire che per fare trading uso Zorro...

          Comment


            #50
            Originally posted by sergiot View Post
            Buonasera,
            complimenti per l'ottimo lavoro e per il tempo professionale che Umberto ci sta regalando a tutti noi del forum.
            Ho eseguito una prima configurazione di SQ, ma ho riscontrato problemi di incompatibilità del settaggio.
            Infatti il programma, dopo l'avvio, mi restituisce population generation error "Please check the settings".

            Mi chiedevo se fosse più rapido applicare il settaggio proposto dal creatore per EURUSD e GBPUSD (H1)
            al seguente link:
            http://www.strategyquant.com/article...ding%20process
            Cosi partendo da una base, si potrebbero eseguire delle piccole correzioni in base all'esperienza di ognuno.

            Ciao, Sergio

            Puoi inserire qualche screenshot del tuo problema?

            Il settaggio illustrato in StrategyQuant è solo un esempio senza pretese per iniziare a ragionare su alcune funzioni del software.

            Come scrive giustamente Umberto, che ha fatto un lavoro eccellente : " Il mio tutorial è un contributo extra, visto che non c'è da nessuna parte una guida che spieghi passo passo in italiano cosa contengono le schede e come vanno usate/interpretate ".

            Il problema è proprio questo : Prima fase, bisogna comprendere/interpretare le schede ; Seconda fase, come equilibrare ed indirizzare al meglio le ricerche di SQ nelle combinazioni dei settings per evitare al minimo i classici errori di overfitting che si possono manifestare nelle strategie ; Terza fase, comprendere le schede IMPROVE / OPTIMIZER ( Quest'ultima, veramente tosta ) .




            Last edited by Cray; 16-03-2016, 09:35.

            Comment


              #51
              Ciao Maurizio,
              ti invio quello che il programma mi restituisce dopo pochi secondi di ricerca strategie, con una prima bozza di settings.
              Attached Files

              Comment


                #52
                questo errore l'ho ottenuto pure io su un PC vecchiotto, come se si stancasse e non riuscisse a generare tutte le strategy che formano la popolazione iniziale.

                Non credo dipenda dal setting come dice il messaggio di errore, ma credo (credo :26.worried_80_anim_) ...sia soltanto un bug temporaneo di StrategyQuant.

                Prova a spegnere SQ e riavviarlo con più o meno RAM e con lo stesso setting.

                Io ho caricato il tuo setting 2016-03-14 prime prove.xml nel mio SQ ed ha generato la initial population (60 strategy poi decimate con coefficiente 3) e le generazioni successive di 20 membri ciascuno.
                La vita non è un giro di prova, cogli l’attimo..
                Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                Comment


                  #53
                  Sergio, a proposito del messaggio che SQ ti ha dato, ho appena avuto una conferma, su un altro mio PC, che il messaggio che ho riscontrato anche io nella fase iniziale e che ferma il processo, vuole dire che
                  in funzione della potenza del processore e della RAM del computer, le condizioni di costruzione della popolazione iniziale sono troppo stringenti: SQ si rende conto che per costruire la popolazione iniziale impiegherebbe troppo tempo e perciò ferma il processo di costruzione e stampa quel messaggio!

                  In pratica SQ ti dice di rendere la costruzione della popolazione iniziale molto più veloce, perché sarà poi la generazione delle popolazioni successive a far evolvere le strategie affinché performino come vuoi, alla ricerca della massimizzazione della funzione di fitness.

                  Nella logica di chi ha sviluppato StrategyQuant,

                  - se la popolazione iniziale viene costruita randomicamente, le condizioni di filtro della popolazione iniziale devono essere molto leggere, affinché la costruzione della popolazione iniziale sia molto veloce,

                  - se invece l'utente vuole partire con strategie già buone nella popolazione iniziale, SQ ti propone Use systems from Databank as initial population (nella sezione Genetic Options)


                  cannotGenerate.jpg
                  La vita non è un giro di prova, cogli l’attimo..
                  Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                  Comment


                    #54
                    Grazie Umberto,
                    a proposito delle configurazione hardware per l'evoluzione genetica, vorrei sapere, se è possibile lavorare con l'ausilio di GPU performanti come per esempio, quelle messe a disposizione dalla nvidia (http://www.nvidia.it/object/cuda-par...puting-it.html) per l'aumento delle prestazioni.

                    Comment


                      #55
                      Originally posted by sergiot View Post
                      a proposito delle configurazione hardware per l'evoluzione genetica, vorrei sapere, se è possibile lavorare con l'ausilio di GPU performanti come per esempio, quelle messe a disposizione dalla nvidia (http://www.nvidia.it/object/cuda-par...puting-it.html) per l'aumento delle prestazioni.
                      Qui c'è un bell'articolo recente di Daniel Fernandez a riguardo

                      Trading and the GPU: The super power that almost no one uses

                      I processori grafici sono costruiti per funzionare con logiche diverse da quelle delle CPU e quindi per riuscire ad usare efficientemente le GPU, dovrà essere riscritto da zero il codice sorgente dei software che le utilizzeranno.

                      The GPU technology was created to be very efficient at things like vector and matrix operations but this makes them very inefficient in terms of other things like conditional operations and random memory access operations. Introducing things like double loops and random access patterns is hell for the GPU. Say you want to evaluate a system where you want to use a moving average with a period of 20, doing a constant recalculation of an average using the past 20 bars is very bad for the GPU and if you do this you’re bound to have code that is just as slow as the code on your CPU.
                      La vita non è un giro di prova, cogli l’attimo..
                      Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                      Comment


                        #56
                        Come si esporta una strategy da StrategyQuant a Metatrader4

                        Al di là delle performance che una strategy può realizzare su SQ, se non riusciamo a replicarla usando Metatrader4 non ci facciamo nulla, se non autoesaltarci di aver trovato un holy grail virtuale, totalmente inutile!

                        E qui "casca l'asino" di SQ perché si verificano spesso delle incongruenze frustranti
                        - tra la performance vincente su SQ di una strategy .str
                        - e quella deludente su Metatrader4 quando si esporta la strategy di SQ in codice sorgente metaquote language 4 .mq4 per Metatrader4

                        Comunque, vediamo come si procede.


                        Siamo in Build strategies e supponiamo di aver ottenuto una strategy che ci soddisfa, la 4.11 in figura
                        su range temporale dal 2 gennaio 2015 al 31 gennaio 2016, su timeframe H1 con Test precision Selected Timeframe only (fastest).
                        .




                        Spostiamo la strategy in Retest strategies
                        .




                        Eseguiamo il Retest e visualizziamo la equity line e la overview
                        .






                        Vogliano ora esportare la strategy su Metatrader4 e vedere se anche su questa piattaforma otteniamo la stessa performance.
                        Per prima cosa salviamo la strategy in una cartella: salvare i setting e le strategy è la prima cosa da ricordare quando si usa SQ!
                        .




                        Ora nella sezione Result - Source code esportiamo la strategy in un file .mq4 per Metatrader4
                        .




                        A pagina 12 del manuale è spiegato cosa necessita Metatrader4 per far funzionare le strategy esportate: bisogna copiare alcuni file nella cartella indicators.
                        Poiché Metatrader4 da febbraio 2014 con le built 600+ ha cambiato la logica della disposizione delle cartelle, bisogna avere l'accortezza di capire DOVE copiare i file, in funzione di dove è presente Mt4 sul proprio computer.
                        .





                        Sui miei computer ho la situazione classica ed io procedo come segue.
                        Copio gli indicatori di SQ dentro la cartella Indicators come in figura
                        .




                        Quindi copio la strategy esportata, Strategy 4.11.mq4 nella cartella Expert di Metatrader4
                        .




                        Poi si apre il MetaEditor ( metaeditor.exe ) e si compila l'expert advisor
                        .




                        Si verifica l'avvenuta creazione del file compilato .ex4
                        .




                        Si apre quindi la piattaforma e si seleziona nel Tester lo stesso range di dati dal 2 gennaio 2015 al 31 gennaio 2016 su Period H1 con identico Spread imposto di 10 point = 1 pip
                        e Mode: Open prices only / Solo prezzi di apertura
                        .




                        Si esegue il backtest e si riesce ad ottenere spesso, ma non sempre, una equity line che spannometricamente assomiglia a quella realizzata su StrategyQuant
                        con Net Profit, profit factor e forma della equity che sono molto vicini all'originaria su SQ.
                        .
                        .




                        A volte i trade coincidono anche al centesimo, ma mai per tutti i trade: ci sono trade realizzati dalla strategy su SQ che non vengono fatti dal codice corrispondente su Metatrader4 e viceversa; oppure ci sono trade su SQ che realizzano profit/loss diversi dai corrispondenti su Metatrader4.
                        In figura un caso fortunato.
                        .
                        La vita non è un giro di prova, cogli l’attimo..
                        Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                        Comment


                          #57
                          Diverso è il discorso se verifichiamo l'andamento
                          della strategy su StrategyQuant con Test precision : Tick simulation (slowest)
                          con l'expert advisor su Metatrader4 in modalità : Every tick / Ogni tick
                          In questo caso per alcune strategy si ottengono equity line molto simili, per altre strategy invece situazioni molto diverse!


                          Ad una strategy ben performante su StrategyQuant in Tick simulation con Profit factor di 2.17
                          .




                          ...corrisponde una equity line deludente su Metatrader4 in Every tick con Profit factor di 1.08
                          .





                          Usando gli stessi identici dati storici caricati su SQ e su Mt4, e con gli stessi identici setting di range dei dati e timeframe su SQ e Mt4,
                          le presunte cause delle disparità di performance tra SQ e Mt4 sono le più disparate:
                          - bug eventuali di StrategyQuant quando realizza trade simulati con il proprio algoritmo
                          - errori eventuali di esportazione della strategy in codice per Metatrader4 che quindi realizza trade diversi
                          - arrotondamenti dei valori di profit/loss diversi tra SQ e Mt4
                          - diversità di trattamento dei trade pendenti STOP e LIMIT tra SQ e Mt4
                          - diverso Stop Level tra SQ e Mt4 : su SQ è settabile con la voce Setting - Data - Min distance of order from price, mentre su Mt4 NON è settabile
                          Il forum di strategyquant.com riporta molti casi di utenti insoddisfatti dalle disparità di performance.
                          Qui uno dei tanti esempi.


                          Come si risolve? Non lo so ancora...

                          Qui mi piacerebbe sentire le opinioni / suggerimenti / scoperte / ecc. ecc. di altri utenti esperti di StrategyQuant!
                          La vita non è un giro di prova, cogli l’attimo..
                          Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                          Comment


                            #58
                            Ciao a tutti
                            In primis vorrei fare i miei complimenti ad Umberto per questo tutorial su SQ... Garantisco che molte delle cose che egregiamente spiega non le trovate da nessun parte...
                            Detto questo , anche se ad oggi purtroppo non posso dare soluzioni certe ed aggiuntive rispetto alle potenziali cause che Umberto ha esaustivamente elencato, volevo aggiungere che questa "non esatta corrispondenza" che qualche volta si registra in BT fra Mt4 ed SQ spesso si verifica quando la strategia prevede ordini pendenti sell/buy e parametri di SL/TP abbastanza stretti (più o meno inferiori ai 15 pip)... Cioè' onestamente con parametri un po' più ampi ed entrate dirette a mercato difficilmente ho avuto notevoli incongruenze di BT .

                            Tuttavia , se devo dirla tutta , ora mi pongo un po' meno il problema....in fondo in passato anche un altro trader di comune conoscenza ,senza darci tante spiegazioni ,ci ammoniva che se a parità' di storico questa esatta corrispondenza non c'era significava che comunque "c'era qualcosa di strano nella strategia" .... Quindi io oggi semplicemente utilizzo l'analisi di questa corrispondenza fra SQ ed MT4 come un ulteriore filtro per validare la strategia.

                            In sostanza se i BT con precisione al tick non corrispondono quasi alla perfezione scarto le Str a priori senza neanche metterle in demo... Cioe' passati tutti i filtri ,che in qualche modo da manuale cercano di garantirci robustezza e no-overfitting ,mi assicuro che
                            1) vi sia esatta corrispondenza fra BT di SQ e Mt4
                            2) vi sia esatta corrispondenza fra i risultati a mercato ottenuti in Demo e i BT effettuati " a ritroso sia su SQ che su Mt4.

                            Mi dispiace non poter essere maggiormente d'aiuto ,ma di fatto in mancanza di una soluzione certa , cerco solo di utilizzare questa problematica in modo costruttivo e pragmatico
                            Ciao a tutti
                            Paolo

                            Comment


                              #59
                              Grazie Paolo, le tue conclusioni su come gestire queste incongruenze SQ e Mt4 sono per me molto utili, perché pratiche e costruttive! :012.WAsmile:
                              La vita non è un giro di prova, cogli l’attimo..
                              Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

                              Comment


                                #60
                                Aggiungo alla condivisibile esposizione di Paolo un paio di note personali:
                                - da un programma da oltre 1000 euro ci si aspetta che il backtest tick by tick sia effettivamente tale (non come fa MT4 mediante "interpolazione" inventata sulle barre da 1 minuto..)
                                - dovendo "fidarmi" di un risultato penderei per SQ
                                - in generale , per mia preferenza , preferisco far lavorare gli EA "OncePerBar" con esecuzione in open anzichè "EveryTick" ; questo annulla de facto le differenze e rende inutile il test tick by tick
                                - a mia conoscenza i pendenti generano risultati diversi solo se ci sono condizioni di trailing stretto oppure stop & reverse e la sequenza di tick è rispettata.. o meno
                                Non dimentichiamo che SQ è l'apoteosi del fitting, il che basta e avanza senza infilarci anche un fitting sui dati broker (leggi money managment estremo, trailing e BE stretti etc etc)
                                Giusto i miei 2 cents
                                maurizio

                                Comment

                                Working...
                                X