Эта библиотека предоставляет молниеносный доступ к таймсериям для реализации привычных методов MQL4 (например, iBarShift) в чувствительных к задержкам приложениях на MQL5.
Merci - J'ai vu cette bibliothèque - la description était confuse.
Lamajeure partie du temps est consacrée à la phase d'initialisation. À moins que vous ne prévoyiez d'accéder aux données de séries temporelles plusieurs fois - plus de quelques milliers de fois pendant la formation des barres - vous devriez envisager des méthodes alternatives.
Mon conseiller expert ne fonctionne que sur l'ouverture des barres - pensez-vous qu'il soit judicieux de l'essayer ?
Au lieu d'écrire un code MQL5 natif et efficace, vous utilisez un émulateur MQL4 terriblement inefficace, qui ralentit l'opération des dizaines de fois.
Le problème, c'est que vous ne comprenez même pas ce que vous faites, puisque vous posez des questions sur la vitesse.
Bien sûr, je cherchais une solution - comment remplacer les fonctions MQL4 par MQL5, notamment en ce qui concerne les séries temporelles, et j'ai vu que c'est l'un des problèmes rencontrés par la plupart des personnes qui passent à MQL5.
J'ai donc trouvé la solution sur le même site, où l'un des articles recommandait ma méthode.
Personnellement, je ne comprends pas la raison d'exclure une fonction utile et pratique du langage.
Ma question est donc la suivante : quelle est la bonne façon de recevoir des informations, et comment tirer parti du MQL5?
Je vous pose donc la question suivante : comment organiser correctement la réception des données pour ressentir les avantages de MQL5?
Utiliser les fonctions natives et plus productives de MQL5, et ne pas s'accrocher au code de MQL4. Tout convertisseur/splitter MQL4 -> MQL5 a des performances des dizaines de fois plus faibles, puisqu'il essaie d'émuler les microfonctions d'accès direct de MQL4 par des opérations en masse de MQL5. Et l'émulation se fait complètement sans optimisation ni mise en cache.
À la base de l'utilisation d'une fonction particulière (un bout de code, y compris le code d'autres personnes), il devrait y avoir une compréhension de ce qui est fait exactement. Sinon, vous obtenez "Je viens d'utiliser le code de quelqu'un d'autre et la vitesse a baissé ! Vous ne pouvez pas obtenir un bon résultat sans comprendre l'outil et ce que vous faites avec.
En plus de "comment bien faire", je dois préciser que la tâche d'"apprendre à programmer" est extrêmement difficile, dès que l'on dépasse le niveau le plus élémentaire de fonctionnement (pas même de compréhension, mais de fonctionnement) avec un langage. Je ne vois donc pas d'autre moyen d'apprendre que de lire des masses d'articles, de documentation, de code prêt à l'emploi dans la bibliothèque et de pratiquer obligatoirement pendant plusieurs années.
Utilisez les fonctions natives et plus productives du langage MQL5 et ne vous accrochez pas au code MQL4.
À la base de l'utilisation d'une fonction particulière (un morceau de code, y compris le code d'autres personnes), il faut comprendre ce que l'on fait. Sinon, vous obtenez "Je viens d'utiliser le code de quelqu'un d'autre, regardez - la vitesse est en baisse ! Sans comprendre l'outil et ce que vous faites avec, vous ne pouvez pas obtenir un bon résultat.
En plus de la question "comment bien faire", je dois préciser que la tâche "d'apprendre à programmer" est extrêmement difficile, une fois que l'on dépasse le niveau le plus élémentaire d'utilisation (pas même de compréhension, mais d'utilisation) du langage. C'est pourquoi je ne vois pas d'autre moyen d'apprendre que de lire des articles, de la documentation, du code prêt dans la bibliothèque et de s'exercer pendant plusieurs années.
Renat, avez-vous regardé la base de code ? J'ai du code avec des fonctions exactement adaptées du langage MQL4.
Je vous demande spécifiquement d'écrire comment obtenir les bonnes informations sur l'environnement - faire référence à des livres abstraits n'est pas productif et ne fait que renforcer mon idée (probablement erronée) que ce n'est qu'une excuse pour ne pas vérifier.
Dire que je suis si bête que je ne comprends pas la signification d'une fonction, qui consiste à copier des informations dans un tableau, c'est dire que la documentation d'accompagnement d'un langage de programmation est de bas niveau. Je ne comprends pas l'intérêt de cette copie d'un tableau à un autre et pourquoi une fonction qui récupère des informations d'un tableau selon les besoins est un code terrible.
Bien sûr, je cherchais une solution - comment remplacer les fonctions MQL4 par MQL5, notamment en ce qui concerne les séries temporelles, et j'ai vu que c'était l'un des problèmes rencontrés par la plupart des personnes passant à MQL5.
J'ai donc trouvé la solution sur le même site, où l'un des articles recommandait ma méthode.
Personnellement, je ne comprends pas la raison d'exclure une fonction utile et pratique du langage.
C'est pourquoi je vous demande, quelle est la manière correcte de recevoir des informations pour que je puisse ressentir les avantages de MQL5?
Peut-être ai-je mal cherché ? Ici vous avez tout ce dont vous avez besoin au lieu de tout ce code en une seule copie
Peut-être que je ne regardais pas assez fort ? Ici, en une seule copie, vous avez tout ce dont vous avez besoin au lieu de tout ce code.
Pour l'utiliser, il suffit de comprendre ce qu'est la structure
Nous obtenons la même chose - en fait...
La variante que vous suggérez convient, ifle :
- Le calcul n'a lieu qu'à l'ouverture d'un bar.
- Vous savez à l'avance combien de barres sont nécessaires
J'ai des boucles dans mon code, la quantité de calcul peut être inconnue à l'avance.
Et, quel est l'intérêt de copier des informations pour, disons, 300 barres à chaque fois que nous l'ouvrons, s'il serait plus raisonnable de simplement ajouter des informations sur une nouvelle barre - pourquoi le développeur n'a-t-il pas choisi cette voie ?
Je suis désolé, mais je n'ai absolument pas le temps de m'occuper de l'enseignement de la programmation à chaque débutant. Surtout quand on voit que la personne n'a même pas passé par les bases de la compréhension de la programmation et qu'elle demande des choses futiles.
Mais je vais vous montrer la direction :
Documentation MQL5
Codebase
Articles
Forum (pas dans le mode "écrivez pour moi, pourquoi ne m'apprenez vous pas et ne faites pas mon travail ?)
Freelance (ils peuvent l'écrire correctement ici)
Travail indépendant avec une analyse réfléchie de "pourquoi ce wrapper devrait-il ralentir et gaspiller des ressources, peut-être réécrire de manière optimale ?".
Utilisation d'un profileur qui montre la consommation réelle des ressources dans chaque ligne de code
Je n'ai aucune envie de communiquer de cette manière. Au lieu d'essayer de comprendre ce qui est dit, de comprendre ce qui va se passer, on lance des objections incroyables.
Renat Fatkhullin: Je suis désolé, mais je n'ai absolument pas le temps de m'occuper de l'enseignement de la programmation à chaque débutant. Surtout lorsque vous pouvez voir que la personne n'a même pas passé par les bases de la compréhension de la programmation et qu'elle demande des choses futiles.
Mais je vais vous montrer la direction :
Documentation MQL5
Codebase
Articles
Forum (pas en mode "écrivez pour moi, pourquoi ne m'apprenez vous pas et ne faites pas mon travail ?)
Freelance (ils peuvent l'écrire correctement ici)
Travail indépendant avec analyse réfléchie "pourquoi ce wrapper devrait-il ralentir et gaspiller des ressources, peut-être réécrire de manière optimale ?".
Utilisation d'un profileur qui montre la consommation réelle des ressources dans chaque ligne de code
Merci Renat !
Je ne me suis pas trompé sur toi !
Je propose d'obtenir le droit de télécharger ME et de communiquer avec vous en substance de fournir par le biais de la LC un diplôme d'enseignement supérieur dans le domaine de "Programmeur".
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
le résultat est le code suivant
https://www.mql5.com/ru/code/18305
https://www.mql5.com/ru/code/18305
Merci - J'ai vu cette bibliothèque - la description était confuse.
Lamajeure partie du temps est consacrée à la phase d'initialisation. À moins que vous ne prévoyiez d'accéder aux données de séries temporelles plusieurs fois - plus de quelques milliers de fois pendant la formation des barres - vous devriez envisager des méthodes alternatives.
Malheureusement, vous vous y prenez mal.
Au lieu d'écrire un code MQL5 natif et efficace, vous utilisez un émulateur MQL4 terriblement inefficace, qui ralentit l'opération des dizaines de fois.
Le problème, c'est que vous ne comprenez même pas ce que vous faites, puisque vous posez des questions sur la vitesse.Bien sûr, je cherchais une solution - comment remplacer les fonctions MQL4 par MQL5, notamment en ce qui concerne les séries temporelles, et j'ai vu que c'est l'un des problèmes rencontrés par la plupart des personnes qui passent à MQL5.
J'ai donc trouvé la solution sur le même site, où l'un des articles recommandait ma méthode.
Personnellement, je ne comprends pas la raison d'exclure une fonction utile et pratique du langage.
Ma question est donc la suivante : quelle est la bonne façon de recevoir des informations, et comment tirer parti du MQL5?
Je vous pose donc la question suivante : comment organiser correctement la réception des données pour ressentir les avantages de MQL5?
Utiliser les fonctions natives et plus productives de MQL5, et ne pas s'accrocher au code de MQL4. Tout convertisseur/splitter MQL4 -> MQL5 a des performances des dizaines de fois plus faibles, puisqu'il essaie d'émuler les microfonctions d'accès direct de MQL4 par des opérations en masse de MQL5. Et l'émulation se fait complètement sans optimisation ni mise en cache.
À la base de l'utilisation d'une fonction particulière (un bout de code, y compris le code d'autres personnes), il devrait y avoir une compréhension de ce qui est fait exactement. Sinon, vous obtenez "Je viens d'utiliser le code de quelqu'un d'autre et la vitesse a baissé ! Vous ne pouvez pas obtenir un bon résultat sans comprendre l'outil et ce que vous faites avec.
En plus de "comment bien faire", je dois préciser que la tâche d'"apprendre à programmer" est extrêmement difficile, dès que l'on dépasse le niveau le plus élémentaire de fonctionnement (pas même de compréhension, mais de fonctionnement) avec un langage. Je ne vois donc pas d'autre moyen d'apprendre que de lire des masses d'articles, de documentation, de code prêt à l'emploi dans la bibliothèque et de pratiquer obligatoirement pendant plusieurs années.
Utilisez les fonctions natives et plus productives du langage MQL5 et ne vous accrochez pas au code MQL4.
À la base de l'utilisation d'une fonction particulière (un morceau de code, y compris le code d'autres personnes), il faut comprendre ce que l'on fait. Sinon, vous obtenez "Je viens d'utiliser le code de quelqu'un d'autre, regardez - la vitesse est en baisse ! Sans comprendre l'outil et ce que vous faites avec, vous ne pouvez pas obtenir un bon résultat.
En plus de la question "comment bien faire", je dois préciser que la tâche "d'apprendre à programmer" est extrêmement difficile, une fois que l'on dépasse le niveau le plus élémentaire d'utilisation (pas même de compréhension, mais d'utilisation) du langage. C'est pourquoi je ne vois pas d'autre moyen d'apprendre que de lire des articles, de la documentation, du code prêt dans la bibliothèque et de s'exercer pendant plusieurs années.
Renat, avez-vous regardé la base de code ? J'ai du code avec des fonctions exactement adaptées du langage MQL4.
Je vous demande spécifiquement d'écrire comment obtenir les bonnes informations sur l'environnement - faire référence à des livres abstraits n'est pas productif et ne fait que renforcer mon idée (probablement erronée) que ce n'est qu'une excuse pour ne pas vérifier.
Dire que je suis si bête que je ne comprends pas la signification d'une fonction, qui consiste à copier des informations dans un tableau, c'est dire que la documentation d'accompagnement d'un langage de programmation est de bas niveau. Je ne comprends pas l'intérêt de cette copie d'un tableau à un autre et pourquoi une fonction qui récupère des informations d'un tableau selon les besoins est un code terrible.
Bien sûr, je cherchais une solution - comment remplacer les fonctions MQL4 par MQL5, notamment en ce qui concerne les séries temporelles, et j'ai vu que c'était l'un des problèmes rencontrés par la plupart des personnes passant à MQL5.
J'ai donc trouvé la solution sur le même site, où l'un des articles recommandait ma méthode.
Personnellement, je ne comprends pas la raison d'exclure une fonction utile et pratique du langage.
C'est pourquoi je vous demande, quelle est la manière correcte de recevoir des informations pour que je puisse ressentir les avantages de MQL5?
Peut-être ai-je mal cherché ? Ici vous avez tout ce dont vous avez besoin au lieu de tout ce code en une seule copie
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Erreurs, bogues, questions
Aleksey Vyazmikin, 2017.07.21 01:20
Merci - j'ai corrigé.
En conséquence, le code est le suivant
Le temps passé dans le testeur a augmenté - déjà fatigué d'attendre :)
Pour l'utiliser, il suffit de comprendre ce qu'est la structure
Peut-être que je ne regardais pas assez fort ? Ici, en une seule copie, vous avez tout ce dont vous avez besoin au lieu de tout ce code.
Pour l'utiliser, il suffit de comprendre ce qu'est la structure
Nous obtenons la même chose - en fait...
La variante que vous suggérez convient, ifle :
- Le calcul n'a lieu qu'à l'ouverture d'un bar.
- Vous savez à l'avance combien de barres sont nécessaires
J'ai des boucles dans mon code, la quantité de calcul peut être inconnue à l'avance.
Et, quel est l'intérêt de copier des informations pour, disons, 300 barres à chaque fois que nous l'ouvrons, s'il serait plus raisonnable de simplement ajouter des informations sur une nouvelle barre - pourquoi le développeur n'a-t-il pas choisi cette voie ?
Mais je vais vous montrer la direction :
Je n'ai aucune envie de communiquer de cette manière. Au lieu d'essayer de comprendre ce qui est dit, de comprendre ce qui va se passer, on lance des objections incroyables.
Je suis désolé, mais je n'ai absolument pas le temps de m'occuper de l'enseignement de la programmation à chaque débutant. Surtout lorsque vous pouvez voir que la personne n'a même pas passé par les bases de la compréhension de la programmation et qu'elle demande des choses futiles.
Mais je vais vous montrer la direction :
Merci Renat !
Je ne me suis pas trompé sur toi !
Je propose d'obtenir le droit de télécharger ME et de communiquer avec vous en substance de fournir par le biais de la LC un diplôme d'enseignement supérieur dans le domaine de "Programmeur".