![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Demande officielle auprès de votre courtier, mais comme ces données sont payantes,
Demandez un extrait des 2-3 dernières minutes sur Si-3.17 le 20.01.2017.
Puis comparez-le avec ce qu'ils m'ont donné.
Désolé, pas le temps pour ça en ce moment. Je suis sûr que vous avez vérifié et revérifié minutieusement dans le SD lui-même.
OK
Ajouté
Mais là encore, je pense que la fonction ticks in history est "glitchy".
https://www.mql5.com/ru/forum/94399/page6#comment_2763826
J'ai "exporté" le tableau des transactions nulles (2000) vers Exel depuis Quik et j'ai fait de même dans MT5 - aucune différence.
J'ai fait la même chose dans MT5 - aucune différence.
Apparemment, j'ai raison, les tics ne sont pas correctement enregistrés dans l'historique.
(A la fin de la session du soir) :)
Et dans le sujet que j'ai indiqué ci-dessus, temps 21-25 voyons ce qui se passe dans la soirée....
J'ai fait la même chose dans MT5 - aucune différence.
Apparemment, j'ai raison de dire que les tics ne sont pas correctement enregistrés dans l'historique.
Quelque chose n'a pas de sens. Il n'y a pas de différence et pourtant il y en a une.
Qu'est-ce qu'il y a à ne pas comprendre ?
Le bug s'accumule au fil du temps.
Je n'ai pas été paresseux et j'ai édité le fichier Exchange et il s'est avéré que par minute sur Si-3.17
460 transactions ont été effectuées, et le test CopyTicks() avecCOPY_TICKS_TRDAE a montré qu'il y avait 294 transactions.
Les bûches sont dans le sous-sol
J'ai refait le calcul - j'ai fait une erreur (tout est tombé)COPY_TICKS_TRDAE - ça marche bien,
mais le reste est un désordre...
Voyons cela...
J'ai revérifié les transactions dans l'historique - tout correspond (dans les 2 derniers jours) à environ 500 000 transactions !
Et avec INFO (commandes), c'est le bazar !
Contrairement à fxsaber, je fais entièrement confiance à l'échange, et cela se voit clairement dans le fichier de comparaison.
Le dossier de comparaison est au sous-sol.
Les lignes de MT5 coïncident avec la bourse UNIQUEMENT les 300 premières lignes (s'est énervé et n'a pas fait plus)
Ajouté
La différence entre le temps de l'échangeur et du serveur 0-2ms
Ajouté
Code pour obtenir l'historique
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
MqlTick post_ticks[];
string symbol = "Si-3.17";
ulong from = ulong(D'2017.01.20 23:49:00') * 1000;
int result=CopyTicks(symbol, post_ticks, COPY_TICKS_ALL, from, 2000);
if(result > 0)
{
string str="";
int f_handle=FileOpen("Si-3.17_ticks.txt",FILE_WRITE|FILE_ANSI|FILE_TXT);
if (f_handle != INVALID_HANDLE)
{
FileWrite(f_handle, "Symbol\tTime\tLast\tFlags");
for(int i = 0; i< result;i++)
{
if(post_ticks[i].flags == 88)
{
str=symbol + "\t" + string(post_ticks[i].time) + "." +
string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
"\tПродажа";
}
else
if(post_ticks[i].flags == 56)
{
str=symbol + "\t" + string(post_ticks[i].time) + "." +
string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
"\tПокупка";
}
else
{
str=symbol + "\t" + string(post_ticks[i].time) + "." +
string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
"\t" + string(post_ticks[i].flags);
}
FileWrite(f_handle, str);
}
FileClose(f_handle);
}
}
//---
return(INIT_SUCCEEDED);
}
Le conseil d'administration est silencieux ?
Il est peu probable que cela soit résolu aussi rapidement :(
Ajouté
Je pense avoir une idée de la raison pour laquelle cela se produit !
Le problème est que les transactions et les cotations (ordres) de la bourse arrivent dans des flux différents,
et sur le serveur, ils sont traités par différentes fonctions. Celui qui est responsable des transactions
fonctionne correctement et enregistre l'information dans l'historique
(comme en témoigne le fait que nous n'avons pas un seul skip en 496 357 échanges), et le responsable de
responsable des commandes est "boiteux"...