Aide à la rédaction d'une régression linéaire - page 3

 
lna01:
kvn:
Et je serais également très reconnaissant pour tout matériel sur la façon de rendre un inducteur plus rapide, comment augmenter la vitesse de MT.
Et si quelqu'un sait s'il existe des informations sur la vitesse d'exécution des différentes instructions MT (par exemple, combien de cycles d'horloge les différentes instructions sont exécutées).
Comme pour MT, il est utile pour l'utilisateur d'essayer de minimiser le nombre de tampons indicateurs. Les vitesses d'exécution des opérateurs sont généralement apprises indépendamment à l'aide des opérateurs Print et GetTickCount. Mais il serait bienvenu que quelqu'un digère tout cela et publie un article.
J'ai déjà écrit - pour l'optimisation, ne pas vouloir de multiples augmentations uniques de la taille des tableaux par ArrayResize() [en dernier recours, allouer de la mémoire avec une grande marge, par exemple, en augmentant le tableau de mille éléments en une seule fois], et l'utilisation de variables globales. D'ailleurs, d'après mon expérience, les appels d'indicateurs personnalisés via iCustom() ne sont pas inférieurs (et même plus rapides) que les fonctions intégrées directement dans le code. Vous pouvez vérifier ces trois affirmations par vous-même.
 
Rosh:
Les appels d'indicateurs personnalisés via iCustom() sont aussi rapides que (et même plus rapides que) les fonctions intégrées directement dans le code. Vous pouvez vérifier ces trois affirmations vous-même.
Je trouve difficile d'être d'accord avec elle. Les appels via iCustom() doivent être accompagnés d'opérations de service supplémentaires, c'est-à-dire que le code correctement construit doit toujours être plus rapide. Bien qu'en pratique, ce n'est pas toujours facile et le fait de passer par iCustom() peut faire gagner du temps au total en raison de la réduction du temps de développement et de débogage. Autre exemple : en appelant iCustom() avec des paramètres variables, les tampons des indicateurs seront clonés, la consommation de mémoire augmentera considérablement, les échanges commenceront et adieu la vitesse. Ainsi, iCustom() ne peut pas être une recommandation universelle.
 
Quelle différence y a-t-il entre " pour " et "pendant" ?
Il me semble que For est beaucoup plus lent.
Une boucle basée sur If est encore plus lente.
Peut-être que quelqu'un ayant une grande expérience de la programmation pourrait au moins faire une approximation de la répartition des opérateurs par vitesse.
Après tout, même un commentaire anodin nécessite un certain temps pour être traité.

J'ajoute un LR qui fonctionne.
Dossiers :
 
Comparez ensuite ce que cet indicateur dessine avec ce que at_LR0.mq4 dessine et essayez de comprendre pourquoi ce n'est pas une dérivée de la MA et comment se débarrasser correctement de la queue en utilisant le code at_LR0.mq4.


C'est un indicateur très intéressant. Quelque chose à penser.
Mais qu'en est-il de la queue, je ne comprends pas votre code, si cela ne vous dérange pas, veuillez élaborer.

P.S. Pour ne pas s'embêter avec les paramètres, mettez les indicateurs sur le graphique horaire et définissez la période dans le vôtre à un de plus.

Je ne comprends pas.
 
kvn:
Et quelle différence il y a dans le fonctionnement des instructions For et While.

On vous a parlé de Print et GetTickCount:)
 
kvn:
Je ne comprends pas votre code, si vous voulez bien m'en dire plus.

Ce n'est pas mon code. Bien que j'en aie une très proche. Le fait d'entrer dans les détails sans "réfléchir" n'aide généralement pas, mais cela fait perdre du temps de manière très efficace.
 
lna01:
Rosh:
Les appels aux indicateurs personnalisés via iCustom() sont tout aussi rapides (et même plus rapides) que les fonctions directement intégrées dans le code. Vous pouvez vérifier ces trois affirmations vous-même.
Je trouve difficile d'être d'accord avec elle. Les appels via iCustom() doivent être accompagnés d'opérations de service supplémentaires, c'est-à-dire que le code correctement construit doit toujours être plus rapide. Mais ce n'est pas toujours facile dans la pratique et travailler par le biais de iCustom() peut permettre de gagner du temps total grâce à la réduction du temps de développement et de débogage. Autre exemple : en appelant iCustom( ) avec des paramètres variables, les tampons de l'indicateur vont se cloner, la consommation de mémoire va fortement augmenter, les échanges vont commencer et adieu la vitesse. Ainsi, iCustom() ne peut être une recommandation universelle.
C'est une théorie, vérifiez-la vous-même.
 
En général, après la première utilisation du mot "théorie" comme gros mot, la discussion devient improductive :). Mais comme l'exemple est récent, je vais quand même le donner. Vous devez comparer 1-quadrat avec M_qRMA, M_qWMA doit être présent dans le dossier des indicateurs.
Dossiers :
m_qrma_1.mq4  3 kb
 
Deuxièmement
P.S. Le moteur de forum intelligent a ajouté _1 au nom de l'indicateur, additif à retirer lors de la rédaction.
Dossiers :
m_qwma_1.mq4  3 kb
 
Troisièmement
Dossiers :