Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si vous avez des problèmes pour supprimer un singleton, il n'est probablement pas utilisé correctement. Bien que les singletons soient également différents, prenez Phoenix par exemple.
Par exemple, mon ptr partagé préféré.
Bien que ce ne soit probablement pas la meilleure façon de le faire pour le Dll.
Je n'utilise pas les pointeurs en C++.
Comme l'allocation de mémoire, les appels WinAPI, etc.
.
Ou bien, on peut créer une fonction spéciale comme killInstance() ;
.
Vadim a pu recommander les singletons car
a lui-même résolu le problème de l'initialisation.
Il n'y a pas d'autre moyen d'initialiser normalement les instances globales
.
.
Je l'ai cherché sur Internet auprès de quelqu'un d'autre.
Blocage selon les symptômes. Apparemment, lors du démarrage d'un processus distant, le terminal n'a pas le temps d'exécuter certaines procédures. Peut-être que le script est exécuté à partir du mauvais fil.
Vous pouvez également exécuter un événement tick au lieu de slip - faites une émulation de script asynchrone, cela devrait aider.
Après toutes mes conversions de bibliothèque de classe pour corriger les singletons, je suis finalement revenu au projet principal.
Le problème du premier message de ce fil est maintenant résolu. Il s'agissait d'une initialisation erronée et inopportune des classes.
... retour au projet principal...
J'espère pouvoir jeter un coup d'œil à votre conception plus tard, au moins sous la forme de schémas fonctionnels ou de captures d'écran : pour s'émerveiller, pour ainsi dire)))
.
:-)) Oui, il n'y a rien de spécial. Ce projet est également un sous-projet.
Il s'agit d'une application console qui, avec l'aide de MT4, charge/charge simplement l'historique sur une minuterie indépendamment du terminal principal (terminal de combat).
La fonction principale de cette application fonctionne déjà. Il reste à synthétiser un TF non standard pour calculer les pondérations des indices de devises.
La création de TF non standard, le calcul des poids et le réapprovisionnement de la base de données sont effectués dans des threads supplémentaires, indépendamment du chargement des devis.
Application console :
1. Crée un répertoire - une copie du répertoire racine de MT4 dans MT4.
2. Crée, si ce n'est pas le cas, des copies des répertoires et fichiers nécessaires dans ce répertoire en utilisant des liens durs et symboliques, afin de ne pas surcharger le disque.
C'est-à-dire qu'en fait, il fonctionne avec les originaux des principaux fichiers MT4.
3. Exécute MT4 à partir du nouveau répertoire.
4. Changements d'outils et de TFs, mise à jour des graphiques.
5. Ferme MT4 pour qu'il enregistre tout ce qui a été échangé dans les fichiers d'historique.
6. Attend que le processus MT4 soit terminé.
7. Lance la création de TF non standard.
8. Lance le flux avec le calcul et la sauvegarde des poids.
9. Par la minuterie, encore une fois.
Serait-il correct de dire que les manœuvres de contournement sont organisées principalement dans l'intérêt du point 5 ?
Tout cela vise principalement à accroître la fiabilité des transactions dans le terminal principal. Le fait de gonfler tous les instruments fait déborder la mémoire de MT4. Il ne fonctionne pas de manière fiable dans ce mode.
Et le conseiller expert surchargé de diverses fonctions de service n'est pas très fiable, comme il s'avère. Nous devons répartir les tâches entre différents terminaux.
Il y aura peut-être un troisième terminal pour le commerce.
Puis-je poser une question bête - comment puis-je savoir laquelle des fenêtres graphiques du terminal est actuellement visible par l'utilisateur ?
;)
Puis-je poser une question bête - comment puis-je savoir laquelle des fenêtres graphiques du terminal est visible par l'utilisateur ?
;)