Storia di zecca - pagina 11

 
Maxim Dmitrievsky:
Per favore, spiega di nuovo. Qual è la profondità della storia delle zecche disponibile ora? La cronologia viene scaricata dal server, quindi non ha bisogno di essere salvata?

Ho allegato lo script. Fallo girare un paio di volte. La storia si scaricherà lentamente dal server. E sì, non è necessario salvare la storia ora.


Maxim Dmitrievsky:
... Come funziona il tester? Usa la simulazione dei tick o la cronologia dei tick?
Nella 1190, le zecche nel tester non sono ancora scaricate, ma lo saranno molto presto.
File:
CopyTicks.mq5  2 kb
 
Karputov Vladimir:

La sceneggiatura è stata allegata. Fallo girare un paio di volte. La storia si scaricherà lentamente dal server. E sì, non è necessario salvare la storia ora.


In 1190 come le zecche nel tester non è ancora pompato, ma presto, molto presto sarà.
Grazie. Quindi, il tester si baserà sulla cronologia dei tick disponibile e se non è disponibile, modellerà in base al tipo dei timeframe più piccoli?
 
Maxim Dmitrievsky:
Grazie. Quindi il tester si baserà sulla cronologia dei tick disponibile e se non è disponibile simulerà, come i timeframe più piccoli?
Non ancora nella build 1190. Ma è sulla strada che il tester testerà presto sulla storia reale delle zecche.
 
Maxim Dmitrievsky:
Grazie. Quindi, il tester userà la cronologia dei tick disponibile e se non è disponibile, la simulerà in base al tipo del timeframe più piccolo?

Per quanto ho capito dalle parole di Renat, nella prossima build la cronologia dei tick sarà completamente disponibile. In questo momento la cronologia dei tick è disponibile solo nel terminale (il che, a proposito, è strano, perché all'inizio hanno annunciato la cronologia dei tick per il tester, ma per il terminale hanno detto che non sarà disponibile).

Per quanto riguarda quanto è disponibile. Ho caricato più di 20 milioni di zecche. Questo non è il limite.

 

Aggiornamento alla build 1191, per favore.

Ecco i risultati di un semplice script nel 1191:

MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,0,200000000);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20, " Mb");
  }

200.000.000 di zecche di query:

2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Size 2876 Mb
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Тик: 2015.10.16 23:59:10 bid: 0.0 ask: 0.0 last: 0.0 [75392920]
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Тик: 2011.12.19 00:00:08 bid: 1.30328 ask: 1.30342 last: 0.0 [0]
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Получено тиков: 75392921 код ошибки: 0

La dimensione dei dati emessi è di quasi 3 gb per 75 milioni di tick. E l'ultima quotazione con bid=0/ask=0/last=0 mostra la chiusura della sessione di trading.


Nella versione del 22 ottobre, un campo di tempo in millisecondi sarà aggiunto a MqlTick.

ps: fate scorta di RAM

 
Tapochun:

La cronologia dei tick è ora disponibile solo nel terminale (il che è strano, tra l'altro, perché prima hanno annunciato la cronologia dei tick per il tester, ma hanno detto che non sarebbe stata disponibile per il terminale).

Non c'è niente di strano.

Per prima cosa dobbiamo implementare tutti i protocolli di rete, la consegna e i meccanismi di sincronizzazione corretti per memorizzare i dati dei tick nel terminale stesso, e solo allora trasferire questi dati allo Strategy Tester e al MQL5 Cloud Network. Un tester è un programma separato con i propri flussi di dati. Il MQL5 Cloud Network è un sistema ancora più complesso.

 
Renat Fatkhullin:

Aggiornare alla build 1191, per favore.

Ecco i risultati di un semplice script:

query per 200.000.000 ticks:

La dimensione dei dati rilasciati è di quasi 3gb. E l'ultima quotazione con bid=0/ask=0/last=0 mostra la chiusura della sessione di trading dello stack di prezzi.


Il campo tempo in millisecondi sarà aggiunto a MqlTick nella versione del 22 ottobre.

Ho capito bene che ora e in modalità ALL i tick si alternano, cioè #1 - bid != 0, ask != 0, flipper = 0, #2 - bid = 0, ask = 0 e flipper != 0 ecc. E in modalità INFO ogni tick ha bid e ask != 0?
 
Renat Fatkhullin:

Non c'è niente di strano.

È necessario prima implementare tutti i protocolli di rete, la consegna e i meccanismi di sincronizzazione corretti e la memorizzazione dei dati di spunta nel terminale stesso e solo allora trasferire questi dati allo Strategy Tester e a MQL5 Cloud Network. Un tester è un programma separato con i propri flussi di dati. Il MQL5 Cloud Network è un sistema ancora più complesso.

Grazie per il chiarimento, ricordo solo una conversazione (in cui ero coinvolto) in cui dicevi che ci sarebbe stata solo una storia di zecche nel tester. Ma è innegabilmente meglio!

Per non essere infondato:

Si prega di leggere attentamente l'intero ramo.

Nessuno ha mai parlato di dati di tick nei grafici e non ci sono piani per implementarlo. Solo nel tester ci sono piani per generare automaticamente un flusso di tick se è presente sul server.


 
Tapochun:
Ho capito bene che ora e in modalità ALL i tick si alternano, cioè #1 - bid != 0, asc != 0, flipper = 0, #2 - bid = 0, asc = 0 e flipper != 0 ecc. E in modalità INFO ogni tick ha bid e ask != 0?
Non ci sono regole di alternanza o di riempimento - le zecche arrivano in modo caotico.
 
Aggiunto uno script al primo post. Chi finisce la RAM non è da biasimare :) .