Théorie de l'accélération de l'EA lors de l'utilisation d'un indicateur personnalisé (fonction - iCustom) - page 6
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
Alexander Laur, c'est-à-dire que tant que le script/conseiller est en cours d'exécution, la mémoire est réservée et ne peut être effacée - triste conclusion.
Est-il possible qu'un script exécute un autre script, puis que la fermeture du script en cours d'exécution entraîne l'effacement de la mémoire, ou cela sera-t-il traité comme un environnement complexe de traitement des données ?
Alexander Laur, c'est-à-dire que tant que le script/conseiller est en cours d'exécution, la mémoire est réservée et ne peut être nettoyée - triste conclusion.
Est-il possible d'exécuter un autre script, puis de fermer le script en cours d'exécution devrait entraîner un effacement de la mémoire, ou sera-t-il considéré comme un environnement complexe de traitement des données ?
J'ai immédiatement suggéré"ouvrir le graphique avec le conseiller expert en cours d'exécution", cela peut être fait - ChartOpen + ChartApplyTemplate
La seule question est de savoir si la mémoire sera libérée lors de la fermeture (suppression du conseiller expert).
Vérifiez-le.
J'ai immédiatement suggéré"ouvrir le graphique avec le conseiller expert en cours d'exécution", cela peut être fait - ChartOpen + ChartApplyTemplate
La seule question est de savoir si la mémoire sera libérée lors de la fermeture (suppression du conseiller expert).
Vérifiez.
Question supplémentaire, le choix du type de tampon réel pour le calcul dans l'indicateur affecte-t-il la taille du tampon graphique ?
Type
Taille en octets
Valeur positive minimale
Valeur maximale
Exactitude de la représentation
Analogique en C++
float
4
1.175494351e-38
3.402823466e+38
7 chiffres significatifs
float
double
8
2.2250738585072014e-308
1.7976931348623158e+308
15 chiffres significatifs
double
Et une idée folle, et si au lieu d'un tampon graphique nous utilisions TextOut - je ne sais pas comment lire les données à partir de celui-ci...
Autre question : la sélection du type de tampon réel pour le calcul dans l'indicateur affecte-t-elle la taille du tampon graphique ?
Par le terme "tampon graphique", entendez-vous l'affichage graphique d'un indicateur ordinaire ?
La question est de savoir s'il est possible d'affecter la taille de la mémoire allouée au tampon graphique d'une barre si vous utilisez float au lieu de double dans le code de l'indicateur pour les calculs.
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
La question est de savoir s'il est possible d'affecter la taille de la mémoire allouée au tampon graphique d'une barre si l'on utilise un float plutôt qu'un double dans le code de l'indicateur pour les calculs...
Non. Il existe une fonction magique qui déplacera toutes les tentatives :
Ce mécanisme est intégré dans le langage terminal lui-même. C'est une idée intéressante, mais...
Par ailleurs, comment savoir si la mémoire est épuisée, y a-t-il des fonctions ?
Que voulez-vous dire par manquer de mémoire ? :-)
Il y a quelque chose ici :
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
A mon avis, la manière la plus efficace de gérer la mémoire des ressources de l'indicateur est de minimiser le paramètre "Max bars in history" (Settings --> Charts). Autant que je me souvienne, le minimum pour le paramètre est de 5k.
En outre, comment puis-je savoir si la mémoire est épuisée, existe-t-il des fonctions ?
Il est possible de récupérer des informations sur le terminal
TERMINAL_MÉMOIRE_TOTAL
Taille de la mémoire, disponible pour le processus du terminal (agent), en MB
int
TERMINAL_MÉMOIRE_DISPONIBLE
La taille de la mémoire disponible du processus terminal (agent) en MB
int
MÉMOIRE_TERMINALE_UTILISÉE
Taille de la mémoire, utilisée par le terminal (agent), en MB
int