ATcl - Interprète Tcl pour MT4 - page 9

 

Il y a aussi une nuance dans 4 qui flotte d'une build à l'autre :-) lorsque vous définissez "Allow import of DLL functions " dans les paramètres globaux du terminal lui-même, le terminal doit être redémarré.


 
Maxim Kuznetsov:

Il y a également une nuance dans la version 4 qui varie d'une version à l'autre :-) lorsque vous définissez "Allow import of DLL functions " dans les paramètres globaux du terminal lui-même, le terminal doit être redémarré.

Un thème intéressant. Mais il est préférable de séparer immédiatement et fondamentalement les threads Tcl et terminal. Le MT Expert Advisor n'a qu'un seul fil de discussion, et nous y avons intégré Tcl.

Le principe : prendre l'information - libérer le fil est, à mon avis, plus fiable.

 
Yuriy Asaulenko:

Un thème intéressant. Mais il est préférable de séparer immédiatement et fondamentalement les fils Tcl et terminal.

Si nous parlons de fils et de processus, c'est "grand-mère l'a dit deux fois".
Je m'en tiens à ce que tcl soit exécuté dans le même thread, mais je laisse la possibilité d'exécuter des threads parallèles à l'application. Une caractéristique mineure et pratique de l'exécution dans un seul fil - vous pouvez lier les variables.

Si l'on veut partager "en une seule fois et à la racine" - c'est une surcharge importante de la concurrence et de la protection de la mémoire.
La bibliothèque est conçue comme un outil pratique, c'est-à-dire que l'appel à des fonctions non durables est tout à fait possible et le lancement de threads est superflu.
Il manquait une petite chose, mais voilà, vous l'exécutez avec un script.



 
Maxim Kuznetsov:

La bibliothèque est conçue comme un outil pratique, c'est-à-dire que l'appel de fonctions non durables se fait tout seul et la génération de threads est inutile.

Vous avez besoin d'un petit quelque chose, mais vous devez utiliser un script pour l'exécuter.

Alors oui, dans ce cas, c'est plutôt redondant.

 

Je n'ai pas trouvé de solution, je l'ai installé sur une machine virtuelle et l'erreur est toujours la même. Veuillez me dire quelle plateforme de trading vous avez. Voici le mien


 
kovtynmen:

Je n'ai pas trouvé de solution, je l'ai installé sur une machine virtuelle et l'erreur est toujours la même. Veuillez me dire quelle plateforme de trading vous avez. Le mien est


Serveur (VDS) - a déployé Tcl BAWT 32 bit, a écrit/contrôlé les instructions d'installation sur celui-ci

2018.10.28 19:30:12.792 Windows Server 2012 R2 Standard (PC basé sur x64), IE 11.00, RDP, UAC, 4 x Intel Xeon Gold 6154 @ 3.00GHz, RAM : 590 / 1685 Mb, HDD : 20089 / 32415 Mb, GMT+03:00
2018.10.28 19:30:12.792 Alpari MT4 build 1090 démarré (Alpari International Limited)

Station (en ce moment) - historiquement Active Tcl 32 bit

2018.10.28 19:32:48.517 Windows 10 Home Single Language (x64 based PC), IE 11.00, UAC, 2 x Intel Pentium 987 @ 1.50GHz, RAM : 701 / 3889 Mb, HDD : 86187 / 460669 Mb, GMT+03:00
2018.10.28 19:32:48.517 Alpari MT4 build 1090 démarré (Alpari International Limited)

Une petite nuance qui n'est pas importante - je démarre toujours mes terminaux en /portable - je n'aime pas qu'ils aillent dans beaucoup d'endroits imprévisibles sans cela :-)

 
Maxim Kuznetsov:

Serveur (SDV) - a déployé Tcl BAWT 32 bit, a écrit/vérifié les instructions d'installation sur celui-ci

2018.10.28 19:30:12.792 Windows Server 2012 R2 Standard (PC basé sur x64), IE 11.00, RDP, UAC, 4 x Intel Xeon Gold 6154 @ 3.00GHz, RAM : 590 / 1685 Mb, HDD : 20089 / 32415 Mb, GMT+03:00
2018.10.28 19:30:12.792 Alpari MT4 build 1090 démarré (Alpari International Limited)

Station (en ce moment) - historiquement Active Tcl 32 bit

2018.10.28 19:32:48.517 Windows 10 Home Single Language (x64 based PC), IE 11.00, UAC, 2 x Intel Pentium 987 @ 1.50GHz, RAM : 701 / 3889 Mb, HDD : 86187 / 460669 Mb, GMT+03:00
2018.10.28 19:32:48.517 Alpari MT4 build 1090 démarré (Alpari International Limited)

Je lance toujours les terminaux sous /portable - je n'aime pas que sans ce répertoire, ils aillent dans des endroits imprévisibles :-)

mais apparemment c'est important:-) la recherche d'une DLL fait passer une large bande sur les règles de MT pour

comme solution temporaire, vous pouvez copier le répertoire MQL4/Libraries/Atcl dans le dossier d'installation du terminal (dossier COMMON)....



Je vais devoir reconstruire l'archive de distribution d'une manière ou d'une autre, mais je ne sais pas comment... pour ne pas avoir à faire un install.msi :-)

 
Maxim Kuznetsov:

Serveur (VDS) - a déployé Tcl BAWT 32 bit, a écrit/contrôlé les instructions d'installation sur celui-ci

2018.10.28 19:30:12.792 Windows Server 2012 R2 Standard (PC basé sur x64), IE 11.00, RDP, UAC, 4 x Intel Xeon Gold 6154 @ 3.00GHz, RAM : 590 / 1685 Mb, HDD : 20089 / 32415 Mb, GMT+03:00
2018.10.28 19:30:12.792 Alpari MT4 build 1090 démarré (Alpari International Limited)

Station (en ce moment) - historiquement Active Tcl 32 bit

2018.10.28 19:32:48.517 Windows 10 Home Single Language (x64 based PC), IE 11.00, UAC, 2 x Intel Pentium 987 @ 1.50GHz, RAM : 701 / 3889 Mb, HDD : 86187 / 460669 Mb, GMT+03:00
2018.10.28 19:32:48.517 Alpari MT4 build 1090 démarré (Alpari International Limited)

Une chose qui n'est pas importante - je lance toujours les terminaux sous /portable - je n'aime pas que sans cela, les répertoires aillent on ne sait où, dans des endroits imprévisibles :-)

Je suis sûr que c'est le problème, avec le terminal dans la version entièrement installée, j'ai mis atcl.dll sous C:\Users\******\AppData\Roaming\MetaQuotes\Terminal\CCD68BFB06049A8615C607C3F6AD69B7\MQL4\Libraries certaines des fonctionnalités ont fonctionné.
 
J'ai installé le terminal, il me suffit de mettre un dossier de l'archive dans le répertoire d'installation du terminal, dans mon cas C:\Program Files (x86)\InstaTrader, même s'il n'y a pas de dossier mql4, tout semble fonctionner. Merci.
 
kovtynmen:
J'ai installé le terminal, il me suffit de mettre un dossier de l'archive dans le répertoire d'installation du terminal, dans mon cas C:\Program Files (x86)\InstaTrader, même s'il n'y a pas de dossier mql4, tout semble fonctionner. Merci.
Windows recherche les DLL "à partir de l'exécutable" :-) et il se moque que la hiérarchie des fichiers soit en itinérance :-)