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
Il me semble que vous devriez traduire chaque élément du tableau individuellement.
J'aimerais de l'aide, pas une diatribe. Permettez-moi de préciser que j'ai essayé de traduire en utilisant CharArrayToString avec CP_UTF16, mais cela ne semble pas être pris en charge. Peut-être ai-je besoin d'une autre page de code ?
Question aux développeurs - il est écrit dans l'aide, que les pages qui ne sont pas dans les constantes standard, peuvent être ajoutées manuellement. Sont-ils tous pris en charge ou non ?
J'aimerais de l'aide, pas une diatribe. Si je comprends bien, j'ai essayé d'utiliser CharArrayToString de CP_UTF16, mais j'ai l'impression qu'il n'est pas pris en charge. Peut-être ai-je besoin d'une autre page de code ?
Question aux développeurs -- dans l'aide il est écrit que les pages qui ne sont pas dans les constantes standards, peuvent être ajoutées manuellement. Sont-ils tous pris en charge ou non ?
J'ai mal compris la question. Si j'ai bien compris la documentation, pour CP_UTF16, vous devez spécifier le code numérique requis (il reste à savoir lequel).
C'est probablement une question pour les développeurs.
En plus de la question - https://www.mql5.com/ru/forum/1111/page455#comment_80246 - à laquelle j'aimerais toujours avoir une réponse, je vais préciser la situation. J'ai un indicateur multidevises, je le teste sur MetaQuotes et Alpari. Je l'utilise pour Alpari mais avec MetaQuotes il retourne souvent BarsCalculated pour différents symboles et en particulier l'erreur 4806 ou juste 0 barres comptées. Veuillez m'indiquer où je peux trouver plus d'informations sur les causes possibles du 4806 et sur la manière de le résoudre. J'utilise le code des métacitations pour la synchronisation des données - fonction CheckLoadHistory de la page https://www.mql5.com/ru/docs/series/timeseries_access. Les erreurs de BarsCalculated surviennent après la mise à zéro de cette fonction (c'est-à-dire que les données pour le calcul doivent sembler être en place). Peut-on lui faire confiance ou faut-il autre chose ? Par sécurité, j'aimerais préciser que l'indicateur utilise les masques standards pour le calcul et que c'est leur disponibilité qui est vérifiée en appelant BarsCalculated.
Si le rafraîchissement ne vient pas de Sami, alors les données se synchronisent après un délai très court. Pris dans la synchronisation, BarsCalculate=0.
Merci pour cette information, bien que je puisse dire à "eux-mêmes" que je ne suis pas très heureux d'un tel comportement - il impose une incertitude significative dans la fonctionnalité du logiciel. Par exemple, il y a déjà plus d'une heure, j'ai accroché un indicateur, dans lequel j'ai indiqué quelques nouveaux tickers - dans la revue du marché, ils sont - si la référence aux fonctions ci-dessus aurait dû initier le téléchargement et le comptage, alors tout devrait être terminé depuis longtemps, mais ce n'est pas le cas. Il serait au moins souhaitable de voir dans le journal du système chaque éternuement du terminal à propos du téléchargement et d'autres actions "souterraines", sinon on ne sait pas pour quelle raison il s'est "éteint" - la dernière entrée dans l'"Expert" avec l'erreur 4806, mais dans le système - dit que le terminal est désynchronisé. Étant donné qu'il n'y a pas de ticks pendant le week-end, j'ai modifié les paramètres plusieurs fois, mais toujours pas de données.
Par exemple, j'ai pris RTS-9.11, mais la fonction de rafraîchissement de MetaQuotes, mentionnée ci-dessus, renvoie régulièrement Load failed.
Une autre question. En quatrième, vous pourriez écrire un tableau multidimensionnel func(int array[][]) comme argument de fonction. Dans la cinquième, le compilateur génère une erreur de valeur d'index invalide - il exige que la dimension soit spécifiée. J'ai écrit func(int &array[][3]) - pas d'erreur, mais ce n'est pas une solution. Comment écrire des fonctions alors ? Leur sens est, par définition, d'allouer un fragment de code abstrait applicable à différentes données, différents tableaux.
C'est ce que je fais :
Je passe des objets de cette classe comme arguments.
En d'autres termes, j'utilise un tableau unidimensionnel comme un magasin de données de n'importe quelle dimension, tout en recalculant moi-même les indices "multidimensionnels" en indices "unidimensionnels" (et inversement).
Il fonctionne à une vitesse tout à fait acceptable.
Vous pouvez comprendre les métacitations. Si vous n'introduisez pas la contrainte "une seule dimension est indéfinie", vous ne pouvez pas générer de code rapide pour accéder à un élément de tableau au moment de la compilation.
Merci pour cette information, bien que je puisse dire à "eux-mêmes" que je ne suis pas très heureux d'un tel comportement - il impose une incertitude significative dans la fonctionnalité du logiciel. Par exemple, il y a déjà plus d'une heure, j'ai accroché un indicateur, dans lequel j'ai indiqué quelques nouveaux tickers - dans la revue du marché, ils sont - si la référence aux fonctions ci-dessus aurait dû initier le téléchargement et le comptage, alors tout devrait être terminé depuis longtemps, mais ce n'est pas le cas. Il serait au moins souhaitable de voir dans le journal du système chaque éternuement du terminal à propos du téléchargement et d'autres actions "souterraines", sinon on ne sait pas pour quelle raison il s'est "éteint" - la dernière entrée dans l'"Expert" avec l'erreur 4806, mais dans le système - dit que le terminal est désynchronisé. Étant donné qu'il n'y a pas de ticks pendant le week-end, j'ai modifié les paramètres plusieurs fois, mais toujours pas de données.
Par exemple, j'ai pris RTS-9.11, mais la fonction de rafraîchissement de MetaQuotes, mentionnée sur le lien, renvoie régulièrement Load failed.
Référence :
L'accès aux données des indicateurs et des séries chronologiques se fait indépendamment du fait que les données demandées soient prêtes ( accès dit asynchrone) . Ces données sont essentielles pour le calcul des indicateurs personnalisés. En l'absence des données demandées, les fonctions telles queCopy...() renvoient immédiatement une erreur.
Il n'y a pas de ticks le week-end, l'indicateur est lancé, et une erreur est renvoyée...
imho, il n'y a qu'une seule solution, c'est de lancer un conseiller expert supplémentaire, qui charge l'historique demandé...
C'est-à-dire que si les données sont disponibles pour le conseiller expert, elles seront disponibles pour l'indicateur. Je ne l'ai pas vérifié, la solution semble tordue.
Je vais répéter ma question :
Aide :
La fonction Sleep() ne peut pas être appelée depuis desindicateurs personnalisés car les indicateurs sont exécutés dans le thread de l'interface et ne doivent pas le ralentir.
Vous ne pouvez absolument pas, ou si vous le voulez vraiment, vous pouvez, mais attention ? :)
Il y a un problème pour accéder aux données d'un autre symbole à partir de l'indicateur.
s'il n'y a pas de tics)c'est-à-dire qu'il n'y a aucun moyen pour que l'indicateur puisse obtenir ses données le week-end, ni sa TF, ni son symbole...
Les métacottages sont compréhensibles. À moins que la contrainte "une seule dimension est indéfinie" ne soit imposée, vous ne pouvez pas générer de code rapide pour accéder à un élément de tableau au moment de la compilation.