Bogue MQL5 lors du travail avec l'accès aux séries chronologiques iClose/iOpen, etc. - page 3
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Pensez à l'endroit où les données (d'autant plus qu'elles sont garanties) seront disponibles, lorsque vos indicateurs sont terriblement lents à recevoir/poser des ticks, passant des centaines de millisecondes voire des secondes pour un tick. Par conséquent, aucune unité centrale n'est suffisante en temps pour traiter les ticks, ce qui se traduit par un déficit accumulé et un décrochage correspondant dans l'historique du graphique.
Lorsque vous demandez un "don garanti", il s'agit très probablement d'une demande de "je ne veux rien savoir, je veux continuer à écrire comme je le veux, je ne veux pas penser aux performances et aux verrous, donnez simplement" ?
Lorsque vous disposez de millions de barres, pensez à la performance de vos indicateurs et de ceux des autres. Un indicateur mal écrit et coûteux peut facilement bloquer les mises à jour des graphiques de son symbole.
Commencez par mesurer le temps de réponse de OnCalculate en microsecondes. Divisez ensuite 1 seconde par le temps de réponse moyen des ticks pour obtenir le débit maximal de l'indicateur en ticks par seconde.
Cela donne immédiatement à réfléchir.
Laissons un seul tick (une nouvelle barre) pour le nouveau type de traitement des données par l'indicateur dans la version proposée. Ceux qui aiment les multiples recalculs des barres zéro et le graal dans la barre zéro devraient apprécier la version existante. Ajouter une nouvelle fonction à OnInit - iOnCalculate - un handle vers une des fonctions TF / OnCalculate dans l'indicateur, comme iCustom, mais c'est un peu plus proche, les buffers de l'indicateur sur OnCalculate devraient être liés au handle iOnCalculate. Dans les fonctions de l'indicateur comme OnCalculate, envoyez seulement une nouvelle barre de tick. Pour le terminal, rien ne changera, la logique de base de OnCalculate sera la même, le corps principal de l'indicateur sera ajouté, par exemple OnMain. (Maintenant tout est fait par le(s) indicateur(s), attaché(s) à l'indicateur principal comme ressource et appelé(s) depuis celui-ci sur une nouvelle barre).
Vous n'avez pas toujours besoin d'une super vitesse, la facilité d'utilisation est aussi très importante, de nos jours écrire des indicateurs multi-devises c'est comme "mettre le soleil à la main", même dans MT4 c'était plus facile, parce que vous pouviez toujours l'obtenir par les i-fonctions, même si c'était lentement, mais vous pouviez l'obtenir, mais dans MT5 vous pouvez avoir certaines données ou pas, et vous devez toujours faire un code spécial vous-même.
Passons sur les théories.
Il suffit de soumettre un exemple à reproduire et nous verrons quelle est l'horreur autour de votre cas. Jusqu'à présent, cela ressemble à un mépris total des performances, à une dissimulation des indicateurs de retardement des tueurs et à une tentative de faire de l'ombre.
Passons sur les théories.
Il suffit de fournir un exemple à reproduire et nous verrons quelle horreur entoure votre cas. Jusqu'à présent, cela ressemble à un mépris total des performances, à la dissimulation des indicateurs de retardement des tueurs et à la tentative d'y mettre de l'ombre.
L'exemple en pièce jointe, ce n'est pas le code fini, il est incomplet à certains endroits, mais il est possible de l'exécuter, je joins aussi un modèle pour plus de commodité,
Je vous le dis tout de suite, je ne suis pas un programmeur, c'est sûr que le code n'est pas optimal, je suis un économiste humanitaire, j'ai vraiment souffert dans MT5, j'ai moins souffert dans MT4,
Je veux vraiment une fonction simple et fiable qui construirait un tableau synchronisé comme décrit ci-dessus https://www.mql5.com/ru/forum/289897/page2#comment_9363454.
Je ne me plains pas, je ne demande pas à écrire mon indicateur, je veux juste (et pas seulement moi d'ailleurs) une belle fonction standard.
EDIT : correction des pièces jointes
Faites ce que je vous ai conseillé, s'il vous plaît.
Sinon, vous avez besoin de matériaux complets pour une lecture à 100%.Votre attitude à l'égard des rapports de bogue est étrange. Ce n'est pas comme si j'étais payé pour prouver quoi que ce soit. J'ai décrit la situation du mieux que j'ai pu.
Je ne suis pas le seul à avoir ce problème. Ce problème s'est produit après votre 30e mise à jour, mais vous insinuez quand même que je suis un idiot et que certains indicateurs lents sont à blâmer.
N'étaient-ils pas au ralenti pendant un an avant ça ?
Voici un exemple de code qui se bloque après 25 minutes sur M30 :
Et voici le résultat :
L'exemple en pièce jointe, ce n'est pas encore du code complet, à certains endroits pas écrit, mais il est possible de l'exécuter, je joins aussi un modèle pour plus de commodité,
je peux vous promettre que je ne suis pas un programmeur, c'est sûr que le code n'est pas optimal, je suis un économiste humanitaire, je souffre vraiment dans MT5, je souffrais moins dans MT4,
Je veux vraiment une fonction simple et fiable qui construirait un tableau synchronisé comme décrit ci-dessus https://www.mql5.com/ru/forum/289897/page2#comment_9363454.
Je ne me plains pas, je ne cherche pas les ennuis,
Je ne me plains pas, je ne demande pas d'écrire mon indicateur à ma place, je veux juste (et pas seulement moi d'ailleurs) une belle fonction standard.
EDIT : correction des pièces jointes
Votre attitude à l'égard des rapports de bogue est étrange. Ce n'est pas comme si j'étais payé pour prouver quoi que ce soit. J'ai décrit la situation du mieux que j'ai pu.
Ce que j'ai écrit plus tôt dans ce fil ne constitue en aucun cas un rapport de bogue.
Tout s'est déroulé sur le modèle des plaintes sans aucun détail technique. Ce n'est qu'après mes recherches que les détails ont commencé à apparaître.
Votre attitude à l'égard des rapports de bogue est étrange. Ce n'est pas comme si j'étais payé pour prouver quoi que ce soit. J'ai décrit la situation du mieux que j'ai pu.
Le problème ne vient pas seulement de moi, le problème est apparu après votre 30ème mise à jour, mais vous insinuez quand même que je suis un imbécile et que je blâme certains indicateurs retardés.
N'étaient-ils pas au ralenti pendant un an avant ça ?
Voici un exemple de code qui se bloque après 25 minutes sur M30 :
Et voici le résultat :
Téléchargé sur
C'est maintenant 18.10. Tout fonctionne.
L'exemple est joint, ce n'est pas encore un code complet, il est sous-écrit à certains endroits, mais il peut être exécuté, je joins également un modèle pour plus de commodité,
Je vais vous montrer le code et le travail tout de suite :
Il est nécessaire de passer à un mode doux "Je vais attendre avec attention que le téléchargement soit réussi". Par exemple, OnCalculate n'est pas appelé.
Dans ce cas, la mise à jour des graphiques de ce symbole est bloquée et de nombreux autres participants doivent attendre et ne pas recevoir de nouvelles données. L'indicateur ne doit pas prendre de ressources pendant une longue période. Il est préférable d'étirer l'initialisation longue étape par étape/initialisation du symbole dans OnCalculate, en comptant étape par étape.
Votre attitude à l'égard des rapports de bogue est étrange. Ce n'est pas comme si j'étais payé pour prouver quoi que ce soit. J'ai décrit la situation du mieux que j'ai pu.
Le problème ne vient pas seulement de moi, le problème est apparu après votre 30ème mise à jour, mais vous insinuez quand même que je suis un imbécile et que je blâme certains indicateurs retardés.
N'étaient-ils pas au ralenti pendant un an avant ça ?
Voici un exemple de code qui se bloque après 25 minutes sur M30 :
Et voici le résultat :
J'ai mis le code au travail. Jusqu'à présent, tout va bien.
Un dossier sans corps, d'ailleurs.