Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 928

 
Seric29:

Par exemple, je déclare des paramètres d'entrée et à partir de ces paramètres, je dois prendre des variables globales et les afficher, mais il y a un problème Les paramètres d'entrée ne peuvent pas être un tableau.

si nous parlons devariables d'entrée, vous pouvez simplifier les choses - elles ont une visibilité globale et vous pouvez les utiliser dans n'importe quelle section de code

ou les écrire une fois dans un tableau dans la section OnInit(), et plus tard vous pouvez copier un tableau dans un tableau, mais ici vous avez besoin que les tableaux soient les mêmes - prenez un tableau en réserve, mais alors vous devez contrôler les numéros d'index du tableau pour éviter un bug - vous pourriez utiliser une valeur de tableau vide - le compilateur ne générera pas d'erreur, mais le calcul sera erroné

input int a1=1;
input int a2=2;
input int a3=3;

int ArrayOfInput[3];
int OnInit()
  {
   ArrayOfInput[0] =a1;
   ArrayOfInput[1] =a2;
   ArrayOfInput[2] =a3;
  return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
 // delete cx;
  }
//+------------------------------------------------------------------+
void OnTick()
  {
      int arr[3];
      ArrayCopy(arr,ArrayOfInput);
  }
//+------------------------------------------------------------------+
HH : pour une raison quelconque, j'étais sûr que l'opérateur d'assignation fonctionne pour des tableaux identiques, peut-être ai-je confondu avec la classe - il fonctionne certainement si les objets sont de la même classe.
 
Igor Makanu:

si nous parlons devariables d'entrée, vous pouvez simplifier les choses - elles ont une visibilité globale et vous pouvez les utiliser dans n'importe quelle section de code

ou les écrire une fois dans un tableau dans la section OnInit(), et plus tard vous pouvez copier un tableau dans un tableau, mais ici vous avez besoin que les tableaux soient les mêmes - prenez un tableau en réserve, mais alors vous devez contrôler les numéros d'index du tableau, pour éviter un bug - vous pouvez utiliser une valeur de tableau vide - l'erreur n'apparaîtra pas, mais les calculs seront erronés

SZZ : pour une raison quelconque, j'étais sûr que l'opérateur d'assignation fonctionne pour les mêmes tableaux, peut-être mélangé avec la classe - il fonctionne définitivement si les objets sont de la même classe.

Non, il ya aussi tel que j'ai essayé (peut-être essayé un peu et mal parce que je ne suis pas très bon à eux, mais pour autant que j'ai essayé, il ne fonctionne pas plus à toutes les classes ont besoin de gérer par le biais d'un colon est mieux de le faire ici comme vous l'avez montré) pensé que peut-être par le biais des classes n'est pas nécessaire, donc c'est la façon dont vous avez fait une ligne à affecter.

 

Bonjour.

Pouvez-vous me dire s'il est possible de modifier le fuseau horaire dans la fenêtre popup des alertes standard ?

J'ai besoin de synchroniser l'heure de l'alerte avec l'heure du terminal (lorsqu'elle est différente dans le terminal et dans la fenêtre d'alerte). Est-ce possible ?
 
Pourquoi dans mql4 vous pouvez appeler int(et toute autre valeur retournable) et void(fonction procédurale) de la même manière, comment cela se fait-il ?
 

Question. Comment puis-je parcourir en boucle toutes les valeurs d'une énumération dans une étape non égale ?


enum Types {

Un=11,

Deux=12,

Trois=15,

Quatre=22,

Cinq=27

} ;

 
The_Sheikh:

Question. Comment puis-je boucler sur toutes les valeurs d'une énumération avec un pas non égal ?


enum Types {

Un=11,

Deux=12,

Trois=15,

Quatre=22,

Cinq=27

} ;

non, sizeof() ne fonctionne pas pour l'enum https://docs.mql4.com/ru/basis/types/integer/enumeration

et lors de la conversion des types, le nom de la constante est perdu

enum Types { One=11, Two=12, Three=15, Four=22, Five=27,Six = 111,Seven = 222};
enum Types_abc { a, b, c, d, e,f,g};
void OnStart()
  {
   int sz = sizeof(Types);
   Print("sz = ",sz);
   Types z = Two;
   Types_abc x = b;
   Print("z = ",EnumToString(z)," , x = ",EnumToString(x));
   x = (Types_abc)z;
   Print("z = ",EnumToString(z)," , x = ",EnumToString(x));
  }

2019.08.03 10:52:13.288 tst EURUSD,H1 : sz = 4

2019.08.03 10:52:13.288 tst EURUSD,H1 : z = Two , x = b

2019.08.03 10:52:13.288 tst EURUSD,H1 : z = Two , x = Types_abc::12


 
Elena Baranova:

Bonjour.

Pouvez-vous me dire s'il est possible de changer le fuseau horaire dans la pop-up standard avec une alerte ?

J'ai besoin de synchroniser l'heure de l'alerte avec l'heure du terminal (lorsqu'elle est différente dans le terminal et dans la fenêtre d'alerte). Est-ce possible ?
L'alerte indique l'heure locale du PC. Pour qu'elle corresponde à l'heure du terminal, il suffit de modifier l'heure de l'ordinateur.
 
Seric29:
Pourquoi dans mql4 vous pouvez appeler les fonctions int(et toute autre valeur retournable) et void(fonction procédurale) de la même manière ?

cela s'appelle "surcharge".

Документация по MQL5: Основы языка / Функции / Перегрузка функций
Документация по MQL5: Основы языка / Функции / Перегрузка функций
  • www.mql5.com
Обычно в названии функции стремятся отобразить ее основное назначение. Читабельные программы, как правило, содержат разнообразные и грамотно подобранные идентификаторы. Иногда различные функции используются для одних и тех же целей. Например, рассмотрим функцию, которая вычисляет среднее значение массива чисел двойной точности, и такую же...
 

Bonjour. Comment capter le signal d'entrée de l'indicateur d'éclairage dans le code ? L'indicateur peint une bougie sur le graphique et émet une alerte pour l'entrée.

Pour faire simple, je veux écrire un robot pour cet indicateur.

 
Alexey Viktorov:
Alert affiche l'heure locale sur le PC. Pour le régler à la même heure que l'heure du terminal, il suffit de modifier l'heure de l'ordinateur.

Merci.) Est-ce le seul moyen, il n'y a pas d'autre moyen de régler l'heure dans Alert ? Existe-t-il une alternative à la fonction standard Alert() de MQL4, dans laquelle l'heure d'alerte peut être fixée à l'heure du terminal ?

Raison: