Test des "CopyTicks".

 

Commençons par un élément simple : le volume. Vous trouverez ci-dessous une photo de l'anomalie détectée. Il arrive que des "doubles" apparaissent dans les volumes.


Win7-64

MT5-1085

Broker "Otkritie", serveur réel.

Le cycle de l'indicateur principal se présente comme suit :

//---------------------------------------------------------------------
//      Внешние задаваемые параметры:
//---------------------------------------------------------------------
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 );
}

Je n'ai pas trouvé de régularité dans l'apparition des "jumeaux". J'espère que les développeurs vont rapidement le corriger.

L'indicateur avec le volume en tick est joint (compilé sur MT5-1100).

Dossiers :
 
Dima_S:

Commençons par un élément simple : le volume. Vous trouverez ci-dessous une photo de l'anomalie détectée. Il arrive que des "doubles" apparaissent dans les volumes.


Win7-64

MT5-1085

Broker "Otkritie", serveur réel.

Le cycle de l'indicateur principal se présente comme suit :

Je n'ai pas trouvé de régularité dans l'apparition des "jumeaux". J'espère que les développeurs vont rapidement le corriger.

L'indicateur avec le volume en ticks est joint (compilé sur MT5-1100).

Je me suis adressé à Servicedesk au sujet de CopyTicks() (il y avait une erreur dans cette fonction).

Voici la réponse de SD :

Cette fonctionnalité est encore en cours de développement. De nombreux composants de la plate-forme sont en cours de modification pour fournir un accès complet au flux de tics. Nous devrons attendre encore un peu.

 
Mikalas:

J'ai vérifié avec servicedesk à propos de CopyTicks() (il y avait une erreur avec cette fonction)

Voici la réponse de SD :

Cette fonctionnalité est encore en cours de développement. De nombreux composants de la plate-forme sont en cours de modification pour permettre un accès complet au flux de tics. Nous devrons attendre encore un peu.

Vous avez de la chance, je n'ai toujours pas eu de réponse de servicedesk à propos de cette fonctionnalité...
 
Mikalas:

J'ai vérifié avec servicedesk à propos de CopyTicks() (il y avait une erreur avec cette fonction)

Voici la réponse de SD :

Cette fonctionnalité est encore en cours de développement. De nombreux composants de la plate-forme sont en cours de modification pour permettre un accès complet au flux de tics. Nous devrons attendre encore un peu.

Je vois. C'est donc un produit semi-fini pour l'instant. Nous allons attendre encore un peu))

Une autre chose que je ne comprends pas est pourquoi ils ont cassé quelque chose qui fonctionnait déjà - le mode "tumbler" étendu.

 

Pendant que les développeurs se grattent la tête, je vais suggérer une variante de la structure 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' - продажа )
 };

Tout le reste de la fonction peut être laissé tel quel.

 
Dima_S:

Pendant que les développeurs se grattent la tête, je vais suggérer une variante de la structure MqlTick.

Tout le reste de la fonction peut être laissé tel quel.

Cool ! ! D'accord !
 
Dima_S:

Pendant que les développeurs se grattent la tête, je vais suggérer une variante de la structure MqlTick.

Tout le reste de la fonction peut être laissé tel quel.

J'ajouterais le sens de la transaction. Qui était l'initiateur (vendeur ou acheteur)
 
Prival-2:
J'ajouterais le sens de la transaction. Qui était l'initiateur (vendeur ou acheteur)
Oui, omis - ajouté.
 
Et de préférence pas la dernière heure de mise à jour des prix. Plus précis serait probablement le moment du changement de données + ajouter le volume qui est sur le bidet et ce qui est sur le verre de l'aska (probablement mieux tout à la fois).
 
Oui. Et la possibilité d'obtenir l'historique le plus profond accumulé par le serveur pour toutes ces données viahttps://www.mql5.com/ru/docs/series/copyticks et de tester des stratégies en les utilisant dans le testeur. Alors les scalpers auront un Paradis dans MT5) Et si nous accumulons les données de chaqueBookEvent- alors la taille énorme de l'archive qui ne tiendra pas sur le serveur sortira).
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTicks - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Pourquoi garder toute l'histoire du roi des pois sur le serveur. Vous pouvez limiter la profondeur à un montant raisonnable, par exemple une semaine. Et un historique plus approfondi peut être mis à disposition sur demande (à partir du serveur de fichiers). Qui veut l'historique du verre pour l'année 2010, pas de problème, téléchargez-le et laissez-les le tester jusqu'à ce qu'ils aient le visage complètement bleu.

Dans le même temps, il met (l'histoire) à la disposition des autres via la technologie torrent. Il existe de nombreuses solutions. Ce n'est qu'une des options possibles.

Raison: