Erreurs, bugs, questions - page 477

 
stringo:

Dans votre cas, vous devez utiliser des tableaux dynamiques.

Merci ! Ça marche.

 

Corriger, si ce n'est pas difficile, l'erreur dans le testeur.

Les experts sont aveugles lorsqu'ils traitent une tique. Il est impossible de mettre à jour les informations sur un symbole pendant le traitement des tics.

En temps normal, cela ne se produit pas et toutes les données sont mises à jour.

https://www.mql5.com/ru/forum/4270/page2#comment_87059

Sans cette correction, il est impossible de traiter correctement les erreurs de transaction.

RefreshRates() внутри OnTick()
RefreshRates() внутри OnTick()
  • www.mql5.com
Если это невозможно, то как проще всего реализовать обработку ошибок торговых операций с проверкой котировок на обновление?
 

Lorsque, pendant l'optimisation, toutes les transactions sont du côté positif, le fichier de rapport xml est tordu.

... Veuillez le corriger.

 

Soit je ne comprends pas quelque chose, soit vous avez oublié de faire la fonction FileClear()

Si je comprends bien, pour effacer un fichier, il faut 1 fermer, 2 supprimer, 3 ouvrir. - C'est très gênant.

 
vyv:

Soit je ne comprends pas quelque chose, soit vous avez oublié de faire la fonction FileClear()

Si je comprends bien, pour effacer un fichier, il faut 1 fermer, 2 supprimer, 3 ouvrir. - C'est très gênant.

Pourquoi avez-vous besoin d'effacer un fichier ? Vous déplacez le pointeur de fichier à 0 et commencez à écrire.
 
stringo:
Pourquoi effacer le fichier ? Déplacez le pointeur de fichier à 0 et commencez à écrire.
S'il y a 5 lignes dans le fichier. Je veux en écrire 3 à la place. Je déplace le pointeur au début du fichier et j'écris 3..... Et derrière eux, il y a 2 autres... Il y a donc 5 lignes dans le fichier au lieu de 3 - bouclier...
 
vyv:
S'il y a 5 lignes dans le fichier. Je veux les écraser avec 3. Je déplace le pointeur au début du fichier et j'écris 3..... Et il y en a 2 autres derrière eux... Il y a donc 5 lignes dans le fichier au lieu de 3 - un bouclier...

Ouvrez un fichier avec le drapeau FILE_WRITE en écriture seule et écrivez ce que vous voulez. Tout ce qui précède sera supprimé.

Il y a quelques particularités à travailler avec les drapeaux de lecture et d'écriture :

  • Si FILE_READ est spécifié - une tentative est faite pour ouvrir un fichier qui existe déjà. Si le fichier n'existe pas, le fichier ne peut pas être ouvert, un nouveau fichier n'est pas créé.
  • Si FILE_READ|FILE_WRITE - un nouveau fichier est créé s'il n'existe pas de fichier portant ce nom.
  • Si FILE_WRITE - le fichier est recréé avec une taille nulle.
 

Il semble que la fonction FileChangeSize soit nécessaire.

 
L'interface WinAPI dispose de la fonction SetEndOfFile.
 
stringo:

La fonction FileChangeSize semble être nécessaire.

Et ils ont également oublié les fonctions de renommage de fichiers/dossiers.

// OK, je suis d'accord, vous pouvez renommer avec FileMove(...), mais pour les dossiers nous avons aussi besoin d'un analogue. :)