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

 
Andrey Sokolov #:

Salutations. Pouvez-vous me donner un indice ? Comment dans mt5 à l'initialisation ou au tick définir le test ?

Jusqu'à présent, je n'ai trouvé que OnTester(), qui est appelé juste avant OnDeinit().

MQLInfoInteger (MQL_TESTER).

Quelque chose comme ça.

 
Nerd Trader #:
last_time = iTime(NULL, 0, 0);

  if(last_time > bar.time_open){
    bar.time_open = last_time;
    coint++;//стартовое значение -1
  }

Il y a manifestement quelque chose qui ne va pas ici !

 
 

Pourquoi ?

#property indicator_color1 clrIndianRed;
#property indicator_color2 clrMagenta;
#property indicator_color3 clrRed;

extern color Cl1 = clrIndianRed;
extern color Cl2 = clrMagenta;
extern color Cl3 = clrRed;

color sColor[] = {indicator_color1,indicator_color2,indicator_color3}; // Так нормально
color sColor[] = {Cl1,Cl2,Cl3}; // Так ошибки 'Cl1' - constant expression required 

---

Quelle est la meilleure façon de construire un tableau à partir de chaînes de caractères d'entrée/externes ?

 
Vitaly Muzichenko #:

Pourquoi ?

---

Quelle est la meilleure façon d'assembler un tableau à partir d'une chaîne d'entrée/externes ?

Mettez les couleurs sous forme de chaîne en entrée et séparez ensuite la chaîne dans un tableau.

Je ne veux pas mettre de code pour les couleurs pour le moment, vous le découvrirez vous-même. J'ai une liste de caractères transférés dans un tableau comme ceci

  string s_arr[]; // В этом массиве будет перечень нужных символов
  if(StringSplit(slist, ',', s_arr) <= 0)
   {
    Print(__FUNCTION__ + " Error converting !");
    return;
   }

Il s'agit d'une liste dans la variable d'entrée.

 
Vitaly Muzichenko #:

Pourquoi ?

---

Quelle est la façon de construire un tableau à partir de chaînes de caractères d'entrée/externes ?

Je suis d'accord avec Alexei.

extern string Colors = "clrIndianRed/clrMagenta/clrRed";
color sColor[];
//+------------------------------------------------------------------+
int OnInit()
  {
   ushort sep  = StringGetCharacter("/",0);
   string tempLevel[];
   int sz1  = StringSplit(Colors,sep,tempLevel);
   ArrayResize(sColor,sz1);
   for(int i=0; i<sz1; i++)
   {
    sColor[i] = StringToColor(tempLevel[i]);Print(i," / ",sColor[i]);
   }
//---
   return(INIT_SUCCEEDED);
  }
 
Alexey Viktorov #:

Entrez les couleurs sous forme de chaîne dans l'entrée, puis divisez la chaîne en un tableau.

Je ne veux pas passer de code pour les couleurs pour le moment, vous pouvez le découvrir vous-même. J'ai une liste de caractères transférés dans un tableau comme ceci

C'est la liste dans la variable d'entrée.

Je connais cette méthode, mais elle ne fonctionne pas. Il n'y a aucun moyen de sélectionner dans la liste.


 

Pour l'instant, les couleurs sont comme ça, ce n'est pas pratique, et je ne trouve pas de raison pour laquelle je ne peux pas changer la couleur, après avoir appliqué la modification des paramètres à la norme.


 
Vitaly Muzichenko #:

Pour l'instant les couleurs sont comme ça, ce n'est pas pratique, et je ne trouve pas de raison pour laquelle je ne peux pas changer la couleur, une fois appliqué les paramètres changent au standard


Alors c'est comme ça

extern color Cl1 = clrIndianRed;
extern color Cl2 = clrMagenta;
extern color Cl3 = clrRed;
string Colors = ColorToString(Cl1)+"/"+ColorToString(Cl2)+"/"+ColorToString(Cl3);
color sColor[];
//+------------------------------------------------------------------+
int OnInit()
  {
   ushort sep  = StringGetCharacter("/",0);
   string tempLevel[];
   int sz1  = StringSplit(Colors,sep,tempLevel);
   ArrayResize(sColor,sz1);
   for(int i=0; i<sz1; i++)
   {
    sColor[i] = StringToColor(tempLevel[i]);Print(i," / ",sColor[i]);
   }
//---
   return(INIT_SUCCEEDED);
  }
 
MakarFX #:

C'est tout, alors.

Super, juste ce dont j'ai besoin !

Merci !

P.S. J'ai trouvé la raison pour laquelle les paramètres n'étaient pas sauvegardés, il y avait des points-virgules à la fin, ils ont été pris lors de la copie de l'entrée - supprimés et tout a fonctionné. Inattention.