Erreurs, bugs, questions - page 2280
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Vous avez rencontré un problème de mémoire dans Windows
Cela déclenche l'allocation réelle de la mémoire physique afin que cela ne se produise pas pendant le test.Juste après ArrayResize, ajoutez
Voici les résultats de mon ordinateur
Oui, cela fonctionne en effet.
Merci.
Très intéressant. Mais ce n'est pas clair.
Je dois savoir que pour travailler rapidement avec la mémoire après ArrayResize, vous devez faire une initialisation complète du tableau avec ArrayInitialize ou ArrayFill (cela fonctionne dans les deux sens). ArrayInitialize est plus simple.
J'ai essayé d'initialiser chacun des 4096 éléments du tableau. Mais cela n'affecte pas l'amélioration des performances d'ArrayFill.
Il faut savoir que pour travailler rapidement avec la mémoire après ArrayResize, il faut faire l'initialisation complète du tableau avec ArrayInitialize ou ArrayFill (qui fonctionne dans les deux sens).
Vous avez tiré une conclusion erronée. En tout cas, tout fonctionne rapidement. C'est juste que dans la variante "lente" vous mesuriez en plus du remplissage aussi l'allocation de mémoire réelle, parce que ArrayResize est une intention d'allouer de la mémoire, pas l'allocation elle-même.
Vous avez tiré la mauvaise conclusion. Tout fonctionne rapidement comme c'est le cas. C'est juste que dans la version "lente", vous mesuriez l'allocation réelle de mémoire en plus du remplissage, parce que ArrayResize est une intention d'allouer de la mémoire, pas l'allocation elle-même.
Oui, vous avez raison.
Merci !
Et j'avais aussi tort, quand je disais que le lien ArrayInitialize + ArrayCopy fonctionnait plus vite, parce que je remplissais le tableau avec les mêmes valeurs que j'avais remplies avant avec ArrayFill. Le compilateur est juste intelligent et ne fait pas deux fois le même travail.
Si nous remplissons le tableau avec d'autres valeurs, le résultat sera différent :
Alors j'ai merdé. Désolé.
Continuons à utiliser ArrayFill en ordre de marche.
Pourquoi mon pays de résidence a-t-il changé dans mon profil ?
![](https://c.mql5.com/3/229/image__6.png)
Ces trois dernières années, c'était le Canada. Je ne l'ai pas changé. Et maintenant je ne peux pas le changer.
C'est-à-dire que le pays de résidence initial lors de l'enregistrement est éternel. Même si vous ne vivez pas en Russie et que vous êtes devenu résident ou citoyen d'un autre pays ?
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Bugs, bugs, questions
fxsaber, 2018.09.06 09:31
Pourquoi cela se produit-il parfois ? Le testeur ferme les positions non pas sur le dernier tick, mais sur l'avant-dernier tick. La situation se présente sur certains symboles personnalisés.
Si une relecture est nécessaire, prêt à fournir.
Pourquoi est-ce important ? Sur les symboles personnalisés avec exécution en bourse, les marchés sont exécutés au dernier prix. Pour les symboles personnalisés, l'historique des tick est bid/ask, sans last. Par conséquent, sur de tels symboles, le testeur ferme les positions actuelles sur le dernier tick par zéro dernier. La solution est de forcer last = (bid + ask) / 2 dans le dernier tick. Cependant, il existe des situations où le testeur, pour une raison quelconque, ferme tout non pas au dernier, mais à l'avant-dernier tick, où le dernier est zéro. En conséquence, nous avons le graphique suivant
Vous regardez les résultats de l'optimisation et voyez un montant énorme de profits/pertes. Vous ne réaliserez pas qu'il s'agit d'un bogue tant que vous n'aurez pas exécuté un seul test et regardé la fin de l'historique des transactions.
Pourquoi mon pays de résidence a-t-il changé dans mon profil ?
Ces trois dernières années, c'était le Canada. Je ne l'ai pas changé. Et maintenant je ne peux pas le changer.
C'est-à-dire que le pays de résidence initial lors de l'enregistrement est éternel. Même si vous ne vivez pas en Russie et que vous êtes devenu résident ou citoyen d'un autre pays ?
Vous êtes enregistré en tant que vendeur de la Russie. Si vous souhaitez apporter des modifications aux détails de l'enregistrement du vendeur, bienvenue à
Pas debarre de défilement
Faites-moi savoir si vous allez ou non vous occuper de ce problème.
Vous êtes enregistré en tant que vendeur de la Russie. Si vous souhaitez apporter des modifications aux détails de l'enregistrement du vendeur, bienvenue à
Pouvez-vous me dire alors où ces paramètres sont cachés ? Je ne les trouve pas. Il n'y a pas non plus de telle option dans le SD.
Apparemment dans le profil du vendeur