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

 
Alexey Viktorov:

Le tableau est seulement écrit dans un fichier .bin et pour l'ouvrir à la lecture à l'œil... Je ne connais pas une telle application, il est peu probable qu'elle existe. Pour pouvoir lire ce qui a été écrit, il faut l'écrire au format .csv ou .txt, respectivement, avec d'autres fonctions dans une boucle, et non avec FileWriteArray().

Merci.
 
comment corriger l'erreur ?
Dossiers :
 
comment corriger l'erreur ?
Dossiers :
Screenshot_6.png  106 kb
 
02031986dima:
comment corriger l'erreur ?

Faites-le.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает экстремум ЗигЗага по его номеру.                    |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL или "" - текущий символ)          |
//|    tf - таймфрейм                  (      0     - текущий ТФ)              |
//|    ne - номер экстремума           (      0     - последний)               |
//|    dp - ExtDepth                                                           |
//|    dv - ExtDeviation                                                       |
//|    bs - ExtBackstep                                                        |
//+----------------------------------------------------------------------------+
double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
  return(0);
}
 

Salut.

Question : Dans MT4, est-il possible de faire correspondre la couleur du tampon EZ avec le graphique, si la couleur de l'indicateur sur le graphique a changé ?

Dans le code

#propriété indicators_color1 clrYellow

***

***

ObjectCreate(.......) ;

ObjectSetInteger(... indicators_color1) ;


Problème : lorsque vous changez de couleur dans l'indicateur, la couleur de la ligne tampon change, mais dans le graphique, elle est la même que dans #property. Besoin de correspondance.

Jusqu'à présent, j'ai résolu le problème grâce à la couleur d'entrée, MAIS il y a deux entrées dans le code, deux changements dans les paramètres, et je voudrais un seul paramètre dans le tampon.


Merci pour tout commentaire.

Je l'ai schématisé depuis mon smartphone.


 
kopeyka2:

Salut.

Question : Dans MT4, est-il possible de faire correspondre la couleur du tampon EZ avec le graphique, si la couleur de l'indicateur sur le graphique a changé ?

Dans le code

#propriété indicators_color1 clrYellow

***

***

ObjectCreate(.......) ;

ObjectSetInteger(... indicators_color1) ;


Problème : lorsque vous changez de couleur dans l'indicateur, la couleur de la ligne tampon change, mais dans le graphique, elle est la même que dans #property. Besoin de correspondance.

Jusqu'à présent, j'ai résolu le problème grâce à la couleur d'entrée, MAIS il y a deux entrées dans le code, deux changements dans les paramètres, et je voudrais un seul paramètre dans le tampon.


Merci pour tout commentaire.

J'ai fait le schéma depuis un smartphone.

Cela devrait fonctionner. Supprimez-vous l'objet dans OnDeinit() pour en créer un nouveau lorsque vous changez les paramètres d'entrée, avec la couleur que vous voulez ?

 
Taras Slobodyanik:

Si vous savez comment créer un nom d'objet exact, il est inutile de passer en revue tous les objets du graphique.
Il suffit de passer en revue ces noms (supposés).

Merci.

 

@Vitaly Muzichenko


Couleur différente

Le code est Magenta.

Les points sont un tampon. La ligne est un graphique. C'est le problème. La couleur de la variable globale à la ligneObjectSetInteger(...indicators_color1) ne s'obtient PAS lors de la modification de ! !!!. Je pense que le changement de #property indicators_color1 clrMagenta dans le graphique ci-joint se réfère UNIQUEMENT au tampon... Le reste de la valeur est utilisé dans le code comme variable globale.....


Corrigez si vous avez tort. SPS

 
Vitaly Muzichenko:

Cela devrait fonctionner. Est-ce que vous supprimez un objet dans OnDeinit() pour en créer un nouveau lorsque les paramètres d'entrée sont modifiés, avec la couleur que vous voulez ?

Je supprime DEUX fois ; 1)OnDeinit 2) une fois dans le corps du code.
 
kopeyka2:

Salut.

Question : Dans MT4, est-il possible de coordonner la couleur du tampon avec le graphique, si la couleur de l'indicateur est modifiée dans le graphique ?


NON, JE NE PEUX PAS...

c'est drôle, mais on ne peut PAS obtenir ce que l'utilisateur a sélectionné dans l'onglet "Couleurs" à l'intérieur de l'indicateur