Erreurs, bugs, questions - page 2971

 

Lorsque l'on change de période, le conseiller expert ne redémarre pas, il continue à fonctionner.

https://www.mql5.com/ru/docs/runtime/running

При смене символа или таймфрейма графика, к которому эксперт прикреплен, выгрузка и загрузка эксперта не производится. При этом последовательно вызываются обработчики OnDeinit() на старом символе/таймфрейме и OnInit() на новом символе/таймфрейме (если они есть), значения глобальных переменных и статических переменных не сбрасываются. Все события, поступившие для эксперта до завершения инициализации (функции OnInit()), пропускаются.


Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ilyas:

Lorsque l'on change de période, le conseiller expert ne redémarre pas, il continue à fonctionner.

https://www.mql5.com/ru/docs/runtime/running

J'ai remarqué une particularité qui n'était pas présente dans MetaTrader auparavant. Lorsque je supprime un conseiller expert d'un graphique (à l'aide de sa commande du menu contextuel), le graphique se ferme après lui. Auparavant, le graphique ne se fermait pas après la suppression d'un Expert Advisor.

 
Mihail Matkovskij:

J'ai remarqué une particularité qui n'était pas présente dans MetaTrader auparavant. Lorsque je supprime un conseiller expert d'un graphique (à l'aide de sa commande du menu contextuel), le graphique se ferme après lui. Auparavant, le graphique n'était pas fermé après la suppression d'un Expert Advisor.

Il peut être programmé dans l'EA lui-même, vérifier avec un autre EA...

 

sous win7, lors du débogage sur des données historiques, les variables ajoutées à l'observation n'affichent pas leurs valeurs. lors du débogage sur des données réelles, tout fonctionne.j'ai spécifié des paramètres pour le débogage dans les paramètres du méta-éditeur.

il s'avère, que lors de l'ajout de variables, elles ne sont pas affichées dans la fenêtre immédiatement, mais n'apparaissent que lors du prochain démarrage du débogage, mais leurs valeurs sont déjà <non implémentées>. s'il vous plaît, dites-moi ce qu'il faut régler pour que le débogage fonctionne.

 
Vladimir Pastushak:

Il est peut-être programmé dans l'EA lui-même, vérifiez avec un autre EA...

En effet, j'ai jeté l'EA standard sur le graphique. Je l'ai supprimé sans problème. J'ai essayé de trouver ChartClose dans les sources de mon conseiller expert. Je ne l'ai trouvé nulle part. Dès le départ, je n'avais pas l'intention de fermer le graphique lors de la suppression d'un conseiller expert. J'utilise des éléments d'interface utilisateur standard, comme le CAppDialog. Peut-être que la fermeture de la carte a été écrite quelque part dans les classes standard...

 
Mihail Matkovskij:

En effet, j'ai lancé un EA standard sur le graphique. Je l'ai supprimé sans problème. J'ai essayé de trouver ChartClose dans les sources de mon conseiller expert. Je ne l'ai trouvé nulle part. Mon idée initiale était de ne pas fermer le graphique lors de la suppression d'un conseiller expert. J'utilise des éléments standard de l'interface utilisateur, comme le CAppDialog. Peut-être que la fermeture du tableau a été écrite quelque part dans les classes standard...

Je l'ai trouvé. La classe CAppDialog possède un champ CChart m_chart.

class CAppDialog : public CDialog
  {
...
protected:
   CChart            m_chart;               // object to access chart

LorsqueCAppDialog est supprimé (son descendant est utilisé dans mon Expert Advisor),le destructeur m_chart va probablement fermer le graphique.

//+------------------------------------------------------------------+
//| Destructor                                                       |
//+------------------------------------------------------------------+
CChart::~CChart(void)
  {
   if(m_chart_id!=-1)
      Close();
  }
//+------------------------------------------------------------------+
//| Chart close                                                      |
//+------------------------------------------------------------------+
void CChart::Close(void)
  {
   if(m_chart_id!=-1)
     {
      ChartClose(m_chart_id);
      m_chart_id=-1;
     }
  }

Malheureusement, ce processus ne peut pas être suivi à l'aide du débogueur. Mais après avoir examiné le code sourcede CAppDialog, ainsi que deCChart, tout devient clair. J'attire l'attention des développeurs sur ce point.

 
Mihail Matkovskij:

Je l'ai trouvé. La classe CAppDialog possède le champ CChart m_chart.

LorsqueCAppDialog est supprimé (son descendant,CDialog, est utilisé dans mon Expert Advisor),le destructeur m_chart ferme très probablement le graphique.

Malheureusement, ce processus ne peut pas être suivi à l'aide du débogueur. Mais après avoir examiné le code sourcede CAppDialog, ainsi que deCChart, tout devient clair. Je voudrais attirer l'attention des développeurs sur ce point.

void CAppDialog::Destroy(const int reason)

Se détacher de la carte, entre autres choses.

 

Pouvez-vous me dire pourquoi SignalBaseTotal() renvoie toujours 1000.

Le service de signaux de mql5.com a plus de mille signaux diffusés, mais le terminal n'en a qu'un millier de disponibles. Pourquoi ?

Se peut-il qu'il y ait un seul ensemble de signaux dans ce millier, alors qu'il peut être différent dans une heure ?
Документация по MQL5: Управление сигналами / SignalBaseTotal
Документация по MQL5: Управление сигналами / SignalBaseTotal
  • www.mql5.com
SignalBaseTotal - Управление сигналами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alain Verleyen :

Erreur avec une structure dérivée où aucune nouvelle donnée n'est ajoutée lors de l'enregistrement/du chargement à partir d'un fichier.

@Ilyas Allez-vous corriger cela ?
 
Alain Verleyen:

Erreur avec la structure dérivée où aucune nouvelle donnée n'est ajoutée lors de la sauvegarde/chargement à partir d'un fichier.

Merci pour votre message.

L'erreur a été corrigée

Raison: