Testare 'CopyTicks'.

 

Cominciamo con uno semplice: il volume. Qui sotto c'è un'immagine del glitch rilevato. Occasionalmente appaiono dei "doppi" nei volumi.


Win7-64

MT5-1085

Broker "Otkritie", server reale.

Il ciclo dell'indicatore principale si presenta come segue:

//---------------------------------------------------------------------
//      Внешние задаваемые параметры:
//---------------------------------------------------------------------
input int                               TickCount = 2000;
input ENUM_TICK_TYPE                    TickType = ENUM_COPY_TICKS_ALL;
//---------------------------------------------------------------------
//---------------------------------------------------------------------
MqlTick         ticks_Arr[ ];
int             copied;
//---------------------------------------------------------------------
int
OnCalculate( const int _rates_total, const int _prev_calculated, const int _begin, const double& _price[ ] )
{
        if( _prev_calculated <= 0 )
        {
                ArrayInitialize( VolumeBuffer, 0 );
        }

        copied = CopyTicks( _Symbol, ticks_Arr, TickType, 0, TickCount );
        if( copied > 0 )
        {
                for( int i = copied - 1; i >= 0; i-- )
                {
                        MqlTick tick = ticks_Arr[ i ];

                        VolumeBuffer[ _rates_total - copied + i ] = ( double )tick.volume;
//                      Print( tick.volume );
                }
        }

        return( _rates_total );
}

Non ho trovato alcuna regolarità nella comparsa dei "gemelli". Spero che gli sviluppatori lo sistemino prontamente.

L'indicatore con volume in tick è allegato (compilato su MT5-1100).

File:
 
Dima_S:

Cominciamo con uno facile: il volume. Qui sotto c'è un'immagine del glitch rilevato. Occasionalmente appaiono dei "doppi" nei volumi.


Win7-64

MT5-1085

Broker "Otkritie", server reale.

Il ciclo dell'indicatore principale si presenta come segue:

Non ho trovato alcuna regolarità nella comparsa di "gemelli". Spero che gli sviluppatori lo sistemino prontamente.

L'indicatore con volume in tick è allegato (compilato su MT5-1100).

Mi sono rivolto a servicedesk riguardo a CopyTicks() (c'era un errore in questa funzione)

Ecco la risposta di SD:

Questa funzionalità è ancora in fase di sviluppo. Molti componenti della piattaforma sono stati modificati per fornire un accesso completo al flusso di tick. Dovremo aspettare ancora un po' di tempo.

 
Mikalas:

Ho controllato con servicedesk riguardo a CopyTicks() (c'era un errore con questa funzione)

Ecco la risposta di SD:

Questa funzionalità è ancora in fase di sviluppo. Molti componenti della piattaforma sono stati modificati per fornire un accesso completo al flusso di tick. Dovremo aspettare ancora un po' di tempo.

Sei fortunato, non ho ancora ricevuto risposta da servicedesk per questa funzione...
 
Mikalas:

Ho controllato con servicedesk riguardo a CopyTicks() (c'era un errore con questa funzione)

Ecco la risposta di SD:

Questa funzionalità è ancora in fase di sviluppo. Molti componenti della piattaforma sono stati modificati per fornire un accesso completo al flusso di tick. Dovremo aspettare ancora un po' di tempo.

Capisco. Quindi è un prodotto mezzo finito per ora. Aspetteremo ancora un po'))

Un'altra cosa che non capisco è perché hanno rotto qualcosa che già funzionava - la modalità "tumbler" estesa.

 

Mentre gli sviluppatori si grattano la testa, suggerirò una variante della struttura MqlTick.

struct MqlTick
{
  datetime   time;           // Время последнего обновления цен
  uint       time_count;     // микросекунды ( крайне желательно брать с биржи )
  double     bid;            // Текущая цена Bid
  double     ask;            // Текущая цена Ask
  double     last;           // Текущая цена последней сделки (Last)
  ulong      volume;         // Объем для текущей цены Last
  ulong      interest;       // Текущая величина ОИ, после исполнения последней сделки Last
  ulong      buy_orders;     // Текущее число ордеров покупателей, после исполнения последней сделки Last
  ulong      sell_orders;    // Текущее число ордеров продавцов, после исполнения последней сделки Last
  ulong      buy_orders_vol; // Текущий объем ордеров покупателей, после исполнения последней сделки Last
  ulong      sell_orders_vol;// Текущий объем ордеров продавцов, после исполнения последней сделки Last
  char       action;         // Действие ( 'B' - покупка, 'S' - продажа )
 };

Tutto il resto della funzione può essere lasciato com'è.

 
Dima_S:

Mentre gli sviluppatori si grattano la testa, suggerirò una variante della struttura MqlTick.

Tutto il resto della funzione può essere lasciato com'è.

Fico! ! D'accordo!
 
Dima_S:

Mentre gli sviluppatori si grattano la testa, suggerirò una variante della struttura MqlTick.

Tutto il resto della funzione può essere lasciato com'è.

Aggiungerei la direzione della transazione. Chi è stato l'iniziatore (venditore o compratore)
 
Prival-2:
Aggiungerei la direzione della transazione. Chi è stato l'iniziatore (venditore o compratore)
Sì, omesso - aggiunto.
 
E preferibilmente non l'ora dell'ultimo aggiornamento dei prezzi. Più preciso sarebbe probabilmente il tempo di cambiamento dei dati + aggiungere ciò che il volume è sul bidet e ciò che è sul vetro aska (probabilmente meglio tutto in una volta).
 
Sì. E la possibilità di ottenere la storia più profonda accumulata dal server per tutti questi dati attraversohttps://www.mql5.com/ru/docs/series/copyticks e testare le strategie utilizzando nel tester. Allora gli scalper avranno un paradiso in MT5) E se accumuliamo i dati di ogniBookEvent- allora verrà fuori l'enorme dimensione dell'archivio che non si adatta al server)
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTicks - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Perché tenere tutta la storia del re dei piselli sul server. Potete limitare la profondità a una quantità ragionevole, per esempio una settimana. E una storia più profonda può essere resa disponibile su richiesta (dal file server). Chi vuole la storia del vetro per l'anno 2010, nessun problema, scaricatela e poi lasciatela testare fino a quando non saranno completamente blu in faccia.

Allo stesso tempo rendendolo (la storia) disponibile agli altri tramite la tecnologia torrent. Ci sono molte soluzioni. Questa è solo una delle opzioni.

Motivazione: