Théorie de l'accélération de l'EA lors de l'utilisation d'un indicateur personnalisé (fonction - iCustom) - page 7
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
Non. Il y a une fonction magique qui va mélanger toutes les tentatives :
Ce mécanisme est intégré dans le terminal de langue lui-même. Bien que l'idée soit intéressante...
Malheureusement... On va continuer à réfléchir.
Comment ça, c'est fini ? :-)
Cela signifie que l'indicateur a commencé à renvoyer des zéros au lieu de chiffres.
Dennis Kirichenko, Karputov Vladimir - merci pour les informations sur les fonctions !
Seulement je ne comprends pas, quelle est la différence entre TERMINAL_MEMORY_TOTAL et TERMINAL_MEMORY_AVAILABLE ?
TERMINAL_MEMORY_TOTAL est la mémoire maximale disponible, et TERMINAL_MEMORY_AVAILABLE est la mémoire restante, n'est-ce pas ?
Vous ne comprenez pas la différence entre TERMINAL_MEMORY_TOTAL et TERMINAL_MEMORY_AVAILABLE ?
TERMINAL_MEMORY_TOTAL est la mémoire maximale disponible, et TERMINAL_MEMORY_AVAILABLE est la mémoire restante, n'est-ce pas ?
J'ai essayé manuellement, en changeant le modèle avec beaucoup d'indicateurs à presque vide - l'effet est là (mais le cache reste - je pense que ce n'est pas critique). Mais comment faire l'ouverture et la fermeture par un script de modèle - je ne sais pas. J'ai compris que le doute est que tant que le script est en cours d'exécution, la mémoire ne sera pas effacée... Andrei, s'il te plaît, aide à l'expérience.
Qu'est-ce qui ne marche pas ? Qu'est-ce qui peut aider ? Où est l'essai ? Où est le code ?
ChartOpen pour ouvrir le graphique. Puis sur le ChartApplyTemplate avec le nom d'un modèle pré-conçu (il sera toujours le même, il n'est pas nécessaire de l'écrire). Puis ChartClose.
Mesurer la mémoire grâce à la fonction proposée. Ou vous pouvez télécharger mon indicateur iMemory gratuit, il a été spécialement créé dans ce but.
Dans quatre ans, nous ajouterons une suppression automatique plus agressive de ces copies d'indicateurs.
Hourra ! Comme c'est agréable quand ceux qui sont au pouvoir vous entendent !
Et les "copies d'indicateurs" sont-elles celles provoquées par le premier lorsqu'il y a un manque de mémoire pour le second, ou autre chose ?
Qu'est-ce qui ne marche pas ? Qu'est-ce qui peut aider ? Où est l'essai ? Où est le code ?
ChartOpen pour ouvrir le graphique. Puis sur le ChartApplyTemplate avec le nom d'un modèle pré-conçu (il sera toujours le même, il n'est pas nécessaire de l'écrire). Puis ChartClose.
Mesurer la mémoire grâce à la fonction proposée. Ou vous pouvez télécharger mon indicateur iMemory gratuit, il a été spécialement créé dans ce but.
Quel genre de programmeur suis-je ? C'est ici que j'ai commencé à écrire le script - la première commande pour ouvrir le graphique ne donne aucun résultat. Qu'est-ce qu'il y a ?
//+------------------------------------------------------------------+
//| Scripts.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Input1=0;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
long ChartOpen(string GBPUSD, ENUM_TIMEFRAMES PERIOD_H1);
void OnStart()
{
}
//+------------------------------------------------------------------+
Quel genre de programmeur suis-je ? .... J'ai commencé à écrire le script - la première commande pour ouvrir le graphique ne donne pas de résultats. Qu'est-ce qu'il y a ?
Donc tu voulais dire "fais-le pour moi", pas "aide-moi" ? C'est ce que vous dites.
Pas du tout - presque tout : la fonction ChartOpen doit être appelée depuis le corps de la fonction OnStart. Le premier paramètre - chaîne de caractères, doit être entre guillemets. Il n'est pas nécessaire de spécifier le type de données (chaîne et ENUM_TIMEFRAMES) lors de l'appel).
Commencez par chercher des exemples d'utilisation de la fonction ou de la documentation (il y a des exemples là aussi).
Donc tu voulais dire "fais-le pour moi", pas "aide-moi" ? C'est ce que vous dites.
Non, à peu près tout : la fonction ChartOpen doit être appelée depuis le corps de la fonction OnStart. Le premier paramètre - chaîne de caractères, doit être entre guillemets. Il n'est pas nécessaire de spécifier le type de données (chaîne et ENUM_TIMEFRAMES) lors de l'appel).
Commencez par chercher des exemples d'utilisation de la fonction ou de la documentation (il y a des exemples là aussi).
C'est ça le problème, il n'y a pas d'exemple approprié dans l'aide.
D'après vos commentaires, je l'ai refaite :
//+------------------------------------------------------------------+
//| Scripts.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Input1=0;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
long ChartOpen("GBPUSD", PERIOD_H1);
}
//+------------------------------------------------------------------+
J'obtiens des erreurs lorsque je clique, quel est le problème ?
Scripts.mq4' Scripts.mq4 1 1
ChartOpen" - la fonction ne peut être déclarée que dans la portée globale Scripts.mq4 21 10
GBPUSD' - déclaration sans type Scripts.mq4 21 20
GBPUSD' - virgule attendue Scripts.mq4 21 20
PERIOD_H1' - déclaration sans type Scripts.mq4 21 32
4 erreur(s), 0 avertissement(s) 5 1
C'est le problème, il n'y a pas de bon exemple dans l'aide.
Je l'ai refait en fonction de vos commentaires :
//+------------------------------------------------------------------+
//| Scripts.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Input1=0;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
long ChartOpen("GBPUSD", PERIOD_H1);
}
//+------------------------------------------------------------------+
J'obtiens des erreurs lors du clampage, qu'est-ce qui ne va pas ?
Scripts.mq4' Scripts.mq4 1 1
ChartOpen' - la fonction ne peut être déclarée que dans la portée globale Scripts.mq4 21 10
GBPUSD' - déclaration sans type Scripts.mq4 21 20
GBPUSD' - virgule attendue Scripts.mq4 21 20
PERIOD_H1' - déclaration sans type Scripts.mq4 21 32
4 erreur(s), 0 avertissement(s) 5 1
C'est trop long d'expliquer ce qui ne va pas :)
C'est là le problème : il n'y a pas d'exemple approprié dans le service d'assistance.
Outre le service d'assistance téléphonique, il existe une base de données et un forum. Travaux de recherche.
ps : ugh, l'insertion du lien dans le post est cassé =(
https://www.mql5.com/ru/search#!keyword=ChartOpen&page=2