Erreurs, bugs, questions - page 527

 
Swan:

View-Tools-Experts.

La division par zéro est une erreur critique. Les programmes mql refusent catégoriquement de le faire).

si vous ne le comprenez pas, vous pouvez faire quelque chose comme ça :

J'ai montré que la division par zéro ne se produit que dans un cas particulier, ce zéro ne devrait pas être, et il n'existe pas si on prend le diviseur et le divisible séparément, c'est ce qui n'est pas clair,

OK, merci pour cette information, je vais y réfléchir moi-même. Peut-être y a-t-il une part de vérité dans votre réponse, merci encore.

 
Im_hungry:

Malheureusement, il faut du temps pour s'y mettre. Et le temps, c'est de l'argent.

Le problème ne se résoudra pas tout seul,

Il existe un concept d'aide désintéressée. Sur mql4.com et dans d'autres circonstances, j'aide aussi de temps en temps si je peux. Vous auriez pu vous taire.
 
Olegts:
L'aide désintéressée existe. Sur mql4.com et dans d'autres circonstances, il m'arrive aussi d'aider si je peux. Vous auriez pu vous taire.
Mutuel, mon ami - mutuel.
 
papaklass:

C'est censé être comme ça ?

Une position est fermée, et la requête PositionGetDouble(POSITION_PRICE_OPEN) renvoie la valeur de la position fermée. Tant qu'une nouvelle position n'est pas ouverte, la valeur de l'ancienne position (déjà fermée) n'est pas modifiée. C'est censé être comme ça ?

Laissez-moi être direct. La requête PositionGetDouble(POSITION_PRICE_OPEN) est effectuée après la requête de disponibilité de la position ?
 

point intéressant, à savoir

Pour éviter cela, j'utilise ce qui suit

double open = 0.0;
if (PositionSelect(Symbol_1))
 {
  open = PositionGetDouble(POSITION_PRICE_OPEN);
 }

et il sera nul comme souhaité.

 
papaklass:

Demande PositionsTotal() = 0. Maintenant je fais la requête PositionGetDouble(POSITION_PRICE_OPEN) et j'obtiens en réponse le prix d'ouverture d'une position déjà fermée. Idéalement, je devrais obtenir zéro, puisqu'il n'y a pas de position ouverte. Oui, après avoir demandé l'existence de la position.

À mon avis, tout est dans les règles :

La fonction PositionSelect() copie les données de position dans l'environnement logiciel, et les appels ultérieurs à PositionGetDouble(), PositionGetInteger() et PositionGetString() renvoient les données précédemment copiées. Cela signifie que la position elle-même peut ne plus exister (ou avoir changé de volume, de direction, etc.), mais que les données de cette position peuvent toujours être récupérées. Afin de garantir la réception de données de position fraîches, il est recommandé d'appeler la fonction PositionSelect() immédiatement avant de les demander.

Cependant, je ne comprends pas pourquoi les données de position doivent être demandées si la sélection de la position échoue. Mais peu importe.

 

Chers développeurs. Ne le prenez pas comme une contrainte, j'ai une question : que pensez-vous de la possibilité d'annuler un ordre en attente si le prix a atteint une valeur ?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Diubakin:

Après la mise à niveau vers la Build 507, j'ai deux problèmes dans le testeur :

1. Pendant l'optimisation, lors du changement d'onglet du testeur, le terminal se bloque occasionnellement (pas toujours) ;

2. Si une énumération a été sélectionnée comme paramètre optimisé, lorsque l'on essaie d'exécuter l'un des résultats de l'optimisation, le conseiller expert ne voit pas la valeur de cette énumération, c'est-à-dire qu'elle est toujours égale à zéro.

Il semble que nous ayons trouvé un problème avec les énumérations pendant l'optimisation et que le terminal se plante. Vous devrez attendre la prochaine version.
 
stringo:
Il semble avoir trouvé un problème avec l'énumération pendant l'optimisation et l'abandon du terminal. Vous devrez attendre la prochaine version.

Super. Vous ne parvenez pas à reproduire le problème des agents distants qui raccrochent ?
Je m'en suis déjà lassé. Il est rare qu'une optimisation se déroule sans geler.
Je dois désactiver les agents congelés, puis les réactiver et ainsi de suite jusqu'au prochain gel.
Et il se bloque à la fois sur les agents qui sont sur le réseau local et sur les agents en nuage (moins souvent).

 
crOss:

C'est génial. Ne pouvez-vous pas reproduire le problème avec les agents distants qui raccrochent ?
Je commence à en avoir marre d'eux. Il est rare qu'une optimisation se déroule sans geler.
Je dois désactiver les agents bloqués, puis les réactiver et ainsi de suite jusqu'au prochain blocage.
Et il se bloque à la fois sur les agents qui sont sur le réseau local et sur les agents en nuage (moins souvent).

Beaucoup de choses ont été corrigées dans les agents. Et vous n'avez pas à attendre la prochaine version. Vous devez attendre que les agents distants passent à la version la plus récente.
Raison: