L'énigme du profilage des experts - comment ne pas dépasser la limite des 15 minutes du Championnat - page 3

 
DC2008:
Vous devrez apprendre aux programmeurs MQ à écrire des indicateurs. La performance de telle ou telle approche est prouvée dans l'article, si vous êtes trop paresseux pour le lire, elle est divisée par 20.

Conneries ! Dans MT4, lorsque iCustom() est appelé, le temps de test n'augmente que de 10%. Je ne l'ai pas mesuré dans MT5, mais je suppose que ce sera encore moins.

Ces 10 % ne sont rien comparés à la commodité des indicateurs, à la fiabilité et aux capacités de mise en œuvre d'algorithmes complexes d'analyse des données.

 
marketeer:

...

J'aimerais en savoir plus sur la façon dont l'inidactor devient un goulot d'étranglement. J'ai un indicateur en service, mais la lecture de ses données est incluse dans les 1,5 minutes de chronométrage que j'ai mesurées.

Si vous utilisez la valeur de l'indicateur à partir d'une barre formée, appelez l'indicateur une fois par barre sur chaque barre, pas à chaque tick et pas selon les besoins en sautant des barres.

 
Integer:

Si vous utilisez une valeur d'indicateur à partir d'une barre formée, appelez l'indicateur une fois par barre sur chaque barre, pas à chaque tick et pas au besoin avec des barres sautées.

Je l'ai fait. Le test s'est déroulé en 12 minutes au lieu de 16 minutes. Au total, cela donne un gain d'un quart du temps par rapport à "mon" temps estimé. Mais étant donné qu'il y aura un autre mois d'essais avant le début du championnat, tout reste en suspens.
 
Il y a une autre astuce. Saute hors de OnTick() si le prix a changé de moins d'un point à quatre chiffres.
 
marketeer:
C'est ce que j'ai fait. Le test a été réalisé en 12 minutes au lieu de 16. Au total, cela donne un gain d'un quart du temps par rapport à "mon" temps estimé. Mais étant donné qu'il y aura encore un mois d'essais avant le début du championnat, tout reste en question.
L'indicateur est peut-être trop lent ? Essayez de le remplacer par un autre, simple et rapide, pour estimer le temps passé sur l'indicateur et le traitement des commandes. Le traitement des commandes prend beaucoup de temps.
 
Integer:

Conneries ! Dans MT4, lorsque iCustom() est appelé, le temps de test n'augmente que de 10%. Je ne l'ai pas mesuré dans MT5, mais je suppose que ce sera encore moins.

Ces 10 % ne sont rien comparés à la commodité des indicateurs, à la fiabilité et aux capacités de mise en œuvre d'algorithmes complexes d'analyse des données.

L'argument décisif est "je ne l'ai pas mesuré, mais je le devine".

Bonne chance à vous.

 
DC2008:

L'argument décisif est "je ne l'ai pas mesuré, mais je le devine".

Bonne chance à vous.

Ne prenez pas les choses phrase par phrase, lisez tout le message depuis le début et avec attention.

Et en général, si je suppose, c'est qu'il y a une raison de le faire.

ps. Je suppose également que je n'ai pas tort.

 
marketeer:
Désolé pour l'envahissement du fil de discussion, je suis simplement allergique au sujet de façon persistante.
 
Integer:
Peut-être que l'indicateur est lent ? Essayez de l'expérimenter et de le remplacer par un autre simple et rapide pour estimer le temps passé sur l'indicateur et le traitement des commandes. Le traitement des commandes prend beaucoup de temps.
J'ai un profileur, donc je n'ai pas besoin d'estimer quoi que ce soit, je prends juste le temps - j'ai écrit plus haut ce qui est dépensé sur quoi.
 
marketeer:
J'ai un profileur, donc je n'ai pas besoin d'estimer quoi que ce soit - je le chronomètre simplement - j'ai écrit plus haut sur ce qui est dépensé.
Alors il y a une certaine divergence dans la mesure du temps. L'ensemble de votre code prend une minute et demie, mais en appelant l'indicateur une fois par barre, vous avez déjà réussi à gagner 4 minutes.
Raison: