Announcement

Collapse
No announcement yet.

Sistema per attivare o disattivare un EA in base all'andamento della equity curve.

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

    Sistema per attivare o disattivare un EA in base all'andamento della equity curve.

    Buonasera a tutti,

    posto il link al seguente video che spiega come attivare o disattivare un EA in base all'andamento della equity curve.

    https://www.youtube.com/watch?v=9_VC3xfnW6Q

    C'è qualcuno in grado di implementarlo in modo da poterlo sfruttare su EA in MQL4 ?

    Grazie,

    Andrea


    #2
    Il filtro della media mobile della equity line, come anche il profit factor mobile della equity line, è uno strumento sicuramente in grado di tenere sotto controllo il drawdown della curva dei profitti/perdite in maniera automatica ed è quindi utile, anche se comporta il rischio di perdere molto profitto totale.

    In generale questo metodo funziona bene se il trading system ha strisce di perdite consecutive... certamente in reale la performance non è mai bella come in un backtest per cui la media mobile può risultare vincente più di quanto un backtest non permetta di vedere.

    Nei test con Excel ho verificato che il filtro della media mobile della equity line del portafoglio è in genere vincente perché si sommano trade di molti trading system su diverse valute, e quindi si ha in genere un aumento delle sequenze consecutive di trade negativi: in questo caso la media mobile filtra bene i drawdown e riattiva l'operatività quando la equity ritorna sopra la sua media mobile.

    La codifica però è impegnativa, perché richiede che
    - oltre alla implementazione del calcolo della media mobile della equity per ogni trading system,
    - venga anche scritto del codice per gestire la simulazione dell'apertura e chiusura dei trade,
    - ed un controllo dentro ogni trading system, che calcoli la equity line del portafoglio di tutti i trading system che lo compongono, per permettere ai trading system di sospendere o attivare l'operatività reale.

    Bisogna quindi scrivere i trade reali e virtuali in un file TXT e fare in modo che ogni trading system legga da questo file.

    Con Metatrader4 è tutto sicuramente realizzabile, avendo visto delle implementazioni simili, ma richiede un significativo sforzo per realizzarlo ed adattarlo allo specifico trading system.
    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


      #3
      Ciao Andrea, ho lasciato mql dopo aver visto la difficoltà di implementare funzionalità come quelle che hai descritto. Un consiglio drastico: cambia piattaforma. Ciao

      Comment


        #4
        Originally posted by MatteoP View Post
        Un consiglio drastico: cambia piattaforma.
        :01.smile_80_anim_gi assolutamennte in disaccordo.

        Metaquote language 4 è un linguaggio potentissimo che permette di far tutto, anche il flltro della equity line di un portafoglio di trading system...

        ... e quale sarebbe invece la piattaforma in grado di realizzare questo filtro in quattro e quattr'otto?
        Questa piattaforma dovrebbe essere in grado di fermare l'operatività di un portafoglio di trading system al superamento al ribasso di una media mobile ad X trade ed al contempo di continuare a simulare l'operatività di ciascun trading system con trade virtuali realizzati al verificarsi delle condizioni di trade e gestiti come avverrebbe con l'operatività reale, al fine di continuare a costruire man mano la equity line virtuale e poter continuare a calcolare la media mobile di questa equity così da abilitare / disabilitare l'operatività dei vari trading system del portafoglio.

        In termini pratici bisogna programmare tutto da sé qualsiasi sia la piattaforma di trading
        e se con Metatrader4 garantisco che sia fattibilissimo, con altre piattaforme non è detto che lo sia. :05.wink_80_anim_gif
        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


          #5
          Originally posted by AndreaTrade View Post
          [...]
          C'è qualcuno in grado di implementarlo in modo da poterlo sfruttare su EA in MQL4?
          In teoria chiunque sia in gradi di programmare in MQL4 con una certa padronanza potrebbe implementarlo.
          In pratica solo chi ha tanto tempo, pazienza e impegno (come scriveva Umberto).

          Scrivo ciò per dire che non credo ci sia qualcuno che possa permettersi di sviluppare un filtro da Equity Curve Trading per MT4 in poco tempo.

          C'è però una scorciatoia... Partire da codici già fatti.
          Ad esempio questa libreria che mi ero salvato tempo fa (Equity Recorder) sembra interessante.

          La libreria serve per creare una equity in base al tempo, ma è molto interessante perché il codice che usa per salvare l'equity è almeno all'80% a quello che serve per il filtro.
          Dopo aver salvato l'equity su un grafico senza connessione fare poi la media dell'equity è molto più semplice (basta applicare una media al grafico).
          Quel che rimane fuori è la virtualizzazione delle operazioni ma con qualche aggiustamento nella libreria non dovrebbe essere lungo da sviluppare.
          Sono sicuro già solo con questa libreria e i dovuti aggiustamenti il tempo di sviluppo del filtro potrebbe scendere di molto.

          Per il resto, non ho mai sviluppato il filtro in questione quindi non posso esserti d'aiuto.

          Originally posted by umbertosm View Post
          [...]
          ...e quale sarebbe invece la piattaforma in grado di realizzare questo filtro in quattro e quattr'otto?
          Effettivamente in giro le piattaforme che permettono di effettuare una cosa del genere non ci sono.
          Unica eccezione, che io sappia, è la Zorro.
          La Zorro ha implementato questo filtro direttamente nella piattaforma e bastano 2 righe di codice per fare il controllo sull'equity.
          Dopodiché basta inserire il lottaggio negativo (con un meno davanti) per attivare il quello che la piattaforma chiama "phantom mode" (modalità fantasma).
          Nel "phantom mode" la piattaforma apre l'operazione in virtuale (sulla piattaforma senza inviarla al server del broker) e la equity continua ad essere "disegnata" normalmente.
          Skype: cadddami

          Comment


            #6
            ... con i dovuti cambiamenti .... https://www.mql5.com/en/articles/1441
            ...... lol

            Comment


              #7
              Ok, non voglio iniziare una guerra di religione. Questo è il codice per attivare l'equity filter basato su una "media mobile potenziata" in Zorro:
              Code:
              // equity curve trading: switch to phantom mode when the equity
              // curve goes down and is below its own lowpass filtered value
              
              function checkEquity() {
              if(Train) { Lots = 1; return; } // no phantom trades in training mode
              vars EquityCurve = series(ProfitClosed+ProfitOpen);
              vars EquityLP = series(LowPass(EquityCurve,10));
              if(EquityLP[0] < LowPass(EquityLP,100) && falling(EquityLP))
              Lots = -1; // drawdown -> phantom trading else
              Lots = 1; // profitable -> normal trading
              }
              basta chiamare la funzione appena prima di aprire una posizione. Il resto è automatico.
              La funzione si disattiva durante il training del TS e si attiva solo durante il trading

              Singolo Asset, Singolo TimeFrame, singolo TS? Questo è il codice.
              Multi Asset, Multi TimeFrame, multi TS? Stesso codice

              Questa per me è potenza, non tanto del linguaggio in se, quanto di una piattaforma di trading algoritmico.

              Se non ricordo male Tradestation ha dei meccanismi simili.

              Ciao
              Last edited by cadddami; 20-10-2016, 19:36. Reason: Aggiunta tag CODE.

              Comment


                #8
                Originally posted by MatteoP View Post
                Questa per me è potenza, non tanto del linguaggio in se, quanto di una piattaforma di trading algoritmico.
                Waw, Indubbiamente potente :06.surprised_80_ani se davvero funziona è una semplificazione potentissima che Zorro ha più di altre piattaforme :04.cool_80_anim_gif


                Mi rimangono alcuni dubbi:

                (1) la gestione del phantom trade è davvero identica a quella reale, qualunque sia la complessità della gestione del trade una volta aperto?
                due esempi:
                * la strategia apre 1 solo trade, e quando va in utile di tot pip sposta lo stoploss a breakeven,
                * la strategia apre 2 trade con taleprofit diversi e stesso stoploss; quando il primo trade si chiude sul takeprofit il secondo sposta lo stoploss a breakeven

                Zorro gestisce i phantom trade come la gestirebbe con i trade reali inviati al broker? oppure gestisce i phantom trade solo se hanno un takeprofit e stoploss fissi dentro l'ordine e non modificabili?


                (2) questo filtro dell'equity funziona solo in backtest o funziona anche in reale con un broker e soldi veri?


                (3) esiste una prova provata di funzionamento di questo filtro della equity line con Zorro e con un broker in reale?


                Mi accontento anche di link alle pagine di internet che contengano risposte, grazie


                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


                  #9
                  1) sì, la gestione è identica
                  2) sì, per quanto ho potuto provare personalmente.
                  3) sì, per quanto ho potuto provare personalmente
                  Il manuale spiega tutto, z1, z2, z3, z12 sono esempi di sistemi che usano la equity line. testabili in live e/o demo. Se usi Mt4 bridge puoi fare tutti i test del caso. Ho sistemi live che hanno in questo momento TS disattivati.

                  Comment


                    #10
                    Mi associo alle risposte di Matteo.
                    Anche io ho utilizzato il filtro della Zorro sia in reale che in demo e posso garantire che funziona precisamente come viene descritto sulla guida (in questa pagina ci sono tutte le risposte, anche se un po' sparse).

                    Originally posted by ilgrigio View Post
                    ...con i dovuti cambiamenti... https://www.mql5.com/en/articles/1441
                    Ottimo allo scopo dello sviluppo del filtro su MT4.
                    Con il codice presente nell'articolo praticamente si ha quasi tutto il codice già fatto per la simulazione degli ordini.
                    Skype: cadddami

                    Comment


                      #11
                      Bene Damiano e Matteo, visto che siete tra i pochissimi che hanno potuto verificare l'efficacia o meno del filtro sulla media mobile in LIVE, che commenti fate a riguardo?

                      Il trading diventa vincente grazie a questo filtro di operatività con la media mobile della equity line? Si riduce il DD, aumenta il Net profit?
                      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


                        #12
                        Difficile dare una risposta in generale. La vedo così il filtro è un'assicurazione contro la morte di un TS. Ogni TS sfruttamento un'efficienza di un mercato, Questa inefficienze non durano mai in eterno. Quindi anche il più profittevole dei TS può diventare, dal giorno con l'altro, perdente. Il filtro protegge da questo e, come tutte le assicurazioni costa, costa. In questo caso in Net Profit, anche se in genere migliora l'ulcer Index.
                        Quindi sempre filtro sulla equity, ma bisogna tenere presente che il filtro è un ulteriore parametro e quindi aumenta le probabilità di overfitting. Per evitarlo quello che viene suggerito è che il TS deve essere tradabile anche senza il filtro attivato. Considerarlo come un ulteriore parametro. Quindi almeno altre 20 trade per singolo periodo di test OOS.

                        ciao
                        Last edited by MatteoP; 21-10-2016, 11:22.

                        Comment


                          #13
                          Originally posted by cadddami View Post
                          Mi associo alle risposte di Matteo.
                          Anche io ho utilizzato il filtro della Zorro sia in reale che in demo e posso garantire che funziona precisamente come viene descritto sulla guida (in questa pagina ci sono tutte le risposte, anche se un po' sparse).



                          Ottimo allo scopo dello sviluppo del filtro su MT4.
                          Con il codice presente nell'articolo praticamente si ha quasi tutto il codice già fatto per la simulazione degli ordini.
                          .... si Damiano.... basta solo creare un file .txt dove salvare le operazioni e poi fare tutte le analisi che uno vuole.... lol lol
                          .... anzi uno può creare tante strategie "virtuali" e poi far lavorare solo quelle che in base a una propria "formula magica" generano una bellissima curva che sale.... lol lol lol (in reale!!!!)
                          .... stò scherzando ovviamente.... lol ma la pulce nell'orecchio l'ho inserita....
                          .... l'unico grande limite dell'mt4 è la inpossibilità di testare su multivaluta.... ma come dice Umberto si può fare "quasi tutto"....
                          .... che dire di "Zorro" è ottimo.... ha un solo difetto che la versione professionale è a pagamento.... ed io (programmatore della domenica) sono allergico a quella parola.... lol lol lol
                          che la pace e i pips siano con voi
                          ciao
                          giorgio
                          Last edited by ilgrigio; 21-10-2016, 13:59.

                          Comment


                            #14
                            Un grazie a tutti per le risposte al mio iniziale quesito.
                            Anche io sono un programmatore della domenica come il Grigio..... ma al cubo.

                            Volevo chiedere se è meglio avere un EA in demo o in real ( con lotti bassissimi ) per registrare i trade e fare una analisi della equity .
                            Non mi è chiaro come sia possibile simulare i trade quando siamo al di sotto della media e l'EA è disattivato.

                            Andrea


                            Comment


                              #15
                              Originally posted by AndreaTrade View Post
                              Un grazie a tutti per le risposte al mio iniziale quesito.
                              Anche io sono un programmatore della domenica come il Grigio..... ma al cubo.

                              Volevo chiedere se è meglio avere un EA in demo o in real ( con lotti bassissimi ) per registrare i trade e fare una analisi della equity .
                              Non mi è chiaro come sia possibile simulare i trade quando siamo al di sotto della media e l'EA è disattivato.

                              Andrea

                              .... Andrea non serve disattivare l'EA perchè ad esempio se tu inserisci una funzione che impedisce l'operatività in reale ma prosegue quella in virtuale avrai la tua bella equity virtuale che potrai continuare a monitorare e quando secondo i tuoi criteri/"funzione di attivazione" deciderai di farlo ripartire esso riprenderà l'operatività in reale...... lol (spero di essermi spiegato.... lol lol)
                              Questo strumento/idea/modo di operare.... ecc ecc è una cosa veramente potente e può raggiungere gradi di sofisticazione molto alti e proficui!!!! (esperienza personale!!!)
                              ciao ciao e buoni pips
                              ilgrigio

                              PS: in reale ci vai solo dopo averlo testato in demo....!!! il vero lavoro però è quello che viene fatto in backtest!!!! dove potrai analizzare "le operatività/strategie virtuali" e ti sarai costruito la tua "funzione magica" di attivazione/disattivazione delle tue moltelplici strategie..... lol lol (l'utilizzo della semplice media dell'equity è banale...... lol lol lol ma se ti sforzi ed hai un pò di inventiva.... so che puoi fare di meglio.... lol )
                              .... come al solito ho detto troppo..... ahahahahah
                              Last edited by ilgrigio; 21-10-2016, 20:15.

                              Comment

                              Working...
                              X