Announcement

Collapse
No announcement yet.

Aumentare i parametri dei RISULTATI dell'OTTIMIZZAZIONE ?

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

    #31
    Ciao Umberto,

    sarebbe possibile pubblicare il codice relativo a questa implementazione ( ossia l'esportazione formattata in file di testo dei risultati di una ottimizzazione) e recuperare questo fileoramai non più disponibile online?


    Grazie,

    Andrea


    Originally posted by umbertosm View Post
    ce l'ho fatta :28.nerd_80_anim_gif

    Ho messo nella funzione OnTester() il codice che va a scrivere su un file di testo tutti i parametri di sintesi che voglio per ciascun backtest di una ottimizzazione.

    Al termine dell'ottimizzazione ottengo un unico file .txt che importo su Excel per decidere quale trading system scegliere sulla base dei parametri di sintesi.

    Funziona per qualsiasi ottimizzazione di un qualsiasi trading system.


    E' ancora in versione di bozza, ma gira tutto molto bene.


    In figura una ottimizzazione di 7 passi:

    ho imposto che soltanto i backtest che ottengono un Net Profit > 0
    verranno visualizzati nella finestra degli Optmization Results di Metatrader4
    ed i corrispondenti parametri di sintesi scritti nel file .txt






    Qui è dove di default Metatrader4 va a scrivere il file .txt





    e questo è il risultato finale: l'importazione in Excel per ulteriori elaborazioni e analisi, del file .txt con i parametri di sintesi dell'ottimizzazione. :04.cool_80_anim_gif

    Last edited by AndreaTrade; 08-12-2019, 21:33.

    Comment


      #32
      Originally posted by AndreaTrade View Post
      [*]Standalone_FitnessFunction_2[/LIST]oramai non più disponibile online?
      ciao Andrea, questo file che tu hai linkato io l'ho correttamente scaricato, è quindi disponibile online...
      tra l'altro non ricordo chi lo ha pubblicato e in quale post sia stato pubblicato, ma è comunque liberamente disponibile, quando si è autenticati al forum, al link https://www.forexdream.net/filedata/fetch?id=8505

      per quanto riguarda il codice per scrivere nella funzione OnTester() dentro un file TXT di testo i parametri di ottimizzazione che comunque devi saper costruire da te

      in allegato il file funzioni.per.scrivere.in.file.TXT.mq4
      contenente il codice delle due funzioni

      Code:
      bool inizializzaFile()
      che inizializza il file di testo ('nomeFileTXT') con intestazione dei parametri

      e

      Code:
      bool scritturaSuFile()
      che scrive i dati sul file 'nomeFileTXT'

      Entrambe le funzioni vanno richiamate dentro la OnTester()

      Si tratta di codice che richiede una solida conoscenza di Mql4 per comprenderlo ed esserne padroni nell'uso.



      Attached Files
      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


        #33
        Grazie Umberto,

        sono riuscito a scaricare il file che mi hai inviato al link https://www.forexdream.net/filedata/fetch?id=8505

        Non vedo allegato però il file funzioni.per.scrivere.in.file.TXT.mq4

        Di Mql4 qualcosa ci mastico ( lontano dai tuoi livelli ma qualcosina la faccio ).

        Andrea
        .









        Comment


          #34
          Originally posted by AndreaTrade View Post
          Non vedo allegato però il file [I]funzioni.per.scrivere.in.file.TXT.mq4
          è in fondo al mio post....

          qui di seguito l'immagine di dove sta il file da scaricare

          Capture.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


            #35
            Umberto ,

            grazie e scusa se ti disturbo nuovamente ma io gli allegati non li riesco a vedere proprio.

            Non è che c'è qualche settaggio del sito per cui se un utente non ha un minimo di post non può vedere alcune sezioni del sito o scaricare gli allegati ?

            Grazie,

            Andrea


            Originally posted by umbertosm View Post

            è in fondo al mio post....

            qui di seguito l'immagine di dove sta il file da scaricare

            Capture.JPG

            Comment


              #36
              Originally posted by AndreaTrade View Post
              o gli allegati non li riesco a vedere proprio.
              Non è che c'è qualche settaggio del sito per cui se un utente non ha un minimo di post non può vedere alcune sezioni del sito o scaricare gli allegati ?
              mi pare davvero strano ma mi informo con Damiano
              non vorrei sia un settaggio rimasto da quel bastardo di hacker del forum di qualche mese fa....

              il link per scaricare il file è questo: https://www.forexdream.net/filedata/fetch?id=10549

              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


                #37
                Ciao Umberto,

                grazie adesso sono riuscito a scaricare tutto.

                Ho implementato questa funzione :

                Code:
                double OnTester()
                {
                double ProfitFactor = TesterStatistics(STAT_PROFIT_FACTOR);
                double TotalNetProfit = TesterStatistics(STAT_PROFIT);
                double MaximalDrawdown = TesterStatistics(STAT_EQUITY_DD);
                double miaFitness = ProfitFactor + TotalNetProfit/MaximalDrawdown;
                inizializzaFile();
                
                parametro1=ProfitFactor;
                parametro2=TotalNetProfit;
                parametro3=MaximalDrawdown;
                parametro4=miaFitness;
                
                scritturaSuFile();
                return(miaFitness);
                }
                ma a fronte di una ottimizzazione scrive solo una riga di dati ( solo la prima ):

                parametro1;parametro2;parametro3;parametro4;parame tro5
                1.99;23.50;26.90;2.86;0.00


                Non capisco come fare il loop in modo che mi scriva nel file txt tutti i risultati dell'ottimizzazione.

                Grazie.

                Andrea


                Originally posted by umbertosm View Post

                ciao Andrea, questo file che tu hai linkato io l'ho correttamente scaricato, è quindi disponibile online...
                tra l'altro non ricordo chi lo ha pubblicato e in quale post sia stato pubblicato, ma è comunque liberamente disponibile, quando si è autenticati al forum, al link https://www.forexdream.net/filedata/fetch?id=8505

                per quanto riguarda il codice per scrivere nella funzione OnTester() dentro un file TXT di testo i parametri di ottimizzazione che comunque devi saper costruire da te

                in allegato il file funzioni.per.scrivere.in.file.TXT.mq4
                contenente il codice delle due funzioni

                Code:
                bool inizializzaFile()
                che inizializza il file di testo ('nomeFileTXT') con intestazione dei parametri

                e

                Code:
                bool scritturaSuFile()
                che scrive i dati sul file 'nomeFileTXT'

                Entrambe le funzioni vanno richiamate dentro la OnTester()

                Si tratta di codice che richiede una solida conoscenza di Mql4 per comprenderlo ed esserne padroni nell'uso.


                Last edited by AndreaTrade; 15-12-2019, 20:32.

                Comment


                  #38
                  ciao Andrea, ho sistemato la funzione
                  bool inizializzaFile()

                  ora funziona tutto.

                  Per completezza allego al post l'EA
                  MACD Sample_OttSufile.mq4

                  scaricabile anche al link:
                  https://www.forexdream.net/filedata/fetch?id=10566


                  che sfrutta il codice dell'EA
                  MACD Sample.mq4
                  di default nelle piattaforme di Metatrader4,

                  a cui ho aggiunto le due funzioni
                  inizializzaFile();
                  scritturaSuFile();


                  e la tua funzione
                  double OnTester()

                  Come vedi nelle immagini seguenti, ottimizzo il valore di takeprofit, ottenendo 6 valori nella finestra di ottimizzazione
                  corrispondenti a 6 righe di valori dei parametri di ottimizzazione nel file

                  string nomeFileTXT = "ottimizzazione.txt";


                  49223458558_19fd7401ee_o.jpg




                  49223478278_72d6df03f8_o.jpg

                  Attached Files
                  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


                    #39
                    Ciao Umberto, grazie ottimo.

                    Ho rilevato però un possibile problema relativo all'output sul file TXT .
                    Questo è il risultato dell'ottimizzazione , mentre in allegato il file TXT di output con una serie di numeri strani e con un ordine di risultati diverso da quello nell'immagine ottimizzazione.txt
                    Attached Files

                    Comment


                      #40
                      ..... ok penso di aver capito ... in caso di profit factor<1 viene inserito un numero che va filtrato a monte.


                      Originally posted by AndreaTrade View Post
                      Ciao Umberto, grazie ottimo.

                      Ho rilevato però un possibile problema relativo all'output sul file TXT .
                      Questo è il risultato dell'ottimizzazione , mentre in allegato il file TXT di output con una serie di numeri strani e con un ordine di risultati diverso da quello nell'immagine ottimizzazione.txt

                      Comment


                        #41
                        Originally posted by AndreaTrade View Post
                        in allegato il file TXT di output con una serie di numeri strani
                        a me non capita :40.thinking_80_anim non vorrei che sia dovuto al fatto che tieni aperto con notepad il file ottimizzazione.txt quando stai ottimizzando e per qualche ragione il sistema si arrabbia e stampa a cavolo.

                        Originally posted by AndreaTrade View Post
                        e con un ordine di risultati diverso da quello nell'immagine
                        l'ordine dei risultati è lo stesso di quello della finestra di ottimizzazione, nella tua immagine hai ordinato le righe per la colonna Risultato dell'Ottimizzazione e quindi l'ordine dipende da questa colonna.
                        Se vuoi la corrispondenza con le righe del file txt scritto, devi ordinare i risultati per la colonna Passo cioè con le righe in sequenza con 1, 2, 3, 4, .... 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


                          #42
                          Grazie Umberto,

                          effettivamente funziona e sono più o meno riuscito ad estrarre i dati che mi servivano.
                          Vorrei però adesso completare il file TXT aggiungendo i parametri delle varie ottimizzazioni e che in genere vengono riportati nel campo input come da immagine; come si può fare ?


                          Parametri Tester.png

                          Comment


                            #43
                            semplicemente tratti i parametri di input come se fossero parametri di ottimizzazione, quindi

                            aggiungi le variabili esterne

                            double MATrendP;
                            double TP;
                            double TrailStop;



                            dentro bool inizializzaFile()
                            ci sarà la riga:

                            uint numBytesWritten = FileWrite(filehandle, "MATrendP", "TP", "TrailStop", "parametro1", "parametro2", "parametro3", "parametro4"); // il file viene inizializzato


                            dentro bool scritturaSuFile()
                            ci sarà la riga:
                            numBytesWritten = FileWrite(filehandle, DoubleToStr(MATrendP,2), DoubleToStr(TP,2), DoubleToStr(TrailStop,2), DoubleToStr(parametro1,2), DoubleToStr(parametro2,2), DoubleToStr(parametro3,2), DoubleToStr(parametro4,5));


                            e dentro double OnTester()
                            le righe
                            MATrendP = MATrendPeriod;
                            TP = TakeProfit;
                            TrailStop = TrailingStop;




                            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


                              #44
                              Umberto grazie, adesso è perfetto!

                              Comment

                              Working...
                              X