Synchroniser l'heure locale de Windows avec le serveur MT5 - page 11 1...4567891011121314151617 Nouveau commentaire fxsaber 2017.01.24 11:15 #101 prostotrader: 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. prostotrader 2017.01.24 11:16 #102 fxsaber: 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.OKAjoutéMais là encore, je pense que la fonction ticks in history est "glitchy".https://www.mql5.com/ru/forum/94399/page6#comment_2763826 prostotrader 2017.01.24 14:10 #103 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.... Dossiers : p31kl1.zip 114 kb Conseiller en multidevise - Le discours sur l'abandon Erreurs, bugs, questions fxsaber 2017.01.24 15:47 #104 prostotrader: 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. Je ne comprends pas. Il n'y a pas de différence et pourtant il y en a une. prostotrader 2017.01.24 16:12 #105 fxsaber: 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. prostotrader 2017.01.24 16:37 #106 Le vol de 18:45 est OK Dossiers : Book_new.zip 12586 kb prostotrader 2017.01.24 21:08 #107 prostotrader: 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.17460 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-solJ'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... prostotrader 2017.01.25 18:06 #108 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-2msAjoutéCode pour obtenir l'historique#property copyright "Copyright 2017, MetaQuotes Software Corp."#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); } Dossiers : Book2.zip 650 kb Synchronise Windows local time Une fois encore, il Toute question de débutant, [Supprimé] 2017.01.25 19:41 #109 prostotrader: Le SD est silencieux ? prostotrader 2017.01.25 20:09 #110 Alexey Kozitsyn: 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 transactionsfonctionne 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 deresponsable des commandes est "boiteux"... [ARCHIVE] Toute question de Niveaux d'offre et de League of Trading Systems. 1...4567891011121314151617 Nouveau commentaire
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"...