Erreurs, bugs, questions - page 2951

 

Pouvez-vous me dire comment déterminer l'emplacement le plus avantageux de votre VPS en fonction du nom du serveur MT5 ?

Les adresses IP ne sont pas disponibles, malheureusement.

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом
Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом
  • habr.com
Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе. Географическая близость сервера не всегда равна близости на уровне IP...
 
fxsaber:

Pouvez-vous me dire comment déterminer l'emplacement le plus avantageux de votre VPS en fonction du nom du serveur MT5 ?

Les adresses IP ne sont pas disponibles, malheureusement.

Il n'y a aucun moyen de le faire directement.

1. allez chez un courtier, peut-être qu'il vous cédera au moins une ville

2. mq + webrequest, adapté aux sites de masse tels que londres. l'hébergement lui-même recherche le point le plus proche, webrequest pour connaître l'ip.

3. tout hébergement windin avec une large gamme d'emplacements et de triangulation

4. essayez Londres ld4, il y a une chance non nulle de chance immédiate
 
Andrei Trukhanovich:

il n'y a aucun moyen de le faire directement.

2. hébergement à partir de mq + webrequest, adapté aux sites de masse comme londres. l'hébergement lui-même recherche le point le plus proche, webrequest pour trouver l'ip.

Prenez un jour de VPS gratuit de MQ. De là, faites une WebRequest pour trouver l'IP du VPS. Ensuite, cherchez votre VPS, près de VPS_MQ. Merci.

 

Vous devez définir dans l'EA au stade du démarrage si elle est exécutée de manière standard ou via un modèle.

Avez-vous des idées pour résoudre ce problème ? Une sous-tâche est apparue dans le processus de détermination de la durée de vie de la carte - quand elle a été créée.

 
Andrei Trukhanovich:

Il n'y a aucun moyen de le faire directement.

1. contactez un courtier, peut-être qu'il vous donnera au moins les villes.

2. hébergement à partir de mq + webrequest, adapté aux sites de masse tels que londres. l'hébergement lui-même recherche le point le plus proche, webrequest pour connaître l'ip.

3. tout hébergement de type windup avec une large gamme d'emplacements et une triangulation

4. essayez Londres ld4, il y a une chance non nulle de chance immédiate

Certains courtiers, par souci de protection contre les attaques dos, cachent ou ne placent pas de points d'accès dans le centre de données où se trouvent les serveurs de négociation, mais les déplacent chez un autre fournisseur. Parfois dans un autre pays ou sur un autre continent.

Il en résulte une situation sauvage où le ping minimal vers le serveur se situe dans les dizaines ou centaines de millisecondes.

Dans la prochaine version de MT5, nous lancerons l'hébergement VPS sponsorisé par des courtiers et, afin de minimiser la latence du réseau, nous signalons explicitement aux courtiers la mauvaise configuration des points d'accès.

Nous espérons que certains courtiers corrigeront leurs configurations de réseau.

 
Renat Fatkhullin:

...

Espérons que certains courtiers corrigeront leurs configurations de réseau.

Et pouvons-nous espérer un accès ouvert aux informations sur ceux qui ont fixé ?

 
fxsaber:

Vous devez définir dans l'EA au stade du démarrage si elle est exécutée de manière standard ou via un modèle.

Avez-vous des idées pour résoudre ce problème ?

Cela dépendra probablement de l'application

la première chose qui me vient à l'esprit est un programme d'espionnage, une sorte d'indicateur sur le graphique qui dira "oops" pendant la désinitialisation à cause de l'application modèle?

ou un service espion qui suivra le graphique par ChardID et sortira s'il y a eu des changements dans le graphique ?...bien que, très probablement, l'utilisation des modèles ne peut pas être calculée de cette façon


Vous pouvez essayer d'analyser comment les programmes MQL enregistrés dans un modèle sont lancés, qui démarre le plus vite - les indicateurs ou l'EA et essayer de faire quelques actions à partir de ce programme MQL qui signifierait l'utilisation du modèle.

 
Igor Makanu:

Si vous êtes un créateur de modèle, vous pouvez essayer d'analyser comment les programmes MQL enregistrés dans un modèle sont lancés et qui est le plus rapide à démarrer - les indicateurs ou EA et essayer de faire certaines actions à partir de ce programme MQL signifiant l'application du modèle, c'est-à-dire qu'il devrait y avoir plusieurs programmes MQL dans un modèle.

Idée intéressante, merci.

 

Veuillez corriger ce bogue. MQL5 ne permet pas d'utiliser certains enums intégrés comme paramètres génériques, par exemple : ENUM_CHART_PROPERTY_DOUBLE, ENUM_CHART_PROPERTY_STRING.

Il n'y a aucun problème avec les enum personnalisés et les autres enum intégrés.

#include <Generic\HashMap.mqh>
enum TEST_ENUM {
   ENUM1, ENUM2
};
void OnStart()
  {
   CHashMap<ENUM_CHART_PROPERTY_INTEGER,int> mapI;    // эта срока компилируется без ошибок
   CHashMap<ENUM_CHART_PROPERTY_DOUBLE,double> mapD;  // здесь ошибки компиляции: 'NULL' - cannot convert enum  HashMap.mqh     21      39. 'NULL' - cannot convert enum        HashMap.mqh     462     30
   CHashMap<ENUM_CHART_PROPERTY_STRING,string> mapS;  // здесь ошибки компиляции: 'NULL' - cannot convert enum  HashMap.mqh     21      39. 'NULL' - cannot convert enum        HashMap.mqh     462     30
   CHashMap<TEST_ENUM,double> mapE;    // эта срока компилируется без ошибок

  }
 
Alexey Rassvetnyy:

Veuillez corriger ce bogue. MQL5 ne permet pas d'utiliser certains enum intégrés comme paramètres génériques, par exemple : ENUM_CHART_PROPERTY_DOUBLE, ENUM_CHART_PROPERTY_STRING.

Il n'y a aucun problème avec les enum personnalisés et les autres enum intégrés.

Le problème vient du fait que l'enum ne possède pas d'élément avec une valeur nulle. J'ai réussi à créer mon propre enum qui génère cette erreur de compilation.

#include <Generic\HashMap.mqh>
enum TEST_ENUM {
   ENUM1, ENUM2
};
enum TEST_ENUM2 { //отсутствует элемент с номером 0
   ENUM1=-10, ENUM2
};
void OnStart()
  {
   CHashMap<ENUM_CHART_PROPERTY_INTEGER,int> mapI;    // эта срока комилируется без ошибок
   CHashMap<ENUM_CHART_PROPERTY_DOUBLE,double> mapD;  // здесь ошибки компиляции: 'NULL' - cannot convert enum  HashMap.mqh     21      39. 'NULL' - cannot convert enum        HashMap.mqh     462     30
   CHashMap<ENUM_CHART_PROPERTY_STRING,string> mapS;  // здесь ошибки компиляции: 'NULL' - cannot convert enum  HashMap.mqh     21      39. 'NULL' - cannot convert enum        HashMap.mqh     462     30
   CHashMap<TEST_ENUM,double> mapE;    // эта срока комилируется без ошибок
   CHashMap<TEST_ENUM2,double> mapE2;    // здесь ошибки компиляции: 'NULL' - cannot convert enum       HashMap.mqh     21      39. 'NULL' - cannot convert enum        HashMap.mqh     462     30
  }
Raison: