Erreurs, bugs, questions - page 419

 
Im_hungry:

Bonsoir, je me demandais si dans ce code

après avoir vérifié B>spred, qui est "FALSE", le reste des valeurs est vérifié

Cela augmente le temps d'exécution du test, je dois donc modifier le code de la manière suivante

Et le plus long en termes de calculs ( proverka() - copie des valeurs tampons d'un indicateur)

Je l'ai mis en dernier mais il ne vérifie pas le dernier. Je me demande.

Pourquoi ?

Ou bien il ne vérifie pas le dernier :

Essayez de cette façon

if((B >= spred) && (IND && proverka()))
{
//Processing...
}
 
Interesting:

Essayez ceci

Sory - Je l'ai sous-vérifié, il fonctionne de toutes sortes de façons,
 

Maintenant je me demande pourquoi dans l'EA, l'indicateur consomme toute la RAM et plus encore,

et travaillant séparément du conseiller expert, il ne le fait pas.

il se peut que l'indicateur ne soit pas supprimé ou autre chose mais il est appelé à chaque nouvelle barre,

et nous obtenons de moins en moins de RAM à chaque barre (

 bytes not available

). Pourquoi ? Oui, bonne nuit !

 
Renat:
Veuillez me donner le code.
Renat, si la question s'adresse à moi, je viens de créer un EA vierge et de l'exécuter. Cela doit être lié à l'UAC puisque tous les fichiers sont stockés ici C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 et le visualiseur essaie de récupérer les données du répertoire direct.
 
Im_hungry:

Maintenant je me demande pourquoi dans l'EA, l'indicateur consomme toute la RAM et plus encore,

et travaillant séparément du conseiller expert, il ne le fait pas.

il se peut que l'indicateur ne soit pas supprimé ou autre chose mais il est appelé à chaque nouvelle barre,

et de moins en moins de RAM à chaque barre (

). Pourquoi ? Oui, bonne nuit !


L'exemple dans l'atelier s'il vous plaît (au moins comme une esquisse d'une idée), ou aux développeurs mais tout en un seul morceau. Au fait, que signifie "est appelé à chaque tic" ?

L'idée est qu'il doit être appelé une seule fois, au niveau du bloc d'initialisation. En cas de tentative de contournement d'une erreur d'initialisation, vous pouvez toujours l'appeler dans un timer ou sur un nouveau tick(mais seulement si le handle est désactivé).

Dans tous les autres endroits, il est raisonnable d'obtenir une certaine partie des données (tout en contrôlant le handicap bien sûr).

 
sergey1294:
Renat, si la question s'adresse à moi, je viens de créer une EA vierge et je l'ai exécutée. Il est probable que cela soit lié à l'UAC car tous les fichiers sont stockés ici C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 et le moteur de rendu essaie de tirer les données du répertoire direct.
Excluons donc l'UAC des vazooms avec la portabilité... :)
 
Interesting:
Excluons donc l'UAC des vazooms avec la portabilité... :)
Si je démarre le terminal maintenant avec ce commutateur, est-ce qu'il démarrera toujours avec ce commutateur ou dois-je démarrer le terminal à partir de la ligne de commande à chaque fois ?
 
Interesting:

Exemple de studio s'il vous plaît (au moins comme ébauche d'idée), ou aux développeurs, mais l'ensemble. Au fait, que signifie "est appelé à chaque tic" ?

L'idée est qu'il doit être appelé une seule fois, au niveau du bloc d'initialisation. Dans le cas d'une tentative de contournement d'une erreur d'initialisation, il peut toujours être dans un timer ou sur un nouveau tick(mais seulement si le handle est désactivé).

Dans tous les autres endroits, il est raisonnable de n'obtenir qu'une certaine partie des données (avec contrôle du handicap bien sûr).

Ceci est utilisé pour vérifier si les tampons ont été copiés (avec succès ou non).

bool proverka()
{
  ArraySetAsSeries(Buf,true);
  handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
  ResetLastError();
  int copied=CopyBuffer(handle,0,1,1,Buf);
  if(copied<=0)
   {
    Sleep(50);
................

avec celui-ci nous appelons l'indicateur sur une nouvelle barre

handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
Et sans elle, on n'obtient que des valeurs nulles ! !!

Et la mémoire devient de plus en plus petite à chaque barre...

Pourquoi ?

 
sergey1294:
Si je démarre le terminal maintenant avec cette clé, fonctionnera-t-il tout le temps avec elle, ou dois-je démarrer le terminal à partir de la ligne de commande à chaque fois ?

Si vous créez un fichier batch et/ou corrigez le raccourci correspondant, alors tout le temps. Si je l'exécute à partir de la ligne de commande, c'est une chose unique.

À mon avis, il est plus facile de créer une copie du raccourci avec le nom et la ligne de commande appropriés.

 
Interesting:

Si vous créez un fichier batch et ou corrigez le raccourci correspondant, c'est tout le temps. Si vous l'exécutez également à partir de la ligne de commande, alors une seule fois.

À mon avis, il est plus facile de créer une copie du raccourci avec le nom et la ligne de commande appropriés.

comment le faire correctement