Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 480

 
charter:

500

C'est peut-être parce que la version est ancienne et que l'éditeur MQL4 est nouveau. Compile-t-il sans erreur ?
 
khorosh:

Probablement parce que la version est ancienne et que l'éditeur MQL4 est nouveau. Compile-t-il sans erreur ?

Aucune erreur.

C'est la version 600 maintenant ?

 
charter:

Pas d'erreurs.

Donc c'est 600 de construction maintenant ?


Le dernier doit être le 604.
 

Bizarrement, il n'a pas été mis à jour automatiquement pour moi.

Je l'ai téléchargé sur le site Metacvots. Il s'avère que la construction est déjà à 604

 
Je pense que c'est le problème. Merci.
 

Maîtriser les structures. L'écriture :

//в шапке
struct move{
   int nBar;
   double price;
};
struct edge{
   move L0;
   move R1;
};
struct set{
   color RGB;
   int width;
   int style;
   bool back;
};
//пользовательская функция
void plot(string name, long current_chart_id, edge &x, set &y){
   if(ObjectFind(name) == -1){
      ObjectCreate(current_chart_id, name, OBJ_TREND, 0, Time[x.L0.nBar], x.L0.price, Time[x.R1.nBar], x.R1.price);
      ObjectSet(name, OBJPROP_COLOR, y.RGB);
      ObjectSet(name, OBJPROP_WIDTH, y.width);
      ObjectSet(name, OBJPROP_STYLE, y.style);
      ObjectSet(name, OBJPROP_BACK, y.back);
      ObjectSet(name, OBJPROP_RAY, false);
   }else{
      ObjectMove(current_chart_id, name, 0, Time[x.L0.nBar], x.L0.price);
      ObjectMove(current_chart_id, name, 1, Time[x.R1.nBar], x.R1.price);
   }
   return;
}
//в OnTimer()
edge x = {{fstBar - length1, price1}, {length2, price2}};
set y = {cPrice[int(!IsCall)], 1, STYLE_DOT, true};
plot(name, current_chart_id, x, y);

- Le compilateur jure que je ne peux passer que des constantes. Comment passer des variables dans une structure ?

Ajouté par

J'ai trouvé une solution :

x.L0.nBar = fstBar - length1; x.L0.price = price1; x.R1.nBar = length2; x.R1.price = price2;
y.RGB = cPrice[int(!IsCall)]; y.back = true; y.style = STYLE_DOT; y.width = 1;
plot(name, current_chart_id, x, y);

Je l'ai, seules les constantes peuvent vraiment être entre accolades.

 
Est-il possible d'utiliser MQL pour écrire le fichier csv dans une cellule spécifique, ou comment le fichier peut-il être formaté comme un tableau ?
 
Veuillez rédiger un exemple de la façon de définir une icône ... J'ai repris une fonction de setArrow de Kim et je pense que j'ai passé les mauvais paramètres parce que les icônes sont soit dessinées en ligne, soit pas du tout.
 
Zver4991:
Veuillez rédiger un exemple de mise en place d'une icône... J'ai repris la fonction setArrow de Kim... Je dois passer de mauvais paramètres car les icônes sont dessinées en ligne ou ne sont pas dessinées du tout...

Le prix est correct. Si tous les objets sont sur une ligne, ils sont alignés au même prix.
 
beginner:
Est-il possible d'écrire des informations dans un fichier csv en utilisant les outils MQL dans une certaine cellule ou comment formater un fichier comme un tableau ?

De deux façons.

1. Lire le fichier dans un tableau. Modifiez le tableau si nécessaire, puis écrasez le fichier avec ce tableau.

2. Calculer la position du pointeur de fichier au début et à la fin des données à réécrire. Nous lisons la partie finale dans le tampon et la sauvegardons. Ensuite, nous écrasons ce qui était nécessaire. Puis nous finissons d'écrire à partir du tampon avec ce que nous avons lu et mémorisé précédemment.