Questions d'un "mannequin - page 70

 
Expert:

Bonjour. Pourriez-vous me dire. Pourquoi les ordres et les transactions ont-ils un ticket mais pas les positions ?

Et quelle est la différence entre un ticket et un identifiant ?

RTFM
 
sergeev:
RTFM
))))))))))
 
sergeev:
RTFM
Oh... Il est trop grand pour qu'on y trouve rapidement les informations nécessaires.
 
Expert:
Oh... Il est trop grand pour qu'on y trouve rapidement les informations nécessaires.
Et vous prenez votre temps. )) Vous devez l'étudier. Et il sera alors très rapide et facile de trouver de nombreuses réponses à vos questions. Consultez la section Fonctions de négociation pour répondre à votre question.
Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 
rlx:

Appel de fonctions importées de la bibliothèque ex5.

Expliquez-moi s'il vous plaît. Lire https://www.mql5.com/ru/docs/runtime/imports

Les bibliothèques système (DLL) sont chargées par les règles du système d'exploitation. Si la bibliothèque est déjà chargée (par exemple par un autre Expert Advisor, ou même par un autre terminal client, fonctionnant en parallèle), alors la référence est celle de la bibliothèque déjà chargée.

Comment les bibliothèques ex5 sont-elles chargées ?Si la bibliothèque est déjà chargée (par exemple par un autre Expert Advisor et même par un autre terminal client fonctionnant en parallèle),

Et encore : comment faire pour qu'une seule instance de la bibliothèque ex5 soit chargée.

Et les autres EA ne se connecteront qu'à cette instance.

J'ai fait une bibliothèque.

#property library
static int      i=0;
int lib[10 000 000]; /// разделил пробелами для наглядности
int Get(void) export {return(i++);}

J'ai créé un conseiller expert, qui comprend la bibliothèque.

#import "lib.ex5"
  int Get(void);
#import
void OnTick(){}

1. Pas un seul conseiller expert n'est chargé. Le processus terminal.exe fait 91 000 Ko.

2. Connexion d'un conseiller expert à l'EURUSD. Processus Terminal.exe -- 131 000 KB. (+41 MB).

3. Je connecte le même Expert Advisor (en plus) à GBPUSD. processus terminal.exe - 171 000KB.(+41MB).

Comment, au moyen de MT5 uniquement (par le biais de classes ou de bibliothèques ou de scripts, EAs, etc.), créer conjointement un accès à des données spécifiques (qui changeront dynamiquement) ?

PS// J'ai essayé de faire les deux

static  int lib[10 000 000]
De toute façon, une instance différente de la bibliothèque est chargée pour chaque EA.
 

rlx:

Il charge toujours une instance de bibliothèque différente pour chaque EA.

Il peut être possible de mettre en œuvre ce système avec des variables globales du terminal. C'est-à-dire que les deux instances utilisent les variables globales du terminal pour les calculs.
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
rlx:

Encore : Comment faire pour qu'une seule instance d'ex5 soit chargée.

Et les EA suivantes ne se connecteront qu'à cette instance.

J'ai fait une bibliothèque.

J'ai créé un conseiller expert, qui inclut cette bibliothèque.

1. Pas un seul conseiller expert n'est chargé. Le processus terminal.exe fait 91 000 Ko.

2. Connexion d'un conseiller expert à l'EURUSD. Processus Terminal.exe -- 131 000 KB. (+41 MB).

3. Je connecte le même Expert Advisor (en plus) à GBPUSD. processus terminal.exe - 171 000KB.(+41MB).

Comment, au moyen de MT5 uniquement (par le biais de classes ou de bibliothèques ou de scripts, EAs, etc.), créer conjointement un accès à des données spécifiques (qui changeront dynamiquement) ?

PS// J'ai essayé de faire les deux

Il charge toujours une instance de bibliothèque différente pour chaque EA.

Je pense que les variables globales du terminal peuvent vous aider, ou écrire des données dans un fichier.
 
tol64:
Il est peut-être possible de l'implémenter avec des variables globales du terminal. En d'autres termes, les deux instances utilisent les variables globales du terminal pour les calculs.
sergey1294:
Je pense que les variables globales du terminal peuvent vous aider, ou écrire les données dans un fichier.

Merci pour la suggestion.

Il y a peut-être d'autres moyens.

 
rlx:

Merci pour la suggestion.

Il y a peut-être d'autres moyens.

Je pense qu'il n'y a pas d'autres façons d'utiliser les mêmes données avec différents EA, scripts et indicateurs.
 
sergey1294:
Je pense qu'il n'y a pas d'autres moyens d'utiliser les mêmes données par différents Expert Advisors, scripts et indicateurs.

J'aimerais pouvoir le faire.

Par exemple, j'ai inventé une telle variante. Il ne peut pas être mis en œuvre par le biais de variables globales.

conseiller.ex5

struct Info
  {
   uint      id;
   uint   info1;
   uint   info2;
   double info3;
  };
Info   test;
void OnTick()
  {
//---
   test.info3 = 78;
  }
bool  GetInfo(Info& massiv[]) export
  {
   ArrayResize(massiv, 10);
   massiv[0].id = 123;
   massiv[0].info1= 56;
   massiv[0].info3=test.info3;
   return(true);
  }

trader.ex5

struct Info
  {
   uint      id;
   uint   info1;
   uint   info2;
   double info3;
  };
#import "advisor.ex5"
  bool  GetInfo(Info& massiv[]);
#import
void OnTick()
  {
   Info req[];
   GetInfo(req);
   Print(req[0].info3);
  }

Passer le tableau !!! structures !! à un autre Expert Advisor qui remplit ce tableau.

Ce code fonctionne correctement. MAIS trader.ex5 n'est pas lié à un advisor.ex5 déjà en cours d'exécution, mais crée une autre instance deadvisor.ex5.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5