Erreurs, bugs, questions - page 2941

 
x572intraday:
Pouvez-vous suggérer, s'il y a lieu, un moyen de sauvegarder la valeur précédente de la variable string dans l'indicateur après l'événement Init? Les variables globales du terminal ne fonctionnent pas avec les chaînes de caractères. Pour être exact, à la fin de OnCalculate() nous devons faire prev_val=val et sauvegarder prev_val aprèsInit, tandis que val prendra une nouvelle valeur, comme d'habitude. Mais je ne voudrais pas créer un objet sur le graphique, le nommer par le nom requis et après Init lire l'ancienne valeur. Ce serait plutôt moche, bien que ce soit possible... Et le nom peut être long et les objets ont un nombre très limité de noms.

vous pouvez utiliser des ressources et des unités pour stocker et transmettre des structures simples ou même des tableaux de structures simples entre les TF.

Pour ce faire, vous aurez besoin :

template <typename T>
union
sizeof(T)
ResourceReadImage
ResourceCreate
ResourceFree
_UninitReason
Pour stocker des chaînes de caractères, vous devrez utiliser un tableau uchar statique de taille fixe. (voir CharArrayToString, StringToCharArray).
 
Nikolai Semko:

vous pouvez utiliser des ressources et des unités pour stocker et transmettre des structures simples ou même des tableaux de structures simples entre les TF.

pour cela vous aurez besoin :

Pour stocker les chaînes de caractères, vous devrez utiliser un tableau uchar statique de taille fixe. (voir CharArrayToString, StringToCharArray).

Je me suis également souvenu - via des fichiers, mais je ne voudrais pas non plus faire cela, car ce n'est pas la manière la plus naturelle de procéder.

Merci, je vais essayer.

 
x572intraday:

Je me suis également souvenu avoir utilisé des fichiers, mais je ne veux pas non plus le faire, car ce n'est pas la façon la plus naturelle de procéder.

Merci, je vais essayer.

Si le SSD, c'est un bon moyen aussi.
 
x572intraday:

Je me suis également souvenu avoir utilisé des fichiers, mais je ne veux pas non plus le faire, car ce n'est pas la façon la plus naturelle de procéder.

Merci, je vais essayer.

Si nous parlons de MT5, il y a une probabilité non nulle que OnInit du nouvel état de l'indicateur soit appelé avant OnDeinit de l'état précédent de l'indicateur.
 
Slava:
Si nous parlons de MT5, il y a une probabilité non nulle que OnInit du nouvel état de l'indicateur soit appelé avant OnDeinit de l'état précédent de l'indicateur.
Par conséquent, les données doivent être sauvegardées non pas à OnDeinit, mais immédiatement après leur modification ou en fonction d'un événement quelconque.
OnDeinit ne peut être laissé pour sauvegarder dans un fichier que si le terminal est fermé.
 
Nikolai Semko:
Par conséquent, la sauvegarde des données ne doit pas avoir lieu à OnDeinit, mais immédiatement après un changement de données ou lors d'un événement quelconque.
OnDeinit ne peut être laissé pour sauvegarder dans un fichier que si le terminal est fermé.
Oui
 

Existe-t-il une fonction ou une autre fonctionnalité supplémentaire (bibliothèque, code) pour sauvegarder les paramètres de l'EA ?

Lorsque vous exécutez l'EA, enregistrez les paramètres dans la grille de paramètres standard.

 
Aleksei Skrypnev:

Existe-t-il une fonction ou une autre fonctionnalité supplémentaire (bibliothèque, code) pour sauvegarder les paramètres de l'EA ?

Lorsque vous exécutez un EA, enregistrez les paramètres dans la grille de paramètres standard.

Voici un exemple dans la description. Recherchez SaveSet.

SingleTesterCache
SingleTesterCache
  • www.mql5.com
Данные одиночного прохода Тестера.
 

L'application est "démarrée" dans le Service Desk depuis décembre.

Il s'est probablement perdu.

Finance : Problème de dépôt sur le compte de MQL5.com
Ouvert,Lancé: 2020.12.28 16:34,#2929416
 
Stanislav Korotky:

Il semble que le champ real_volume de la structure MqlRates, bien qu'il soit de type long, ne soit pas capable de stocker des valeurs dans la plage de toutes les valeurs longues (selon la documentation - 0x7FFFFFFFFFFFFFFF). Par exemple, 0x4000000000000000A8 sera écrit dans le champ 0xA8. Je parle de personnages personnalisés.

La gamme réelle des valeurs valides est-elle spécifiée quelque part ? Fondamentalement, il n'y a aucune raison pour que cela ne fonctionne pas comme une longue normale - cela ressemble à un bug.

PS. Probablement le même problème avec tick_volume.

Grâce à quelques expériences, j'ai trouvé la valeur maximale -184467440738. Pourquoi, d'où - c'est un mystère.

Raison: