Announcement

Collapse
No announcement yet.

StrategyQuant e i software di programmazione genetica di trading system

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

    #16
    @Cray-Maurizio: su un PC con

    - CPU Intel 1151 i7-6700 Ci7 Box (3,4GHz)
    - RAM memory D4 2400 32GB (8x4) C10 Corsair Ven
    - alimentatore da 750W per reggere le decine di ore di lavoro consecutive
    - motherboard Intel 1151 MSI Z170A Pro


    Investimento :109.WAsmile: sostanzioso, fatto al negozio di Roma di Marco - evolpc con prezzi ottimi e configurazioni personalizzate :65.muscle_80_anim_g




    E' presente anche su Amazon con un feedback a 5 stelle :146.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


      #17
      Originally posted by Cray View Post
      Buona giornata da uno dei 10
      SQ ha due piccoli bug in Improve ed Optimizer : Ma basta saperli riconoscere ed ignorarli che il software, funziona senza problemi.
      Il motivo di questa non correzione nella versione 3.8.1. e' data dalla prossima uscita della versione 4 , ( Intorno a Giugno ) dove sono concentrate tutte le attenzioni di Mark e dei suoi collaboratori..
      Ciao a tutti!!!Anche io stò usando Strategy quant, volevo chiederti quali sarebberero i bug in improve e optimizer? grazie

      Comment


        #18
        Ciao Denis,

        A volte, ma non sempre : Quando si carica ad esempio, una strategia salvata nel Databank in Improve ed Optimizer, puo' capitare di osservare nella " VIEW " soprattutto nella Symmetry e Stability ( Piu' raramente in % Stagnazione ) dei valori diversi dalla strategia originale, caricata ...

        Una volta finito di elaborare i dati in Improve - Optimizer, i valori reali nelle sezioni sopra, citate compariranno nuovamente ...

        Senza creare problemi !!!

        Questo piccolo bug l'aveva fatto notare qualcuno che prima di me, l'aveva osservato ...
        E' non sara' sicuramente corretto per una versione 4, che sara' lanciata nei prossimi mesi : Intorno a Giugno, Luglio

        Comment


          #19
          @Umberto :

          SQ, non ha bisogno di inserire altri indicatori nella Building ... Quelli che ci sono, bastano ed avanzano con tutte le funzioni disponibili : Ma pensavo invece, alla possibilita' di creare un proprio sistema genetico di tipo Gandalf, con i pattern grafici da aggiungere a quelli disponibili di default : cosa ne' pensi come idea? Prova a pensare alle potenzialita' di questo programma se usato separatamente solo sui pattern...
          Last edited by Cray; 28-02-2016, 10:43.

          Comment


            #20
            Originally posted by Cray View Post
            pensavo invece, alla possibilita' di creare un proprio sistema genetico di tipo Gandalf, con i pattern grafici da aggiungere a quelli disponibili di default : cosa ne' pensi come idea? Prova a pensare alle potenzialita' di questo programma se usato separatamente solo sui pattern...
            Si, ma non saprei da dove iniziare per creare un software come Gandalf.
            Ci penserò tra un bel po' di mesi, prima voglio diventare bravo e profittevole con quel che passa il convento. :18.evilgrin_80_anim
            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


              #21
              Ciao Umberto.. sono contento che tu abbia deciso di dedicarti piu a fondo a StrategyQuant!! io sto continuando a lavorarci e seguirò il thread con interesse..
              un saluto
              Paolo

              Comment


                #22
                ciao Paolo :01.smile_80_anim_gi
                tu sei in stato "Advanced" con SQ.

                Io procederò in questo thread, man mano scrivendo una guida d'uso che verrà arricchita da consigli / idee che chiunque voglia dare: spero anche tu sarai dei nostri!
                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


                  #23
                  Bentrovato, Paolo

                  Comment


                    #24
                    Cominciamo con l'importazione dei dati storici dentro StrategyQuant, semplicemente essenziali per iniziare a lavorare con SQ.

                    Dopo aver scaricato i dati storici M1 con il software Tick Downloader,


                    con la procedura descritta qui


                    dentro StrategyQuant, andiamo nella finestra Data Manager, che permette di importare i dati storici.

                    Click su Add symbol e si riempie la scheda




                    Aggiungiamo un nuovo simbolo: EURUSD ed un eventuale descrizione.

                    La grandezza di 1 lotto in dollari
                    Point Value in $: 100,000

                    Nei campi Pip/Tick Step e Pip/Tick Size
                    dobbiamo inserire la dimensione di 1 Point ed 1 Pip nella valuta che stiamo considerando relativamente al broker che usiamo, che può avere
                    - 2 e 4 cifre decimali: 1 Pip = 1 Point
                    - 3 e 5 cifre decimali: 1 Pip = 10 Point

                    Pip/Tick Step = Point = minimo cambiamento della valuta considerata che il vostro broker permette di scambiare
                    Pip/Tick Size = Pip

                    Ad esempio

                    - consideriamo EURUSD

                    con broker a 2 e 4 cifre decimali
                    Pip/Tick Step: 0.0001
                    Pip/Tick Size: 0.0001


                    con broker a 3 e 5 cifre decimali
                    Pip/Tick Step: 0.00001
                    Pip/Tick Size: 0.0001


                    - consideriamo GBPJPY

                    con broker a 2 e 4 cifre decimali
                    Pip/Tick Step: 0.01
                    Pip/Tick Size: 0.01


                    con broker a 3 e 5 cifre decimali
                    Pip/Tick Step: 0.001
                    Pip/Tick Size: 0.01



                    --------------

                    Data type: per Metatrader è il primo radio button

                    --------------

                    Default spread: numero di pip di spread, ad esempio per EURUSD io metto Default spread = 1 pip/ticks

                    --------------

                    Cost per roundturn = la commissione del broker per lotto, ad esempio 3 (commissione di 3 $ per un lotto di trade)

                    Io non metto nulla

                    --------------


                    Dopo aver creato la scheda per la coppia di valute, si seleziona la riga e click sul pulsante Import Data




                    Choose data file e si selezionano i dati M1 precedentemente scaricati con il TickDownloader










                    Dopo aver importato i dati storici delle candele M1, StrategyQuant calcolerà automaticamente tutti i timeframe successivi.

                    Ora SQ è pronto per creare strategie con questa coppia di valute.




                    IMPORTANTE: se dopo 1 mese dopo si vogliono importare le nuove candele M1 mancanti dentro SQ, basta importare il delta dei dati M1 sulla stessa scheda EURUSD: SQ aggiungerà i nuovi dati accodandoli a quelli già presenti
                    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


                      #25
                      Aggiungere i dati Delta ( Ultimo periodo ) ai dati storici già caricati :
                      Attached Files

                      Comment


                        #26
                        Dopo aver caricato i dati storici,

                        clicchiamo sulla voce di menu Build Strategies






                        Esistono due modalità diverse di generazione delle strategie:
                        - Genetic Evolution: le strategie evolvono ricercando popolazioni che massimizzano la funzione di fitness,
                        - Random Generation: le strategie vengono create casualmente e non evolvono, ogni strategia viene ordinata in funzione del valore di fitness che realizza

                        Clicchiamo sul pulsante Settings

                        e vediamo la prima scheda Data



                        Nella sezione Main data for testing selezioniamo la coppia di valute ed il timeframe su cui vogliamo che SQ trovi strategie di trading, che SQ chiama "strategy"

                        Ad esempio ricerchiamo strategy su EURUSD al timeframe H1 dal 1.6.2014 al 19.02.2016

                        con un certo rapporto che voglio tra le dimensioni delle finestre temporali dei dati storici In Sample (dove la strategia viene ottimizzata) e Out of Sample (dove la strategia viene verificata)

                        Per il significato di In Sample, Out Of Sample puoi leggere qui:


                        ---------------------


                        Nella sezione Test Parameters si inseriscono le variabili di mercato della coppia di valute principale scelta (nell'esempio EURUSD) che verranno usate nella ricerca delle strategie.
                        I valori sono espressi in numero di pip:
                        Spread
                        Slippage
                        Stoplevel = minima distanza dal prezzo corrente a cui può essere posizionato il prezzo di apertura di un trade pendente o il takeprofit e lo stoploss


                        Nel menu a tendina Test precision si sceglie una delle modalità che SQ può usare per elaborare i dati delle candele nella ricerca di strategy.

                        Per massimizzare la velocità di ricerca di SQ, in genere la modalità di test precision più usata è

                        Test precision: Selected Timeframe only (fastest)

                        che corrisponde sulla piattaforma Metatrader a Open prices Only (Solo prezzi di apertura)

                        cioè se si effettua un backtest con SQ con Test precision: Selected Timeframe only (fastest) , al timeframe H1
                        e poi si esporta la strategy di SQ in codice metaquote language
                        e si effettua il backtest del trading system sulla piattaforma Metatrader4 con il Model: Open prices Only, , al timeframe H1
                        i risultati saranno pressoché identici (a meno di bug di SQ o di errori di costruzione della strategy).


                        Se invece si sceglie
                        Test precision: 1 Minute data (slow)
                        questa modalità NON corrisponde a nessuna di quelle usabili su Metatrader4, né a Control points (Punti di controllo), né a Every tick (Ogni tick)

                        Test precision: 1 Minute data (slow) è una modalità di elaborazione dei dati storici propria di SQ : la strategy su SQ verifica le condizioni di apertura/chiusura/modifica di trading ad apertura di barra del timeframe su cui viene fatto girare la strategy, nell'esempio Period H1,
                        ma tenendo conto dell'eventuale raggiungimento di stoploss, takeprofit o apertura di trade pendenti o altre condizioni,
                        in funzione della sequenza temporale dei 4 dai dati -Open, High, Low, Close- delle candele M1 che formano la candela H1.

                        L'unico modo per cercare di replicare un backtest di SQ realizzato in Test precision: 1 Minute data (slow),
                        sulla piattaforma di Metatrader4, è di scegliere su Mt4 il Model: Every tick.

                        ...con tutta la difficoltà che comporta un backtest in Every tick quando il numero di anni del backtest è molto elevato, cioè dimensioni superiori a 4 GByte del file .FXT che Metatrader4 usa per fare i backtest sui dati storici. Per approfondimento puoi leggere qui

                        ---------------------

                        Infine, la finestra Additional Data for Testing
                        permette di testare le strategie trovate da SQ, non solo sulla coppia di valute di riferimento, ma anche su altri mercati.

                        Nell'esempio in figura SQ cercherà strategie sulla valuta principale EURUSD H1 (con spread = 1) e poi le testerà anche su GBPUSD M30 (con spread = 2).
                        L'eventuale scelta di voler aggiungere una o più coppie di valute a quella principale, è di cercare strategie ROBUSTE che performino bene non solo sulla coppia di valute su cui poi si faranno girare il LIVE, ma anche su altre coppie di valute.

                        Si può impostare anche più di un mercato, cambiando Symbol e Timeframe su cui SQ andrà a ritestare, il range di dati su cui ritestare, il Test precision, ecc.



                        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


                          #27
                          Passiamo ora alla scheda Strategy Options



                          Nella sezione Market Sides possiamo decidere se la strategy,
                          - deve eseguire trade solo Long o solo Short o entrambi
                          - con le regole di entrata e/o uscita Long e Short simmetriche o no

                          Poiché la simmetria dimezza la complessità della strategy, è consigliabile flaggare tutto: più la strategia è semplice e quindi meno complessa, e minore è il rischio di andare in overfitting.

                          ----------------------------

                          Sezione Trading Logic

                          Replace Pending Orders: se settato, quando la strategy apre un nuovo trade pendente, cancella l'eventuale pendente aperto prima

                          Maximum Trades Per Day, Maximum Total Trades è il numero massimo di trade che la strategia può fare al giorno, o nell'intero periodo di backtest; il valore 0 significa che non ci sono limiti.


                          Limit Signal toTime Range: se settato, la strategy apre trade in funzione degli orari scelti nei campi seguenti
                          Time Range From 08:00
                          Time Range To 16:00

                          ed eventualmente la strategy chiude i trade con le regole:
                          Exit At End Of Range
                          Exit At End Of Day
                          Exit On Friday



                          Max Period for Indicators: 100
                          significa che qualsiasi indicatore che verrà usato per la ricerca delle strategy, verrà elaborato su un numero di barre che andrà da 1 ad un massimo di 100 candele e non ne considererà mai di più.
                          Ad esempio, se si ricerca una strategia di scalping, non è utile usare una media mobile a 150 barre ma potrebbe bastare un Max Period For Indicators: 15
                          che permette di ridurre i tempi di elaborazione.


                          Max Period for Price Patterns: 10
                          analogo ragionamento al campo precedente per i pattern impostabili in SQ (Doji, Hammer, Shoting Star, ecc.) in altre schede del software.

                          ----------------------------

                          Sezione Stop Loss & Profit Target Options

                          SL is Required: se settato, lo stoploss sarà impostato nella strategy
                          TP is Required: se settato, il takeprofit sarà impostato nella strategy

                          Lo stoploss ed il takeprofit, se impostati nella strategy, possono essere calcolati in pip o in soldi.

                          Nell'esempio in figura

                          SL/TP in pips Minimum: 30 Maximum: 300
                          vuol dire che le strategy verranno cercate con stoploss e/o takeprofit con valori in pip che andranno da un minimo di 30 pip ad un massimo di 300 pip.

                          Se SL is Required o TP is Required NON vengono flaggati, è necessario impostare nella scheda Building Block un'uscita alternativa dei trade,
                          come ad esempio "Exit after X bars" o "Stop trailing" o "Exit Rule", altrimenti la strategy non chiuderà mai i trade.


                          Con il campo SL/TP based on , lo stoploss ed il takeprofit possono essere calcolati
                          - come valore fisso in pips (flag su fixed pips)
                          - o in maniera dinamica, come multiplo dell'indicatore di volatilità Average True range, l'ATR (flag su ATR)
                          con un fattore moltiplicativo che può andare da un Minimum ad un Maximum

                          Settando entrambe le voci, ATR e fixed pips, la strategy verrà cercata con stoploss e/o takeprofit sia come valore dinamico che come valore fisso.


                          Limit Risk Reward Ratio (SL vs TP) to a range
                          Se si vogliono limitare le dimensioni relative tra stoploss e takeprofit, si può flaggare questa opzione
                          che definisce i valori minimo e massimo del rapporto tra SL e TP.

                          Se si sceglie from 1:1 to 1:5
                          lo stoploss della strategy potrà avere un valore massimo pari alle dimensioni del takeprofit (1:1) ed un valore minimo pari a 1/5 del takeprofit 1:5

                          Se invece si vuole uno stoploss che sia sistematicamente maggiore del takeprofit, si potrebbe scegliere
                          from 1:0.2 to 1:0.5
                          e lo stoploss avrà dimensioni che saranno da 5 volte più grande del takeprofit al doppio del takeprofit



                          L'ultimo campo della scheda è Don't use price range indicators (...)
                          Poiché in altre schede si possono scegliere le impostazioni di entrata ed uscita in funzione di alcuni indicatori,
                          se si setta questo campo, la strategy è vincolata a usare soltanto l'ATR come indicatore per il calcolo dello stoploss e del takeprofit.



                          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


                            #28
                            Ciao!! Per lo yen, il point value, era 1000?

                            Comment


                              #29
                              No, per lo Yen il Point value è 0.01 per broker a 2e4 cifre, 0.001 per broker a 3e5 cifre
                              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


                                #30
                                Proseguiamo con la scheda Buildings Blocks che contiene tutti gli oggetti che possono essere usati da SQ per generare le strategie di trading.

                                La scelta di quali parametri considerare è naturalmente totalmente personale, conviene però non flaggare tutte le voci, ma concentrarsi su alcuni.

                                Nella sezione Entry Rules Building Blocks si scelgono i mattoni della strategia,
                                come Price Values, Price Ranges, Operators, Indicators, Candle Patterns, Simple Rules, ...

                                nella sezione Order Types & Exit Buildings Blocks
                                si scelgono quali tipi di entrate ed uscite può usare una strategy.

                                In particolare, se nella scheda Strategy Options non è stato imposto che la strategy abbia uno stoploss o takeprofit in pip o in money, in questa sezione Order Types & Exit Buildings Blocks è fondamentale flaggare una o più delle voci
                                Exit after X Bars
                                Profit Trailing
                                Stop Trailing
                                Exit Rule (Price + Operators + Indicators, ...)

                                che consentono ad un trade di chiudersi.

                                A pagina 140 del manuale StrategyQuant_Help.pdf ( http://www.strategyquant.com/licenses/d?code=squg ) viene spiegato il significato di ciascuna di queste voci.

                                Ciascuna voce ha un peso, weight, impostata per default al valore 1: aumentandolo, aumenta la probabilità di avere quella regola dentro la strategy che verrà generata.






                                La scheda Custom indicators permette di inglobare in SQ un qualsiasi indicatore, così da usarlo per costruire strategy: la metodologia è un po' artificiosa ed è descritta nel manuale (io non lo uso).
                                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

                                Working...
                                X