Erreurs, bugs, questions - page 2633

 
Roman:

2310
C'est un comportement étrange.
Si vous définissez le tableau à partir du quatrième paramètre, ou du cinquième, sixième, etc.

le compilateur génère une erreur

Je réarrange le tableau avec le premier, ou le deuxième, ou le troisième paramètre, aucune erreur.


Deuxième comportement étrange.
Dans l'éditeur par F5, après la compilation, il déclenche souvent une exécution du programme.

S'il existe une valeur par défaut pour l'un des paramètres, tous les paramètres suivants doivent également avoir des valeurs par défaut.

void Func(int arg1, int arg2, int arg3=0, double & array[]  )
{
 
}

C'était le comportement depuis le début.

Et ce n'est pas à propos du tableau, c'est à propos de la valeur par défaut que le dernier argument a. Tous les suivants doivent l'avoir aussi :

void Func(int arg1, int arg2, double & array[] int arg3=0)
{
 
}
 
Artyom Trishkin:

S'il existe une valeur par défaut pour l'un des paramètres, tous les paramètres suivants doivent également avoir des valeurs par défaut.

C'était le comportement depuis le début.

Et ce n'est pas à propos du tableau, c'est à propos de la valeur par défaut du dernier argument. Tous les suivants sont tenus de l'avoir également :

Merci pour la clarification, mais le comportement est étrange ;))

 
Artyom Trishkin:

Donc votre classement n'est pas encore assez bon pour les blogs.

Où puis-je lire des informations à ce sujet ? De quel type d'évaluation avez-vous besoin ? Que devez-vous faire ?
 
Roman:

Merci pour la clarification, mais le comportement est étrange ;))

C'est étrange de vous entendre poser de telles questions. Le manuel indique clairement


Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Всякая задача может быть разбита на подзадачи, каждую из которых можно либо непосредственно представить в виде кода, либо разбить на еще более мелкие подзадачи. Данный метод называется определения функции. Заголовок функции включает в себя описание типа возвращаемого значения, имени (идентификатора) и формальных параметров.  Количество...
 
Petros Shatakhtsyan:

Si ça marche aussi sur le testeur, c'est bien. Je vais vérifier.

Non, ça ne l'est pas.

L'heure du serveur, d'ailleurs, ne s'arrête pas le samedi. C'est le contraire : dans le terminal, l'heure du serveur est mise à jour avec l'arrivée d'une nouvelle cotation. Par exemple, vous n'avez qu'un seul symbole ouvert dans l'aperçu du marché (non seulement dans le testeur, mais aussi dans la réalité). et il n'y a pas de ticks pendant cinq secondes - pendant tout ce temps, l'horloge du serveur ne bougera pas. ceci s'applique au samedi : l'heure du serveur est en cours, mais le terminal ne le sait pas, car il n'y a pas de ticks. le testeur manquera simplement cette période.

 
Petros Shatakhtsyan:

Mais ici, je ne sais pas comment déterminer si c'est un samedi ou non. Après tout, après la fermeture du marché, le temps du serveur est arrêté.

Dans quel but ? Pour lancer l'auto-optimisation le week-end ? Le réglage d'une minuterie à partir de OnTick à une distance de quelques minutes pourrait alors fonctionner. Si cela fonctionne, alors les tics se sont arrêtés et vous pouvez optimiser.

Si c'est à d'autres fins, formulez-les.

 
Alexey Viktorov:

C'est étrange de vous entendre poser de telles questions. Le manuel indique clairement


Merci Alexey, je n'ai pas regardé dans le guide à ce sujet ;)).
Parce que j'utilise rarement les paramètres par défaut, mais ici j'en avais besoin, alors je suis tombé dessus.
J'ai toujours pensé, pour une raison quelconque, que les paramètres n'avaient pas de priorité, mais c'est le cas.

 

Pouvez-vous me dire comment définir la taille d'une matrice, à partir des arguments passés.
Quelque chose comme ça

void MxResize(int row, int col)
{
   int A[][];      

   ArrayResizeRow(A, row);    
   ArrayResizeCol(A, col);      
}

L'entrée ci-dessous échoue, - valeur d'index invalide

void MxResize(int row=1, int col=1)
{
   int A[row][col];    
      
}
 
Roman:

Pouvez-vous me dire comment définir la taille d'une matrice, à partir des arguments passés.

https://www.mql5.com/ru/forum/328008/page2#comment_14166682

Размерность многомерных динамических массивов через ArrayResize
Размерность многомерных динамических массивов через ArrayResize
  • 2019.12.09
  • www.mql5.com
Добрый день. Такой вопрос волнует: как использовать ArrayResize для двумерных динамических массивов...
 

Bonjour !

Je veux exécuter certains MT4 avec un fichier batch.

Pouvez-vous me dire comment faire et pourquoi mon code ne fonctionne pas :

SET MY_PATH=C:\"Program Files (x86)"
%MY_PATH%\001\terminal.exe
TIMEOUT /T 160
%MY_PATH%\002\terminal.exe
TIMEOUT /T 160
%MY_PATH%\003\terminal.exe
TIMEOUT /T 160
%MY_PATH%\004\terminal.exe
TIMEOUT /T 160
%MY_PATH%\005\terminal.exe
TIMEOUT /T 160
%MY_PATH%\006\terminal.exe
TIMEOUT /T 160
%MY_PATH%\007\terminal.exe
TIMEOUT /T 160
%MY_PATH%\008\terminal.exe
TIMEOUT /T 160
%MY_PATH%\009\terminal.exe
TIMEOUT /T 160
%MY_PATH%\010\terminal.exe
TIMEOUT /T 160
%MY_PATH%\011\terminal.exe
TIMEOUT /T 160
%MY_PATH%\012\terminal.exe
TIMEOUT /T 160

Au mieux, il exécute quelques MT4, puis se bloque.

Bien sûr, la mémoire vive ne manque pas.

De plus, je l'ai essayé sur différents ordinateurs.