Erreurs, bugs, questions - page 2096

 
fxsaber:

Qui vous a dit que le champ de spread de la barre actuelle est égal au spread actuel ou, par exemple, au minimum ?

Utilisez SymbolInfoTick, les barres sont un rudiment historique.

CopySpread - se souvient du minimum - dit la pratique, qui dans la plupart des cas s'avère être le critère de vérité. Il en ressort que la barre 2017.10.23 01:00 CopySprea=-3, car il n'y en avait pas moins lors de la vérification par rapport aux ticks.

Je dirais que les barres sont un outil indispensable pour analyser le passé.

SymbolInfoTick est correct, mais est-ce vraiment la raison de laisser CopySpread incorrect ? Je comprends que 1 pt. - est une bagatelle, je pense, et le fixer élémentaire s=s-1. C'est tout.)

 
elibrarius:

SymbolInfoTick - il s'affiche correctement, mais est-il vraiment nécessaire de laisser CopySpread incorrect à cause de cela ? Je comprends que 1 pt. - est une bagatelle, je pense, qu'il est élémentaire de le corriger s=s-1. C'est tout.)

Avant d'exécuter le testeur, regardez l'historique de la barre pour voir si elle a un écart négatif. C'est un champ tordu pour rien.

Si les développeurs d'aujourd'hui inventaient MqlRates, il y aurait des champs normaux au lieu de cette merde. Mais ils n'ont pas le temps de reconsidérer cette structure et en ont déjà tiré toutes sortes d'absurdités. Donc, nous avons un tel rudiment d'histoire. Et maintenant, ils vont devoir supporter ce fardeau en permanence.

 
elibrarius:

CopySpread - se souvient du minimum - dit la pratique, qui dans la plupart des cas s'avère être le critère de vérité. Il en ressort que la barre 2017.10.23 01:00 CopySprea=-3, car il n'y en avait pas moins lors du contrôle par ticks.

Je dirais que les barres sont un outil indispensable pour analyser le passé.

SymbolInfoTick est correct, mais est-ce vraiment la raison de laisser CopySpread incorrect ? Je comprends que 1 pt. - est une bagatelle, je pense, et fixer l'élémentaire s=s-1. C'est tout.)

Si vous êtes attentif, vous pouvez regarder les minutes et voir que la dernière valeur de l'écart est mémorisée lorsqu'une nouvelle barre apparaît.

 
Alexey Viktorov:

Si vous êtes attentif, vous pouvez observer les minutes pour voir que la dernière valeur de l'écart est mémorisée lorsqu'une nouvelle barre apparaît.

En regardant de plus près - je suis d'accord, mais en partie.

Code de l'expert :

void OnTick() { 
  int s[];
  CopySpread(_Symbol,_Period,0,1,s);
  Print(s[0]);
  MqlTick last_tick;
  if(SymbolInfoTick(Symbol(),last_tick)) { Print(last_tick.time,": Bid = ",last_tick.bid, " Ask = ",last_tick.ask,"  SP = ",DoubleToString(last_tick.ask-last_tick.bid,5)); }
}

Voici une impression d'une minute - d'abord la propagation de CopySpread. Puis calculé à partir de Ask-Bid

2018.01.01 11:55:00.478 2017.10.23 01:00:00 14
2018.01.01 11:55:00.478 2017.10.23 01:00:00 2017.10.23 01:00:00 : Bid = 1.17715 Ask = 1.17729 SP = 0.00014
2018.01.01 11:55:00.494 2017.10.23 01:00:00 9
2018.01.01 11:55:00.494 2017.10.23 01:00:00 2017.10.23 01:00:00 : Bid = 1.17715 Ask = 1.17724 SP = 0.00009
2018.01.01 11:55:00.510 2017.10.23 01:00:00 9
2018.01.01 11:55:00.510 2017.10.23 01:00:00 2017.10.23 01:00:00 : Bid = 1.17716 Ask = 1.17726 SP = 0.00010
...........
2018.01.01 11:55:01.023 2017.10.23 01:00:30 1
2018.01.01 11:55:01.023 2017.10.23 01:00:30 2017.10.23 01:00:30 : Bid = 1.17704 Ask = 1.17705 SP = 0.00001
2018.01.01 11:55:01.876 2017.10.23 01:00:30 -1
2018.01.01 11:55:01.876 2017.10.23 01:00:30 2017.10.23 01:00:30 : Bid = 1.17707 Ask = 1.17705 SP = -0.00002
2018.01.01 11:55:01.893 2017.10.23 01:00:31 -3
2018.01.01 11:55:01.893 2017.10.23 01:00:31 2017.10.23 01:00:31 : Bid = 1.17707 Ask = 1.17703 SP = -0.00004

2018.01.01 11:55:01.909 2017.10.23 01:00:31 -3
2018.01.01 11:55:01.909 2017.10.23 01:00:31 2017.10.23 01:00:31 : Bid = 1.17707 Ask = 1.17704 SP = -0.00003
2018.01.01 11:55:01.925 2017.10.23 01:00:32 -3
...........
2018.01.01 11:55:02.293 2017.10.23 01:00:48 -3
2018.01.01 11:55:02.293 2017.10.23 01:00:48 2017.10.23 01:00:48 : Bid = 1.17702 Ask = 1.17707 SP = 0.00005
2018.01.01 11:55:02.309 2017.10.23 01:00:48 -3
2018.01.01 11:55:02.309 2017.10.23 01:00:48 2017.10.23 01:00:48 : Bid = 1.17703 Ask = 1.17707 SP = 0.00004
2018.01.01 11:55:02.325 2017.10.23 01:00:49 -3
2018.01.01 11:55:02.325 2017.10.23 01:00:49 2017.10.23 01:00:49 : Bid = 1.17707 Ask = 1.17707 SP = 0.00000

C'est-à-dire que la valeur de CopySpread sur la barre actuelle = minimum.

Mais dans l'histoire de la barre, la dernière valeur a vraiment disparu.

<DATE> <HEURE> <OUVERT> <HAUT> <BAS><CLOSE> <VOLUME> <VOL> <SPREAD>
2017.10.23 01:00:00 1.17715 1.17720 1.17693 1.17707 64 0 0

La plupart du temps (au moins 10 vérifications), mais il y a aussi des défaillances.
Voici le problème décrit ci-dessus le 2017.10.23 00:53

Dans l'histoire.

2017.10.23 00:53:00 1.17685 1.17725 1.17685 1.17725 8 0 9

Et sur les tiques :

2018.01.01 11:54:59.009 2017.10.23 00:53:43 48
2018.01.01 11:54:59.009 2017.10.23 00:53:43 2017.10.23 00:53:43 : Bid = 1.17724 Ask = 1.17733 SP = 0.00009
2018.01.01 11:54:59.025 2017.10.23 00:53:43 48
2018.01.01 11:54:59.025 2017.10.23 00:53:43 2017.10.23 00:53:43 : Offre = 1.17725 Demande = 1.17736 SP = 0.00011
2018.01.01 11:54:59.041 2017.10.23 00:53:43 48
2018.01.01 11:54:59.041 2017.10.23 00:53:43 2017.10.23 10.23 00:53:43 : Bid = 1.17725 Ask = 1.17737 SP = 0.00012 <<<<<<---------- dernière barre tick
2017.10.23 00:53
2018.01.01 11:54:59.057 2017.10.23 00:54:11 9
2018.01.01 11:54:59.057 2017.10.23 00:54:11 2017.10.23 00:54:11 : Bid = 1.17728 Ask = 1.17737 SP = 0.00009 <<<<<<---------- premier tick bar 2017.10.23 00:54 - ici il correspond

