Erreurs, bugs, questions - page 2955

 
DMITRII PECHERITSA:

Dans le cas général, les deux ne conviennent pas, car les méthodes sont virtuelles et dans la classe dérivée, la méthode est surchargée et déjà occupée par autre chose.

Et dans certains cas particuliers, vous pouvez vous passer de cours du tout.

 
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

ushort a;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   a=0;
//---
   return(INIT_SUCCEEDED);
  }


L'expression n'a pas pu être évaluée

Pourquoi la variable ne peut-elle pas être vue ?

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • 2021.02.08
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
Dossiers :
5555.png  128 kb
 
Борис Крутов:


L'expression n'a pas pu être évaluée

Pourquoi la variable ne peut-elle pas être vue ?

Je pense que c'est à cause de la suppression agressive des variables inutiles (vides, inutilisées).

Exemple :

//+------------------------------------------------------------------+
//|                                                     Expert 1.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- input parameters
input int   Input1= 9;
//---
ushort   ushort_d = 19;
uint     uint_d   = 119;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ushort_d=8;
   uint_d=GetTickCount();
   int d=9;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  }
//+------------------------------------------------------------------+

Nous pouvons voir que'ushort_d' n'est pas calculé et n'est pas utilisé alors que'uint_d' est au moins calculé :


Dossiers :
Expert_1.mq5  2 kb
 

Probablement pas ici.

La navigation dans les pages du forum et le marquage des pages consultées (changement de la police de caractères de gras à normal) ne fonctionnent pas à partir du navigateur du téléphone et de la navigation ultérieure sur l'ordinateur. Sur le téléphone, lors de la navigation ultérieure, cela fonctionne bien.

Sur des ordinateurs d'adresses différentes, connectés, tout est normal. Visionner à la maison, au village, puis au bureau)))

Sur les ordinateurs vin7, chrome. Je me suis connecté au site, chrome est également connecté au même compte.

Sur mon téléphone android 6 avec le lanceur Apex et le même chrome. Le site est connecté, chrome est également connecté au même compte que sur les ordinateurs.

 
Vladimir Karputov:

Je pense que c'est à cause de la suppression agressive des variables inutiles (vides, inutilisées).

Exemple :

Nous constatons que"ushort_d" n'est pas calculé et n'est pas utilisé, alors que"uint_d" est au moins calculé :


***

Cela ne fonctionne pas non plus comme ça. Et si nous changeons 'ushort en int', le programmeur voit la variable

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

***

Cela ne fonctionne pas non plus. Et si vous changez ushort en int, il voit la variable

Insérez le code correctement (utilisez le bouton Code).

 
Vladimir Karputov:

Insérez le code correctement (utilisez le bouton ).

#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"



ushort=GetTickCount64();
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
a=GetTickCount64();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  a=a++;
  Comment("a: ",a,"/n");
}
Исправил
 
Boris:

Le code ne se compile pas à cause d'un grand nombre d'erreurs. Corrigez le code.

 
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"



ushort a;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
a=(ushort)GetTickCount();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  a++;
  Comment("a: ",a,"/n");
}
Vladimir Karputov:

Le code ne se compile pas à cause d'un grand nombre d'erreurs. Corrigez le code.

Fixé par

 
Boris:

Corrigé par

GetTickCount est de type uint
Документация по MQL5: Общие функции / GetTickCount
Документация по MQL5: Общие функции / GetTickCount
  • www.mql5.com
GetTickCount - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5