Announcement

Collapse
No announcement yet.

Mt4 collegata con foglio di calcolo

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

    #16
    Va bene... scusa una cosa ^_^ Ma fino a quando non chiudo il grafico 4h (per esempio) lui continua a elaborare? Per i TF di nostra scelta sarebbe l'ideale.
    Poi, se ti va... e non ti procura stress se puoi postare il codice in modo... diciamo educativo! Così magari commentiamo -_-

    Poi, questo progettino si completa con la macro per l'automatizzazione con il foglio di calcolo (OpenOffice Calc nel mio caso)... E qui, dovrei entrare in campo io aiutandomi anche con il forum ufficiale di OpenOffice. Così tutti quelli che partecipano prendono dimestichezza su questa cosa. Magari facendo anche un esempio con il foglio di calcolo del noto indicatore RSI.

    Ecco.. che sta a diventare un progettoooooone :28.nerd_80_anim_gif Speriamo Bene :03.bigsmile_80_anim

    Comment


      #17
      Originally posted by biofede View Post
      Ma fino a quando non chiudo il grafico 4h (per esempio) lui continua a elaborare?
      Il problema è proprio qui, lo script non rimane mai in memoria, anzi è fatto per non rimanere mai in memoria, di conseguenza l'elaborazione non continua.
      Se ti serve di elaborare i dati ad ogni tick, o a ogni barra, allora si deve scrivere un indicatore che è fatto per restare in memoria ed agire ad ogni tick.

      Naturalmente anche con un indicatore si può generare un file, però io non ho mai provato a leggere un file mentre la MT4 lo sta usando per scrivere, non so se sorgono conflitti per come la MT4 lo usa, ma per questo possiamo fare delle prove.

      Il tuo progettino con l'uso del foglio di calcolo per timeframe non standard somiglia molto al mio progettino in Visual Studio per timeframe non standard :05.wink_80_anim_gif, stiamo puntando allo stesso risultato. Il mio per ora è solo sulla carta.
      Però ti stuzzico dicendo che ho quasi finito di scrivere un algoritmo, sempre in Visual Studio, che calcola i livelli (modalità di analisi ti dice niente?:03.bigsmile_80_anim) partendo dai singoli tick per creare grafici "senza tempo"...

      Torniamo adesso alla discussione:

      - direi niente script ma indicatore.
      - il formato dei dati della MT4 è una cosa del genere:

      2015.11.20,20:00,1.07326, ecc..

      questo formato con la virgola come separatore e il punto come separatore decimale se usato sulla versione in italiano di un foglio di calcolo genera dei problemi sia di riconoscimento del file come csv sia di conversione del numero.

      - propongo di formattare le righe in questo modo:

      20/11/2015 20:00;1,07326 ecc

      ho già utilizzato in passato questo formato con Excel (che è il suo standard per il csv) dovrebbe essere riconosciuto senza problemi anche da OpenOffice, anche qui possiamo tranquillamente fare delle prove.

      - per quanto riguarda i dati al momento metteri Timestamp, Open, High, Low, Close e se vi serve anche Volume.
      Dobbiamo definire la quantità di dati che deve contenere il file, quando si trascina un indicatore sul grafico questo elabora tutte le barre del grafico, se io lo faccio per il file che andrò a generare significa che verrà scritta una riga per ogni barra del tuo grafico, ma probabilmente ti basta una quantità di dati minore, possiamo inserire un filtro come data o come numero di barre.

      Per ora partirei in questo modo: preparo l'indicatore che scrive i dati dal 1 gennaio 2015, ogni volta che il grafico o la piattaforma viene chiusa e poi riaperta il file viene generato da nuovo e finchè il grafico rimane aperto le righe di dati vengono continuamente accodate al file. Con questa soluzione al momento parziale farai le tue prove con le macro, se la cosa funziona vediamo di generare i file più accuratamente e successivamente vediamo di generare anche i timeframe non standard (qui ci devo ragionare).

      Via al progettone!:08.sweating_80_anim

      Comment


        #18
        MI accodo a voi, io per ora non ho trovato nulla di buono.
        Dando un'occhiata sul sito mql, mi sembrava di aver trovato un qualcosa che esportava i dati tramite FTP .
        Ma ancora non ho capito bene come funziona.

        Comment


          #19
          - La formattazione con le "virgola" è perfetta.... In passato il punto anglosassone mi ha dato non pochi problemi
          - Per i dati... ok, compreso il volume
          - Si.. in generale basta una quantità di dati minore, comunque chi è interessato si facesse avanti, dopo non dica che non gli calcola la media 100 :03.bigsmile_80_anim
          - Ti dirò di più... facciamo lo stesso progetto, solo che io uso open office e tu visual studio. Ho sguinzagliato la mia :72.bandit_80_anim_g (ovviamente scherzo)
          Last edited by biofede; 21-11-2015, 15:41.

          Comment


            #20
            Ciao tutti,
            se può essere utile qui l'argomento è stato discusso e ci sono sorgenti di indicatori ed EA che esportano i dati:

            http://www.forexfactory.com/showthread.php?t=488265

            anche qui, con esempio

            http://www.forexfactory.com/showthread.php?t=304945

            Comment


              #21
              Ciao maurice.
              Ho testato l' indicatore ed effettivamente sembra funzionare, peccato sia in versione .exe ( volevo guardarci dentro :14.wondering_80_ani )
              RImane da testarlo in real time poi si "sistema" meglio la tabella. Esporta tutti i dati che volevamo.

              EAESPORTTEST.JPG

              Comment


                #22
                Andiamo all grande ragazzi... io con la macro sto ancora in alto mare!!!

                Comment


                  #23
                  Originally posted by serzac72 View Post
                  Ciao maurice.
                  Ho testato l' indicatore ed effettivamente sembra funzionare, peccato sia in versione .exe ( volevo guardarci dentro :14.wondering_80_ani )
                  RImane da testarlo in real time poi si "sistema" meglio la tabella. Esporta tutti i dati che volevamo.

                  [ATTACH=CONFIG]n2957[/ATTACH]
                  Alcuni fra quelli linkati hanno il sorgente, ma se fa quello che ti interessa e vuoi vedere il sorgente prova a chiederlo su FF oppure dimmi quale versione hai provato che provo a cercarlo o chiederlo io
                  Se vi serve uno storico del Globex future su di un cross posso darvelo in CSV a 5 o 60 minuti

                  Comment


                    #24
                    L'indicatore che scrive il file csv l'ho scritto e funziona come deve, purtroppo non si è rivelato adatto al nostro scopo.
                    Quando Excel (e suppongo anche OpenOffice) apre il file lo tiene bloccato e impedisce alla MT4 di accodare i dati.
                    Lo si può usare per lavorare off-line e nulla più, quindi questa mia idea è da scartare.

                    L'unica soluzione valida pare essere l'uso del DDE, come prospettato da maurice.

                    Ho dato un'occhiata sia ai link di maurice che anche ad altri trovati con google ma sono tutti basati su dll scritte appositamente o vengono forniti solo i file ex4.
                    Personalmente tendo ad evitare questi tipo di soluzioni per non correre il rischio che ad un aggiornamento del MT4 il tutto smetta di funzionare e restare in balia dell'autore che potrebbe non aggiornare più il suo lavoro.

                    La creazione di dll va oltre le mie capacità di programmazione, quindi anche io a questo punto sono alla ricerca di una soluzione alternativa.

                    Comment


                      #25
                      In che senso alternativa MADo?

                      Comment


                        #26
                        Originally posted by biofede View Post
                        In che senso alternativa MADo?
                        Stavo pensando di fare il lavoro tutto dentro la MT4 con il vantaggio di avere i dati in "tempo reale" sempre a disposizione.
                        Iin pratica supponendo di partire da un timeframe H1 gestire il flusso di tick e comporre negli array i timeframe H2, H3 ecc., poi su questi array calcolare gli indicatori, resta da vedere come presentare poi le informazioni sul grafico.

                        Per chi non sa nulla di MQL:
                        Il timeframe H1 presente in MT4 è anche lui un array e lo si può paragonare, giusto per far capire a grandi linee, non è prorio così, ad una tabella del foglio di calcolo in cui sono presenti il Timestamp, Open, High, Low, Close, Volume.
                        Quando si trascina sul grafico un indicatore, supponiamo una media semplice basata su Close, il codice dell'indicatore non fa altro che leggere l'elenco dei Close di H1 a fare il calcolo e ad ogni nuovo tick aggiorna il calcolo.
                        Quindi H1 che è un array corrisponde all'output che tu vuoi sul foglio di calcolo e su cui calcolare i timeframe H2, H3 e poi gli indicatori.
                        Se io gestisco via codice H1 tenendo monitorato il timestamp posso comporre ogni 2 ore H2 e ogni 3 ore H3 in due nuovi array.
                        A questo punto gli indicatori si possono calcolare su questi array, quelli forniti come build-in in MT4 prevedono la possibilità di fare il calcolo dandogli come riferimento l'array (RSI è uno di questi) mentre per quelli scritti dall'utente (TSI ad esempio) non è previsto e il calcolo deve essere fatto appositamente.
                        Avendo poi le informazioni calcolate sui nuovi timeframe non standard, e quindi senza grafico da vedere, devo decidere quali informazioni presentare a video e come.

                        Il lavoro di programmazione per tutto questo è abbastanza impegnativo, mi riferisco alle mie capacità, ma penso fattibile. Mentre voi studiate la soluzione DDE io proverei a ragionare su questo, poi vediamo che ne esce.

                        Comment


                          #27
                          Forse ho trovato qulcosa di utile.
                          Si tratta di un indicatore, che trovate in allegato, che fa quello che io volevo creare, e mi sono anche risparmiato un sacco di lavoro :01.smile_80_anim_gi, e con il codice disponibile.

                          Lo si trascina sul grafico che si vuole usare, ad esempio H1, e si imposta PeriodMultiplier con il multiplo che si vuole di questo grafico.
                          Volendo si può impostare anche UpdateInterval con il numero di millisecondi con cui deve avvenire l'aggiornamento, se lo si lascia a zero l'aggiornamento è in tempo reale.

                          L'indicatore può essere trascinato sullo stesso grafico tutte le volte che serve per creare i timeframe voluti.

                          I grafici così creati vanno aperti cone grafici offline, ma l'indicatore li terrà costantemente aggiornati in base al valore di UpdateInterval.

                          Sui grafici offline si possono mettere tutti gli indicatori che si vuole come se fossero normali grafici, oggi siamo a mercati fermi quindi non so dire come se la cava, domani lo metto alla prova.

                          Period_Converter_OptMOD.mq4

                          Comment


                            #28
                            Ho provato l'indicatore Live Chart Export e per quanto mi riguarda, l'unico neo è che non produce file con TF non canonici. Infatti a me servirebbe il 6h. Comunque la soluzione tecnica diciamo che ha funzionato... Il file in formato .XSL prodotto dall'indicatore lo ho collegato ad un data base che a sua volta l'ho collegato al foglio di calcolo operativo (per chi ha Open Office questa è l'unica soluzione). Con un semplice passaggio i dati si aggiornano e sono pronti per essere immessi nella tabella dove ci sono i calcoli da fare, in automatico con dei collegamenti e con una macro che fa fare i conti al foglio di calcolo.

                            Oppure si è optato per la soluzione dei collegamenti che sostituiscono tutti i dati della tabella senza fare nulla una volta aggiornato i valori che restituisce il data base. Basta dire all'indicatore quanti record fare in accordo con quelli della tabella del calcolo. Per esempio, voglio calcolare il MACD 14 periodi, allora all'indicatore gli dico di presentare come risultato nel foglio excel 14 record. Così facendo si aggiorna tutto e via! ^_^ (questa idea è stata di Serzac)

                            Sta in studio una macro per far si che non debba fare questo passaggio di aggiornamento manuale, tramite un aiutino del forum di open office.

                            Per chi usa Open Office e vuole delle delucidazioni sul data base... si faccia avanti. Anche chi trova un indicatore che fa file .csv/.exl/.txt con TF non canonici si faccia avanti..... intanto io cerco.

                            Comment


                              #29
                              Originally posted by MaDo View Post
                              Forse ho trovato qulcosa di utile.
                              MaDo... all'indicatore che hai creato, riesci a fargli creare file del tipo .xls/.txt/.csv per i TF non canonici? Se ci riuscissi e avessi voglia sarebbe cosa moooooolto gradita.

                              Comment


                                #30
                                Sono arrivato da poco dal lavoro, ho messo adesso all'opera l'indicatore del mio post precedente. Ho aperto un grafico H1 e predisposto un grafico H2 ora sono con i due grafici affiancati che si muovono in contemporanea.
                                Su ognuno dei due grafici ho messo il TSI e RSI e funzionano senza problemi.

                                Per Biofede: l'indicatore ha anche l'opzione OutputCSVfile per crare file csv, se la attivi ti crea il file csv del timeframe non standard che vuoi.

                                L' indicatore Period_Converter_OptMOD non l'ho creato io, l'ho recuperato in rete.

                                Comment

                                Working...
                                X