Impulso - pagina 20

 
Artyom Trishkin:
Naturalmente. Cosa ti impedisce di avere il tuo file di ticks in formato csv con la struttura Tempo, Prezzo, Volume? È un peccato che lo spread (Ask history) non possa essere salvato dal tester, ma può essere salvato in tempo reale e poi questo file può essere letto nel tester.
capito.
 
Karputov Vladimir:
Il solo "Tempo" non basta. Avete bisogno o di millisecondi, o della dimensione della pausa tra i tick in millisecondi. E il tempo stesso solo all'inizio e alla fine del file - per rendere chiaro da quale intervallo di tempo è fatta la registrazione.
Intendevo il tempo con una precisione al millisecondo.
 
Karputov Vladimir:
Solo "Tempo" non farebbe....

Perché? Non sarà testato... I collezionisti di zecche che ho trovato contano i secondi... Può essere convertito in miglia...

Lì si è appena capito che per esempio nello stesso momento arrivano due zecche a prezzi diversi naturalmente...

Quindi non funzionerà per il tester in questa forma?

 
Roman Shiredchenko:

Perché? Non sarà testato... I collezionisti di zecche che ho trovato contano i secondi... Può essere convertito in miglia...

Si è appena scoperto che per esempio allo stesso tempo arrivano due zecche a prezzi diversi...

Cioè in questa forma per un tester non funzionerà?

Ho già dato una risposta a questo problema. Sopra.
 
Artyom Trishkin:
Ho già dato una risposta che risolve questo problema. Sopra.
L'ho visto. Grazie.
 

Per quanto riguarda l'assemblaggio delle zecche in un file *.cvs - chi ha quale versione di Excel e qual è il limite del numero di righe in una tabella?

Ho Excel 2013 - il limite per il numero di righe è 1.999.999.997.

 
Karputov Vladimir:

Per quanto riguarda l'assemblaggio delle zecche in un file *.cvs - chi ha quale versione di Excel e qual è il limite del numero di righe in una tabella?

Ho Excel 2013 - il limite per il numero di righe è 1.999.999.997.

Che differenza fa? È il programma che leggerà il file, non Excel...
 
Artyom Trishkin:
Che differenza fa? È il programma che leggerà il file, non Excel...

Dovete renderlo universale - e se in Exxele trovate dei modelli che non potete vedere nel terminale? Credo che si possano fare solo tre colonne:

Pausa, microsecondi Prezzo Volume


E il prezzo è un array close(). E il simbolo e l'ora (inizio della registrazione) saranno salvati nel nome del file (ad esempio GBPUSD.f_2015.07.20 10_48_24.csv).

 
Karputov Vladimir:

Dobbiamo renderlo universale - e se ci sono schemi in Exxele che non si vedono nel terminale? Credo che si possano fare solo tre colonne:

Pausa, microsecondi Prezzo Volume


Il prezzo è un array close(). E il simbolo e l'ora (inizio della registrazione) saranno salvati nel nome del file (ad esempio GBPUSD.f_2015.07.20 10_48_24.csv).

No. Penso che non sia la pausa che deve essere scritta nel file, ma il tempo di arrivo del tick con precisione al millisecondo. Altrimenti, se scriviamo immediatamente la differenza nel file, limiteremo il nostro spazio per le varie variazioni con il tempo - non lo avremo, dovremo calcolarlo. Lasciate che il programma si occupi della differenza, mentre Excel memorizza solo ciò che si suppone di memorizzare - i tick nel formato accettato di memorizzazione dei dati storici nel terminale.

Il volume in realtà non è necessario - memorizza il numero di tick per il periodo analizzato (candela, barra). Può anche essere calcolato programmaticamente, ma non prenderemo il prezzo Ask (almeno per il momento), tranne che per memorizzarlo al posto del volume. Ma dovremo studiare la diffusione. Il vero spread. E poi il suo comportamento può essere studiato anche visivamente. Stiamo cercando degli impulsi, giusto? Penso che anche il comportamento diffuso prima degli impulsi sia interessante da studiare.

Quindi, la mia opinione è la seguente: Tempo con una precisione di msec; Bid; Ask; Volume può essere aggiunto;

E riguardo al nome del file, mi sembra - non sarebbe male usare un prefisso nel nome, per esempio:

Data_ticks_GBPUSD_2015.07.20 10-48-24.csv

Perché un trattino e non un underscore nel formato orario - perché devi cercare i delimitatori programmaticamente. Il trattino basso separa i dati dei tick (Data_ticks) e il simbolo stesso (GBPUSD), il simbolo e l'inizio della data (2015.07.20). Uno spazio indica l'inizio del tempo di registrazione (10-48-24) e i trattini nella linea del tempo separano le ore, i minuti e i secondi. Potete rapidamente, e senza cercare i delimitatori, cambiarli programmaticamente nel formato orario corretto - 10:48:24 con StringReplace(). Se il programma ha bisogno di loro, naturalmente ...

 
  1. Bene. Il tempo di arrivo dei tick può essere registrato non in incrementi, ma direttamente in microsecondi dall'inizio del programma MQL5. Quest'ultimo calcolerà la pausa tra i tick man mano che sono necessari.
  2. Il secondo campo sarà quindi il prezzo dell'array close[] - cioè Bid.
  3. Ho alcuni dubbi su Ask. Vale la pena riceverlo? L'indicatore riceve l'array spread[] - può essere scritto. La persona che ne ha bisogno calcolerà Ask.
  4. Nome del file in questo formato: Data_ticks_GBPUSD.f_2015.07.20 16_02_36.csv

Aggiunto: il risultato è una tabella come questa:

Время тика, микросекунд Bid             Спред
3774846                 1.55539         19
3775156                 1.55544         19
3775266                 1.55546         19
3775514                 1.55545         19
3775715                 1.55546         19
3775825                 1.55547         19
3775906                 1.55548         19
3775984                 1.55547         19
3776060                 1.55549         19
3776135                 1.55548         19
3776209                 1.55551         19
3780395                 1.55550         19
3780598                 1.55549         19
4087710                 1.55548         19
4211786                 1.55546         19
4211864                 1.55545         19
4714858                 1.55544         19
4830308                 1.55543         19
6660164                 1.55544         19
6660282                 1.55543         19
9085846                 1.55542         19
9086033                 1.55541         19
9086138                 1.55542         19

Motivazione: