Questions des débutants MQL5 MT5 MetaTrader 5 - page 175

 
Reshetov:

Est-ce que je fais quelque chose de mal ? Essayer la ligne
Alert("Time=",Time[0]);
zéro à s ne fonctionne pas.
 
forexman77:
Peut-être que je fais quelque chose de mal ? Essayer de remplacer la ligne zéro par s ne fonctionne pas.
Écrivez exactement ce que vous voulez obtenir (l'essence de l'algorithme). En outre, s'agit-il d'un indicateur, d'un script ou d'un conseiller expert ?
 
barabashkakvn:
Écrivez exactement ce que vous voulez obtenir (l'essence de l'algorithme). En outre, s'agit-il d'un indicateur, d'un script ou d'un conseiller expert ?

L'heure de formation de la barre trouvée par la ligne du dessous (le minimum trouvé) :

int s=ArrayMaximum(High,i,k);
Non, ce n'est pas encore un indicateur, c'est un script de test. Je l'utiliserai comme conseiller expert à l'avenir. Je l'utiliserai comme conseiller expert à l'avenir.
 
forexman77:

L'heure de formation de la barre trouvée par la ligne ci-dessous (trouvée minimum) :

Non, ce n'est pas encore un indicateur, c'est un script, pour tester. Pour apprendre. Je l'utiliserai pour un EA dans le futur.

Réduction du nombre d'éléments copiés - pour une meilleure visualisation sur le graphique et une meilleure compréhension :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double High[];
   datetime Time[];
   ArraySetAsSeries(High,true);  // индексация элементов массива будет производиться как в таймсериях
   ArraySetAsSeries(Time,true);  // индексация элементов массива будет производиться как в таймсериях
   int i=0;
   int k=10;
//--- копируем цены High баров от "i" в количестве "k"
   CopyHigh(_Symbol,_Period,i,k,High); // теперь в массиве High "k" элементов
   int s=ArrayMaximum(High);           // индекс бара с максимальным значением
   double Maxi=High[ArrayMaximum(High)];  // найдено значение High максимального бара
//--- копируем время Time баров от "i" в количестве "k"
   CopyTime(_Symbol,_Period,i,k,Time);   // теперь в массиве Time "k" элементов
//--- на данный момент в массивах High и Time "k" элементов и они соответствуют друг другу
   Alert("s=",s);
   Alert("Time=",Time[s]);
   Alert("Maxi=",Maxi);
  }
//+------------------------------------------------------------------+
 
barabashkakvn:

Réduction du nombre d'éléments copiés - pour faciliter la visualisation sur le graphique et la compréhension :

Super ! Les comptes. J'ai supposé qu'il fallait définir l'indexation des éléments, mais je ne savais pas comment le faire.
 
La question est de savoir comment changer la couleur des ordres de limite de vente sur le graphique. ils sont verts comme les ordres réels. il faut les rendre orange ou autre...
 
trora:
La question est de savoir comment changer la couleur des offres de limite de vente sur le graphique. Elles sont vertes comme les vraies offres. Il faut les rendre orange ou autre...
Nous ne pouvons pas le faire par le biais de la palette de couleurs. Mais il existe un lien entre la couleur des volumes et la couleur de tous les ordres et commandes : si nous changeons la couleur des volumes, tous les ordres et commandes seront de la même couleur.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

Le script doit commencer à compter un tableau à partir d'une certaine date avec un certain nombre de barres pour rechercher dans ce nombre de barres. Ce serait bien, mais la recherche est effectuée à partir de l'heure spécifiée, de droite à gauche, alors que la recherche devrait être effectuée à partir de l'heure spécifiée et après celle-ci. La variante avec date de début et date de fin ne convient pas, car il n'y a pas de possibilité de définir le nombre de barres.

 
forexman77:

Le script doit commencer à compter un tableau à partir d'une certaine date avec un certain nombre de barres pour rechercher dans ce nombre de barres. Ce serait bien, mais la recherche est effectuée à partir de l'heure spécifiée, de droite à gauche, alors que la recherche devrait être effectuée à partir de l'heure spécifiée et après celle-ci. La variante avec date de début et date de fin ne convient pas, car il n'y a pas de possibilité de définir le nombre de barres.

Dessinez une ligne de temps manuscrite et numérotez les barres. Vous pouvez également utiliser une capture d'écran pour décrire la situation (de préférence sur un fond blanc).
 
barabashkakvn:
Dessinez une ligne de temps manuscrite et numérotez les barres. Ou sur une capture d'écran décrivant la situation (de préférence sur fond blanc).

L'enregistrement de l'heure de formation du maximum ne pose pas de problème. Il n'est pas clair comment dire au programme de chercher le minimum dans les 8 mesures suivantes. C'est-à-dire que les barres avant le maximum ne sont pas comptées, la recherche se fait dans les barres après le maximum. Le comptage par temps de et à n'est pas approprié car il est impossible de spécifier le nombre de mesures. La dernière barre à rechercher dans le graphique est zéro, nous considérerons qu'il n'y a pas de barres après la dernière flèche.