[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 300

 
à Reshetov^ Comme ceci : int start() { Comment("Positions ouvertes : ", OrdersTotal()) ; string smb=Symbol() ; int tf=Period() ; gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic ; inf="" ; INF(TTS(TimeCurrent()), true) ; main(Magic, smb, tf) ; Comment(inf) ; et où et comment le nombre sera-t-il affiché ?
 
Pourquoi mes fonctions "commentaire" et "édition" ne fonctionnent-elles pas ? Il n'y a pas d'options en haut de page - le haut de page est complètement vide - vous ne pouvez pas ajouter de photos, par exemple. Qu'est-ce que ça a à voir avec ça ?
 
yosuf:
à Reshetov^ Comme ceci : int start() { Comment("Positions ouvertes : ", OrdersTotal()) ; string smb=Symbol() ; int tf=Period() ; gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"."+Magic ; inf="" ; INF(TTS(TimeCurrent()), true) ; main(Magic, smb, tf) ; Comment(inf) ; et où et comment le nombre est-il affiché ?
Il existe une combinaison magique : Ctrl+Alt+M et une touche utile "Entrée", afin de ne pas gâcher la vision des interlocuteurs. La vue étant plus précieuse, je ne peux pas répondre de manière spécifique à votre code-washing.
 
Pouvez-vous me dire comment travailler avec ArrayMaximum dans l'EA ? Dans l'indicateur cela fonctionne, j'ai marqué les tableaux et les tampons, mais dans l'EA ce n'est pas clair.
 
Alexandr24:
Pouvez-vous me dire comment travailler avec ArrayMaximum dans l'EA ? Dans l'indicateur cela fonctionne, j'ai marqué les tableaux et les tampons, mais dans l'EA ce n'est pas clair.


Vous devez d'abord préparer le tableau. Essayez le script donné dans l'aide du MetaEditor:

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
  int    maxValueIdx=ArrayMaximum(num_array);
  Alert("Max value = ", num_array[maxValueIdx]);
  
  return(0);
}
//+------------------------------------------------------------------+
 
drknn:


Vous devez d'abord préparer le tableau. Essayez le script donné dans l'aide du méta-éditeur:

Dans mon indicateur, cela ressemble à ceci :

sm[i]=........... ;

double IndexMaxValue=ArrayMaximum(sm,n,shift) ;

Je ne sais pas comment l'attacher à votre script, comment le faire dans l'Expert Advisor ?

Je peux sortir sm[i] via iCustom, mais comment puis-je mettre la variable iCustom dans ArrayMaximum ?

 
Alexandr24:

mais comment la variable iCustom peut-elle être placée dans ArrayMaximum car ce n'est pas un tableau ?

Je n'ai pas cité la documentation pour rien. Il existe une description des paramètres à passer aux entrées des fonctions. S'il est écrit à cet endroit que le paramètre doit être un nom de tableau, glisser une autre fonction (iCustom() à sa place ne nous servira à rien. Cela signifie qu'avant d'appeler ArrayMaximum() nous devons déclarer le tableau, puis remplir ce tableau avec des valeurs et seulement après appeler ArrayMaximum().
 
drknn:
Je n'ai pas cité la documentation pour rien. Il existe une description des paramètres qui doivent être donnés en entrée d'une fonction. S'il y est dit que le paramètre doit être un nom de tableau, pousser une autre fonction (iCustom() en particulier) ne mènera à rien de bon. Cela signifie qu'avant d'appeler ArrayMaximum() nous devons déclarer un tableau et ensuite remplir ce tableau avec des valeurs et seulement après cela vous pouvez appeler ArrayMaximum()
.
J'ai essayé de mettre le code de l'indicateur dans un EA, mais rien ne fonctionne, le truc c'est que IMHO l'indicateur a besoin d'indiquer des buffers et je ne l'ai pas vu dans les EAs, c'est pourquoi l'indicateur fonctionne et le même code ne fonctionne pas dans un EA. J'ai un tableau rempli du cycle sm[i] et l'indicateur le voit mais l'EA avec le même code ne le voit pas. Peut-être que les tableaux dans les EAs devraient être déclarés différemment de ceux des indicateurs ?
 
Alexandr24:
J'ai essayé de mettre le code de l'indicateur lui-même dans l'EA, mais rien ne fonctionne, IMHO le point est que l'indicateur a besoin d'indiquer les tampons et je ne l'ai vu nulle part dans les EAs, c'est pourquoi l'indicateur fonctionne, mais le même code ne fonctionne pas dans les EAs. J'ai un tableau rempli du cycle sm[i] et l'indicateur le voit mais l'EA avec le même code ne le voit pas. Peut-être que les tableaux dans les EAs devraient être déclarés différemment de ceux des indicateurs ?

Trouvez une solution - sans poser de questions : https://www.mql5.com/ru/articles/mt4
 
Il s'agit donc d'écrire un indicateur. Il existe un indicateur et il fonctionne, mais l'Expert Advisor avec le code de cet indicateur ne veut pas, il ne voit pas le tableau sm[i].
Raison: