Erreurs, bugs, questions - page 1674
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
Attention : expression non booléenne t_t_t.mq4 112 19
Vous pouvez vivre avec, bien sûr, mais c'est ennuyeux. J'ai déjà fait un casting explicite, et ça ne s'arrête pas.
pavlick_:
Votre caste fait référence à val et l'avertissement à l'expression
Votre caste fait référence à val et l'avertissement à l'expression
Oui, c'est ça, merci. C'est ainsi que la plainte est réduite au silence :
Je me suis assis pendant une demi-heure sans pouvoir comprendre pourquoi.
(Je n'ai pas réussi à comprendre pourquoi l'alerte ne fonctionne pas ici)).L'aide peut préciser que BarsCalculated renvoie la valeur renvoyée par l'indicateur OnCalculated avec le handle demandé.
Existe-t-il un moyen de savoir, sans événements personnalisés, combien de barres un indicateur avec une telle poignée a mis à jour ?
Existe-t-il un moyen de savoir combien de barres l'indicateur a mis à jour avec cette poignée sans événements personnalisés ?
MT4 b1010
Le compilateur ne jure pas par PlotIndexSetInteger. La fonction ne fait pas ce qu'elle fait dans MQL5.
Je n'ai pas pensé à la situation où l'indicateur renvoie des valeurs différentes avec les mêmes paramètres.
Que va-t-il se passer dans cette situation ? Une répétition de l'iCustom de l'indicateur donnera des résultats identiques ? Et si après cela, nous faisons ChartIndicatorAdd à tous ces éléments ?
Pas de réponse.
Si je crée un iCustom avec le même contenu à partir de différents endroits et à différents moments, l'indicateur correspondant ne sera lancé qu'une seule fois (au premier iCustom) ?
Nous en avons discuté hier, page 1687. :) Mais vous feriez mieux de lire ce message à la 1686e page : https://www.mql5.com/ru/forum/1111/page1686#comment_2790746. Au fait, l'homme a répondu à votre question. Il se trouve que le schéma est le suivant. La demande d'appel de l'indicateur va au Terminal. C'est-à-dire que le conseiller expert ou le script n'appelle pas directement l'indicateur, le terminal agit comme un intermédiaire. Le terminal vérifie si cet indicateur existe déjà avec les paramètres spécifiés. Si c'est le cas, il renvoie au programme qui a appelé l'indicateur, un handle (lien) vers l'indicateur déjà existant. Et dans son sous-sol terminal il marque dans le compteur qu'il y a eu un autre appel de cet indicateur. En d'autres termes, il enregistre combien de poignées ont été retournées pour cet indicateur. Quand quelqu'un fait l'IndicatorRelease, cela ne signifie pas que les autres qui ont appelé le même indicateur avec les mêmes paramètres n'ont plus besoin de cet indicateur. Par conséquent, le Terminal diminue le compteur de un, mais laisse l'indicateur actif, car quelqu'un d'autre l'utilise. Cela continuera jusqu'à ce que le compteur soit remis à zéro. Lorsque le compteur est remis à zéro, le terminal efface définitivement l'indicateur de la RAM.
Si vous essayez de créer un code qui contiendra IndicatorRelease, mais qui n'appellera pas l'indicateur lui-même, vous ne pourrez pas le compiler, parce que vous devez passer un handle à IndicatorRelease, mais si vous n'appelez pas l'indicateur depuis le programme, vous n'obtiendrez pas le handle.
Malheureusement, après inspection, il s'est avéré que tout cela n'était que spéculation. S'il y a un compteur interne, il ne fonctionne pas comme vous l'avez décrit.
J'ai écrit un indicateur qui remplit son tampon de façon aléatoire. J'appelle cet indicateur via iCustom avec les mêmes paramètres d'entrée depuis différents endroits (MT5). J'obtiens des valeurs de tampon complètement différentes ! Ou bien il y a un bug dans MT5 et les indicateurs ne fonctionnent pas comme il est annoncé.