Questions des débutants MQL4 MT4 MetaTrader 4 - page 8

 
Slawa:

L'information sur les 8 tampons est dépassée.

Dans le nouveau MQL4, vous pouvez configurer jusqu'à 512 tampons.

Pour le comprendre, consultez le code source des indicateurs dans le dossier MQL4\Indicators\Examples. Et lisez la documentation

Merci, bien sûr, pour le lien vers le livre de référence :) Cependant, je l'ai déjà parcouru. Malheureusement, je n'ai rien trouvé de précis - ce que font ces tampons supplémentaires, ce qui est affiché, ce qui ne l'est pas, etc. - seulement des fonctions, et il n'y a rien sur la structure et le but des nouveaux "tampons".

L'homme demande une réponse sur le forum, pas un lien vers un livre de référence. Peut-être quelqu'un peut-il expliquer plus en détail ? :) Ou au moins un lien vers un article qui l'explique ?

 
Ilya Melamed:

Merci, bien sûr, pour le lien vers le guide :) Cependant, je l'ai déjà parcouru. Malheureusement, je n'ai rien trouvé de spécifique - à quoi servent les tampons supplémentaires, ce qui est affiché, ce qui ne l'est pas, etc... juste des fonctions, mais rien sur la structure et le but, la logique des "tampons" mis à jour.

La personne demande une réponse sur le forum, pas un lien vers un livre de référence. Peut-être quelqu'un peut-il expliquer plus en détail ? :) Ou au moins un lien vers un article où cela est expliqué ?

Profitez-en :

https://www.mql5.com/ru/articles/1500

https://www.mql5.com/ru/articles/1503

 
Ilya Melamed:

Merci, bien sûr, pour le lien vers le guide :) Cependant, je l'ai déjà parcouru. Malheureusement, je n'ai rien trouvé de spécifique - à quoi servent les tampons supplémentaires, ce qui est affiché, ce qui ne l'est pas, etc... juste des fonctions, mais rien sur la structure et le but, la logique des "tampons" mis à jour.

L'homme demande une réponse sur le forum, pas un lien vers un livre de référence. Peut-être quelqu'un peut-il expliquer plus en détail ? :) Ou au moins un lien vers un article où cela est expliqué ?

Dans la nouvelle mql4, il n'est pas nécessaire d'utiliser des tampons supplémentaires.

Ce que vous mettez dans le tampon sera affiché. Peut-être que rien ne peut être montré, si le type de série du graphique est DRAW_NONE.

La fonction principale de l'indicateur est OnCalculate(). Commencez par le faire :

https://docs.mql4.com/ru/basis/function/events#oncalculate

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
Ce serait quelque chose à apprécier. C'est très vieux.

Ilya Melamed

Lisez les articles, bien sûr, mais gardez à l'esprit que la fonction principale est différente et qu'il est préférable de construire le début des indicateurs différemment maintenant (voir le lien que j'ai donné dans le post précédent). Vous pouvez également consulter les indicateurs CodeBase, écritspar Nikolay Kositsin. Il les a tous mangés :).

 

Salutations.

J'écris un EA dans MT4 après avoir annulé OnTick() d'une fonction :

Print("TEXT") ;

(ma tâche est d'écrire "TEXTE" dans mon journal à chaque tic).

Je le compile et il affiche "TEXT" dans le journal du testeur à chaque tick. Lorsque j'active le même Expert Advisor sur le graphique, le chargement se fait avec succès et c'est tout, le texte "TEXT" est absent.

En même temps, les fonctions Comment() et Alert() sur le graphique et dans le testeur fonctionnent de la même manière.

Qu'est-ce que je fais de mal ?

 
spoiltboy:

Salutations.

J'écris un EA dans MT4 après avoir annulé OnTick() d'une fonction :

Print("TEXT") ;

(ma tâche est d'écrire "TEXTE" dans mon journal à chaque tic).

Je le compile et il affiche "TEXT" dans le journal du testeur à chaque tick. Lorsque j'active le même Expert Advisor sur le graphique, le chargement se fait avec succès et c'est tout, le texte "TEXT" est absent.

En même temps, les fonctions Comment() et Alert() fonctionnent de la même manière sur le graphique et dans le testeur.

Qu'est-ce que je fais de mal ?

Veuillez joindre le code complet du conseiller expert et le nom de l'instrument sur lequel vous l'exécutez.
 
Alexey Kozitsyn:
Veuillez joindre le code complet du conseiller expert et le nom de l'instrument sur lequel vous l'exécutez.

N'importe quel instrument, USDCHF, H1 par exemple.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");
  }
//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
spoiltboy:

Salutations.

J'écris un EA dans MT4 après avoir annulé OnTick() d'une fonction :

Print("TEXT") ;

(ma tâche est d'écrire "TEXTE" dans mon journal à chaque tic).

Je le compile et il affiche "TEXT" dans le journal du testeur à chaque tick. Lorsque j'active le même Expert Advisor sur le graphique, le chargement se fait avec succès et c'est tout, le texte "TEXT" est absent.

En même temps, les fonctions Comment() et Alert() sur le graphique et dans le testeur fonctionnent de la même manière.

Qu'est-ce que je fais de mal ?

Vous avez raison. À ce moment-là, il n'y avait pas de tiques. Pour rendre cela plus clair, ajoutez un compteur de ticks et imprimez sa valeur.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}
 
Vitalie Postolache:

C'est vrai, c'est juste qu'il n'y avait pas de tiques à l'époque. Pour rendre les choses plus claires, ajoutez un compteur de tic-tac et imprimez sa valeur.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}

Lesfonctions Comment() et Alert() fonctionnent de manière identique sur le graphique et dans le testeur.

Qu'est-ce que je fais de mal ?

 
spoiltboy:

N'importe quel instrument, USDCHF, H1 par exemple.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");

return(0);
  }
//+------------------------------------------------------------------+


Raison: