Testare 'CopyTicks'. - pagina 6

 
Karputov Vladimir:
Sono diversi su MetaQuotes-Demo - perché, ancora una volta, l'esempio dovrebbe essere il più semplice possibile. Le mie bandiere sono le stesse su MetaQuotes-Demo oggi.

Risultato del tuo indicatore oggi, server Meta-Quotes demo. Le bandiere tramite SymbolInfoTick sono nulle.

 
zimbabve15:

Risultato del tuo indicatore oggi, server Meta-Quotes demo. I flag attraverso SymbolInfoTick sono dotati di null.

Sono passati 10 minuti e non ho visto nessuna discrepanza tra le bandiere ricevute tramite CopyTicks e SymbolInfoTick su EURUSD su MetaQoutes-Demo.
 
Karputov Vladimir:
Sono passati 10 minuti - ma non ho mai visto una mancata corrispondenza tra le bandiere dei tick ricevuti tramite CopyTicks e SymbolInfoTick su EURUSD su MetaQoutes-Demo.

a 16.53 mismatch terminato quando il picco di attività era passato

 
Karputov Vladimir:
Sono passati 10 minuti, ma non ho mai visto su MetaQoutes-Demo, su EURUSD, le bandiere dei tick ricevuti tramite CopyTicks e SymbolInfoTick non coincidere.

La stessa cosa di nuovo su una mossa forte

 
Karputov Vladimir:
Mi ci sono voluti 10 minuti e non ho visto discrepanze tra le bandiere dei tick ricevuti tramite CopyTicks e SymbolInfoTick su EURUSD su MetaQoutes-Demo.

Propongo il seguente codice per i test:

#property copyright "Copyright © 2015, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.44"
#property description "Indicator for comparing the three modes of receiving ticks"
#property description "Индикатор для сравнения трёх режимов получения тиков"
#property indicator_plots 0
#property indicator_chart_window
int count=1; //считаем пришедшие тики в OnCalculate
int depth_save_tick=10; // количество тиков для записи
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию SymbolInfoTick depth_save_tick раз
MqlTick SymbolInfoTick_array_depth_save_tick[10]; 
//с приходом каждого тика в OnCalculate будем получать в массив структуру последнего тика через функцию CopyTicks 
MqlTick CopyTick_array_one_tick[];
//с приходом каждого тика в OnCalculate будем писать в массив структуру тика через функцию CopyTicks depth_save_tick раз
MqlTick  CopyTick_array_depth_save_tick[10]; 
//когда придет depth_save_tick тиков  запишем их одним запросом через CopyTicks
MqlTick CopyTick_array[]; 

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   MqlTick last_tick;
   SymbolInfoTick(Symbol(),last_tick);
   if(count%depth_save_tick==0)
     {
      int copied=CopyTicks(_Symbol,CopyTick_array,COPY_TICKS_ALL,0,depth_save_tick);
      Comment("");
     }
   else
     {
      SymbolInfoTick_array_depth_save_tick[count-1]=last_tick;
      CopyTicks(_Symbol,CopyTick_array_one_tick,COPY_TICKS_ALL,0,1);
      CopyTick_array_depth_save_tick[count-1]=CopyTick_array_one_tick[0];
     }
   count++;
   return(rates_total);
  }

L'idea: il tuo indicatore confronterà i valori ricevuti attraverso SymbolInfoTick e CopyTicks con una profondità di 1 tick, cioè gli ultimi valori che arrivano dal server. Nell'indicatore, nella proceduraOnCalculate salveremo il primo e il secondo valore in array ad ogni arrivo di un nuovo tick. L'output conterrà due array di tick, ottenuti con metodi diversi. Impostiamo la profondità di registrazione a 10. Dopo aver raggiunto questa profondità facciamo una richiestaCopyTicks per gli stessi 10 tick e confrontiamo questi tre array, e quindi testiamo il lavoro della tua idea con l'esempio più semplice, e vediamo come funziona CopyTicks con una profondità di storia di più di 1 tick.

Come sembra, la tua idea del "semplice esempio con un file" funziona e l'indicatore mostra correttamente i valori dei tick tramite SymbolInfoTick e CopyTicks con una profondità di 1 tick (non ho ancora considerato i forti movimenti, come ho scritto ieri, dove sono state ricevute 0 bandiere, aspetteremo l'apertura dell'America oggi). Ma appena cominciamo a confrontare queste storie, il quadro con le bandiere e altri valori nella struttura della zecca diventa poco chiaro. L'immagine mostra cos'è. Inoltre, il tempo in zecche ottenuto con i tre metodi coincide, cioè le zecche sono le stesse, ma hanno un riempimento diverso. Server MetaQuotes-Demo

E non ho dovuto aspettare gli Stati Uniti, di nuovo su un forte movimento:

Sono riuscito a scrivere i dati tick sul movimento, sono in allegato, gli zeri vengono attraverso SymbolInfoTick può essere visto chiaramente, posso dare screenshot confrontare il tempo di allarme indicatore e gli zeri nel file. Server MetaQuotes-Demo

 

Come finisce questo thriller?

Ho letto tutto e non c'è una fine.

 
Nemoys:

Come finisce questo thriller?

Ho letto tutto e non c'è un finale.

Il Service Desk ha risposto:

Buon pomeriggio. Le vostre richieste sono in lavorazione. Risponderemo in ognuno di essi quando il problema sarà stato risolto.

Sembra che un aggiornamento sia stato promesso per l'inizio di marzo, quindi stiamo aspettando.

 

La tempistica e la sequenza dei tick sono coerenti con i dati della borsa o con i dati del server di trading della metatrader?

Per esempio, potrebbe essere che una particolare offerta sulla borsa sia nata al 100° millisecondo e sia morta al 101°, ma nella storia del metatrader questa offerta manca o ha un tempo di nascita/morte non uguale a 100/101?

 
Anton Zverev:

La tempistica e la sequenza dei tick sono coerenti con i dati della borsa o con i dati del server di trading della metatrader?

Per esempio, può essere che un'offerta particolare sulla borsa sia nata al 100° millisecondo e sia morta al 101°, ma nella storia del metatrader questa offerta è assente, o con un tempo di nascita/morte non uguale a 100/101?

Tutte le spunte sono assolutamente accurate, senza omissioni o altri errori.

La base di tick è la stessa per tutti i processi in MetaTrader 5: server, terminali, tester, ecc.

 
MetaQuotes Software Corp.:

Tutte le spunte sono assolutamente accurate, senza omissioni o altri errori.

Il tick-base è lo stesso per tutti i processi di MetaTrader 5: server, terminali, tester, ecc.

Risulta che se scarico la storia delle zecche dal sito di scambio e dal cinque, sarà una corrispondenza completa con una precisione di ms?

Le zecche nel tester sono per FORTS Demo o per davvero?

Motivazione: