Erreurs, bugs, questions - page 2399

 
Vitaly Muzichenko:

Le terminal raccroche lors du passage à un autre compte.

Construction : 2007, Système d'exploitation : Win7 x64

J'espérais des personnages personnalisés dans ces situations, car j'ai tout en eux.

Vous ne les avez probablement pas. Alors le problème est autre.

 
fxsaber:

Si vous essayez de supprimer un script en boucle, le terminal peut se figer pendant un certain temps.

Mais si vous exécutez un conseiller expert en boucle dans le testeur, il se fige immédiatement lorsque vous appuyez sur le bouton Stop.


Pourquoi le comportement est-il différent dans ces cas ?

Combien cela fait-il en boucle ? Y a-t-il un contrôle IsStopped() dans la boucle ?

Si le terminal se bloque, cela signifie que le fil d'interface est bloqué. Le script a 3 secondes pour s'arrêter et s'il n'y a pas de vérification IsStopped(), il continuera à fonctionner jusqu'à ce qu'il soit explicitement arrêté. Et dans ce cas, le fil de discussion de l'interface peut être verrouillé.

Un testeur s'arrêtera beaucoup plus vite parce qu'il ne peut pas assurer des fonctions critiques (par exemple, la négociation). En outre, le testeur est un processus distinct qui n'affecte pas le terminal du client.

 
Slava:

Quelle est la longueur de la boucle ? Y a-t-il un contrôle IsStopped() dans la boucle ?

Je parlais spécifiquement d'un script sans cette vérification.

Si le terminal se bloque, cela signifie que le fil d'interface est verrouillé. Le script a 3 secondes pour s'arrêter et s'il n'y a pas de contrôle IsStopped(), il continuera à fonctionner jusqu'à ce qu'il soit arrêté brutalement. Et dans ce cas, le fil de discussion de l'interface peut être verrouillé.

Le testeur s'arrête beaucoup plus rapidement, car il ne peut pas exécuter de fonctions critiques (par exemple, le trading). De plus, le testeur est un processus totalement distinct qui n'affecte pas le terminal du client.

J'ai donc remarqué que l'arrêt brutal dans Tester et Terminal s'effectue différemment.

 
fxsaber:

J'ai péché sur les personnages personnalisés dans des situations comme celle-ci, car j'ai tout en eux.

Vous ne les avez probablement pas. Le problème est alors différent.

Il n'y en a pas de personnalisés.

Si vous passez d'un compte à l'autre sur le même serveur, il se bloque pendant un court instant et le journal indique "terminal anormal".

Si l'on passe d'un serveur (DC) à l'autre, il se bloque pendant un long moment.

Si vous travaillez pendant très longtemps sur un serveur sans changer, par exemple pendant 3 à 5 jours, et que vous changez ensuite, le terminal se bloque.

 
Vitaly Muzichenko:


puis il se bloque pendant un court moment et le journal indique "terminal anormal".


Veuillez fournir l'entrée de journal complète

 
Slava:

Veuillez me donner l'entrée de journal complète

Je vois, le problème doit être de mon côté et le blocage vient de mon conseiller.

EJ      2       08:58:24.000    EA_Trade (EURCAD,H1)    Abnormal termination

N'est-ce pas ?

 
Vitaly Muzichenko:

Je vois, le problème doit être de mon côté et le blocage vient de mon conseiller.

N'est-ce pas ?

On dirait un EA en boucle sans vérification de IsStopped().
 
Slava:
On dirait un EA en boucle sans vérification de la fonction IsStopped().

Oui, c'est le cas, mais pas en boucle, mais dans le temps.

Je vais ajouter IsStopped().

Merci !

 
Vitaly Muzichenko:

Oui, c'est le cas, mais pas en boucle, mais dans le temps.

Je vais ajouter IsStopped().

Merci !

Si OnTimer n'est pas bouclé, il ne devrait pas y avoir de fin anormale.

Pouvez-vous donner votre expert pour vérifier le comportement du terminal client ?

 
Slava:

Si OnTimer n'est pas bouclé, il ne devrait pas y avoir de fin anormale.

Pouvez-vous donner votre expert pour vérifier le comportement du terminal client ?

Il y a beaucoup de déchets, le code n'est pas optimal et est construit sur la base d'un modèle de 7000 lignes. Je vais essayer de le découvrir moi-même et je vous le ferai savoir. Au fait, il s'agit d'un constructeur d'objets graphiques, ce n'est pas du commerce.

Merci !

Raison: