Questions des débutants MQL5 MT5 MetaTrader 5 - page 158
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
Comment déclencher une mise à jour forcée des indicateurs depuis l'intérieur, c'est-à-dire l'événement OnCalculate ?
Donc, s'il n'est pas réparé (vous trouverez ci-dessous les problèmes qui peuvent survenir).
Ou par minuterie (quelque chose comme ceci).
Donc, s'il n'est pas réparé (vous trouverez ci-dessous les problèmes qui peuvent survenir).
Ou sur un minuteur (peu importe).
Je vois. )) Avez-vous essayé de demander une fonctionnalité interne ?
Je vois. )) Avez-vous essayé de demander une fonctionnalité interne ?
Je ne l'ai pas fait, en général oui (je pense que MetaDraiver a écrit à SD), et la question a été soulevée plusieurs fois sur le forum.
La réponse des développeurs, s'il y en a une, je ne la connais pas.
PS peut être utile.
Développement de l'indicateur de volatilité multidevises en MQL5
Le développement d'un indicateur multidevises pour l'analyse de la divergence des prix
Je pense qu'il aurait dû être publié ici, je ne l'ai pas trouvé.
Dans la première, s'il y a une erreur
Ligne 40 de CCanvas canvas ; erreur
Variable statique non résolue "CCanvas::m_default_colors".
ajouter
uint CCanvas::m_default_colors[9]={0} ;
Discuté il y a longtemps, je ne l'ai pas vérifié, qu'est-ce qui a changé ?
Bien, essayons d'avoir Metadriver. Peut-être pourra-t-il nous éclairer sur les réponses des développeurs. Volodya...
Bien, essayons d'avoir Metadriver. Peut-être pourra-t-il nous éclairer sur les réponses des développeurs. Volodya...
Je n'ai pas bien compris la question. Je n'ai pas demandé un téléscripteur régulier. Comme si Silent au contraire allait ..., bref, nous espérions l'un pour l'autre.
Il y avait un cas indirect - déjà après qu'il a été découvert que la demande de données en dehors de TERMINAL_MAX_BAR provoque le rafraîchissement de tous les indicateurs sur le graphique.
J'ai retravaillé mon reloader de cartes à boutons et l'ai envoyé au Service Desk avec la nouvelle version. J'ai également demandé dans les commentaires si j'espérais que la puce continuerait à fonctionner... Ils n'ont rien dit... J'étais d'accord avec ça... J'en ai fait un film.
;)
--
Eh bien, à proprement parler, ce n'est pas un bug en fait. Le terminal ne plante pas, ne ralentit même pas beaucoup, il met juste à jour les données sur le graphique. Je comprends ce qu'ils font là. Comme : demande en dehors des données existantes -> le terminal essaie de charger les données, puis de mettre à jour le graphique. Simple et efficace. Pourquoi changer s'il n'y a pas de victimes ?
// A propos de "recalculer l'indicateur de l'intérieur", je ne comprends pas le problème. La question n'est pas claire. En interne, l'indicateur est son propre maître, il recalcule ce qu'il veut. Mais s'il utilise un signal externe, c'est une autre affaire. Puis on tourne...
Mec, peut-être que tu ne devrais pas.))
La manière dont prev_calculated affecte spécifiquement le rendu des indicateurs n'est pas très claire.
Dans mon cas, la tentative de rafraîchissement se produit à la fois par OnCalculate() et par timer. Multi-instrument.
Lors d'une tentative infructueuse d'obtenir des lignes, la fonction est interrompue jusqu'au prochain tick ou timer, aucun dessin n'a lieu, mais des valeurs non initialisées (comme il semble) apparaissent sur le graphique de quelque part.
Bien que dans Init() ArrayInitialize(Buffer ,...) soit présent.
Peut-être que j'ai un bug quelque part. Cela arrive assez rarement et il est difficile de l'attraper.
Il me semble que la fonction normale de mise en file d'attente forcée à OnCalculate() permettrait de minimiser le jeu de tambourin dans les indices multi-instruments pour les graphiques à ticks rares.
D'ailleurs, c'est écrit dans l'aide ;)
Все необходимые расчеты пользовательских индикаторов необходимо размещать в предопределенной функции OnCalculate().
PS. J'ai compris pour la "puce".
PSPS/ J'ai le sentiment que dans le cas donné il est plus fiable d'utiliser le calcul des valeurs sans utiliser d'indicateur pour un EA. Et séparément un indicateur pour la visualisation.
Mais alors je devrais calculer la même chose deux fois.
Je n'ai pas bien compris la question. Je n'ai pas demandé à l'habitué des tics de le faire. Je pensais que Silent allait..., bref, on comptait l'un sur l'autre.
...Je veux dire ceci.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Erreurs, bogues, questions
MetaDriver, 2013.08.03 17:55
"Si vous voulez être sûr d'avoir un signal d'entrée pour les indicateurs, vous devriez utiliser la suggestion de Pascal.
Pour mes besoins, ce n'est pas toujours approprié, mais dans le cas général, beaucoup de "problèmes de week-end" seraient éliminés.
Pour les experts en trading, en systèmes de trading automatisés et en tests de stratégies de trading.
Bugs, bugs, questions
MetaDriver, 2013.08.03 18:02
Je suis d'accord.
Une "commande" permettant de réinitialiser de force tous les prev_calculs pour le symbole sélectionné serait également utile. Avec la génération ultérieure de tiques, ce serait un bon combo.
Pendant le test visuel, au moment où l'indicateur est réinitialisé dans l'Expert Advisor, l'indicateur avec les anciens paramètres continue à être affiché sur le graphique dans le testeur (en fait, à chaque fois pendant la réinitialisation, une "ligne parallèle" supplémentaire est ajoutée). J'ai essayé de faire IndicatorRelease à chaque fois avant d'obtenir une nouvelle poignée - cela n'aide pas.
Obtenez de nouvelles poignées dans le code.
J'ai introduit la variable bughelper parce que l'indicateur ne se recalculait pas sans changer ses paramètres d'entrée.
C'est ce que je veux dire.
J'ai résolu le problème du recalcul en demandant les données en dehors de TERMINAL_MAX_BAR.
Et puisque le graphique est mis à jour en général, il importe peu que la demande soit faite à partir de l'indicateur ou d'un programme externe. L'essentiel est que le programme (demandeur) demande des données pour ce symbole et cette période précis.
En fait, je n'ai pas rencontré de cas où je devais mettre à jour le graphique "sur la machine". Je suis entièrement satisfait de mon bouton // voir le lien ci-dessus.
Avec la génération de ticks ( sans mise à jour du graphique) le problème n'est pas résolu, mais je ne l'ai pas beaucoup résolu - il peut être évité dans la plupart des cas de plusieurs façons (principalement avec un timer).
IndicatorRelease(firstHandle);
ERR_FONCTION_NON_AUTORISÉE
4014
Fonction système non autorisée à être appelée
Veuillez m'indiquer la raison pour laquelleIndicatorRelease() n'est pas appelé.