J'ai vérifié la version selon laquelle l'écart du premier tick de la barre suivante entre dans l'historique. Non confirmé :

Histoire
2017.10.23 00:59:00 1.17717 1.17723 1.17709 1.17715 14 0 3

1er tick de la barre suivante
2018.01.01 11:55:00.478 2017.10.23 01:00:00 14
2018.01.01 11:55:00.478 2017.10.23 01:00:00 2017.10.23 01:00:00 : Bid = 1.17715 Ask = 1.17729 SP = 0.00014

Histoire

2017.10.23 01:00:00 1.17715 1.17720 1.17693 1.17707 64 0 0

1er tick de la barre suivante
2018.01.01 11:55:02.342 2017.10.23 01:01:03 1
2018.01.01 11:55:02.342 2017.10.23 01:01:03 2017.10.23 01:01:03 : Bid = 1.17707 Ask = 1.17708 SP = 0.00001

Dans l'ensemble - un certain désordre avec des tartines (

 
elibrarius:

...

Dans l'ensemble - une certaine confusion au sujet des spreads (


 

MT4 b1090, plusieurs dizaines de symboles dans Market Watch, plusieurs graphiques ouverts. terminal.exe consomme 0-1% de CPU.

MT5 b1730, seulement GBPUSD MetaQuotes-Demo dans Market Watch, pas de graphiques. terminal64.exe consomme 2-3% de CPU.

Est-ce normal ?

 
fxsaber:

MT4 b1090, plusieurs dizaines de symboles dans Market Watch, plusieurs graphiques ouverts. terminal.exe consomme 0-1% de CPU.

MT5 b1730, seulement GBPUSD MetaQuotes-Demo dans Market Watch, pas de graphiques. terminal64.exe consomme 2-3% de CPU.

Est-ce normal ?

Le sujet a été abordé à plusieurs reprises. MT5 est un peu plus gourmand en ressources CPU car il diffuse plus d'informations.

Mais il est incorrect de comparer à 1-2% près.

 
Andrey Khatimlianskii:

Le sujet a été abordé à plusieurs reprises. MT5 est légèrement plus gourmand en ressources CPU car il diffuse plus d'informations.

Mais il est incorrect de comparer à 1-2% près.

Plusieurs navigateurs avec des dizaines d'onglets ouverts en mode lecture mangent zéro. C'est étrange quand un terminal complètement vide consomme comme un client torrent. Et cela ne change pas si vous débranchez l'internet de l'ordinateur.

 
fxsaber:

Plusieurs navigateurs avec des dizaines d'onglets ouverts en mode lecture mangent zéro. C'est étrange quand un terminal complètement vide consomme comme un client torrent. Et ça ne change pas si on le débranche de l'ordinateur.

Il est incorrect de le comparer à un navigateur. Les onglets d'arrière-plan, pour autant que je sache, ne consomment pas du tout de ressources.

Le terminal reçoit les ticks et construit une série chronologique, que le graphique soit actif ou non, de sorte que lorsque vous passez à ce dernier, il affiche les informations actuelles sans délai.

Mais je ne défends pas vraiment MT, je signale simplement que personne n'a jamais pris la peine de faire une comparaison complète avec tous les calculs pour le service d'assistance.

 
fxsaber:

Plusieurs navigateurs avec des dizaines d'onglets ouverts en mode lecture mangent zéro. C'est étrange quand un terminal complètement vide consomme comme un client torrent. Et rien ne change si vous débranchez l'internet du PC.


Mt4 fonctionne dans le même fil et sait donc toujours où il est et qui il est. Mt5 est tout à fait désynchronisé, bien qu'il ne puisse pas travailler en mode multithread, d'où les freins. Mt5 veut se synchroniser et ne peut pas le faire ;))

p.s. J'ai le méta-éditeur d'un courtier dans la liste des programmes interdits, pour une raison quelconque, il consomme beaucoup de trafic et ralentit l'ordinateur dans son ensemble.