Bogue MQL5 lors du travail avec l'accès aux séries chronologiques iClose/iOpen, etc. - page 9
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
Il sera donc possible d'avoir un indicateur très rapide avec une telle construction ?
Plus probablement, OnCalculate ne sera pas appelé à chaque tic, mais après un paquet de tic.
Si c'est le cas, c'est une excellente nouvelle !
Nous avons une idée pour les indicateurs, qui ne contiennent pas le flag #property tester_everytick_calculate, d'inclure le mode de calcul sur la base de l'acceptation du paquet de ticks, au lieu de chaque tick.
Cela résoudra radicalement le problème des indicateurs en retard, en préservant la possibilité d'un traitement garanti de chaque tick pour certains indicateurs.
Je propose une autre solution.
SymbolInfoTick
Renvoie les prix actuels d'un symbole spécifié dans une variable de type MqlTick.
Paramètres
Valeur retournée
Ensuite, dans OnCalculate, il suffira d'écrire seulement cette construction
Cette solution serait plus souple et plus pratique à utiliser et à mettre en œuvre.
SZY Il serait préférable d'avoir une numérotation des ticks, avec la possibilité d'obtenir le numéro du tick actuel et du tick indicateur. Mais cette variante est plus difficile pour les développeurs. C'est pourquoi, probablement, ce n'est pas nécessaire.
Je propose une autre solution.
Si les développeurs ne font rien (ce qui est une très bonne option, d'ailleurs), il est toujours possible de contourner tous les freins de cette manière
Si les développeurs ne font rien (ce qui est une très bonne option, d'ailleurs), il est possible de contourner tous les freins maintenant de la manière suivante
Nous n'avons pas besoin de ticks au milieu d'une barre, ils sont de toute façon forcés de sauter. Attendons la mise en œuvre par mql.
Nous n'avons pas besoin de ticks au milieu d'une barre, ils sont de toute façon forcés de sauter. Attendons l'implémentation de mql.
Honnêtement, je ne comprends pas, qu'est-ce qui a empêché les malades d'écrire eux-mêmes une solution à leur problème ?
Et pourquoi les développeurs devraient-ils changer quelque chose ici ?
La solution peut être implémentée comme un fichier mqh et connectée à n'importe quel indicateur, comme elle est implémentée dans Init_Sync. Mais cela nécessite beaucoup de code qui n'est pas très évident. Et ici, c'est juste quelques lignes.
La mise à jour figée du délai invisible d'une autre personne après la communication de reconnexion a été résolue et corrigée. La raison en était des statuts de cache incorrects après la reconnexion.
La version bêta 1946 est disponible via Aide -> Vérifier les mises à jour du bureau -> Dernière version bêta.
Rinat, 3 jours de tests sans problèmes, merci !
Honnêtement, je ne comprends pas ce qui a empêché les malades d'écrire eux-mêmes une solution à leur problème ?
Et pourquoi les développeurs devraient-ils changer quelque chose ici ?
Les personnes atteintes ne peuvent en aucun cas modifier le nombre de ticks entrants dans l'indicateur, elles les sautent dans l'indicateur jusqu'à une nouvelle barre, si l'indicateur compte pendant une longue période, les ticks sont de toute façon sautés. D'une manière ou d'une autre, nous devons nous adapter à la réalité.
Si pour un symbole la valeur maximale est de ~800 ticks par minute, alors pour le synthétique de plusieurs symboles déjà 2300 ticks par minute. L'ouverture d'un synthétique et d'un symbole de celui-ci culmine à ~3000 ticks par minute. Ajoutez un autre cadre temporel du même synthétique et du même symbole, et nous obtenons... Ok, les écrans d'Elder étaient au nombre de trois, on obtient ~9000 ticks par minute ou 150 ticks par seconde. Rinat a déjà écrit sur les questions de performance. Pourquoi faire passer 150 ticks par seconde dans un indicateur multi-symboles-mtf alors que vous avez besoin de 1-n tick par minute pour tous les symboles tf ? De même, les avantages de l'hébergement mql incluent l'absence de frais généraux du système hôte, le terminal est le même hôte uniquement pour les indicateurs et les EA. Si le calcul de l'indicateur consiste en RSI(3) + EMA(5) + EMA(7), alors bien sûr aucun problème dans les 10 prochaines années.
Dans le synthétique (en fait, il s'agit d'un indicateur multi-symboles du terminal), les développeurs ont eu l'idée de coller quelques symboles, pourquoi devrions-nous reproduire les éléments de ce système (supposons qu'il ne soit même pas parfait) au niveau du savoir-faire du programmeur dans l'indicateur ? Si le système peut être simplifié, pourquoi ne pas le faire ? Quand la Terre tenait encore sur trois éléphants, ils ont inventé le temps de 5 secondes pour une raison.
Mises à jour. Vous pouvez introduire le cadre temporel 5 secondes sans historique et les ticks seront seulement une fois en 5 secondes, et pour tester toutes sortes de solutions (compiler un indicateur avec un certain préfixe pour travailler seulement sur 5S, d'autres indicateurs ne fonctionneront pas dessus) - l'idéologie existante du terminal ne changera pas, donc nous pouvons changer et modifier les solutions, et la meilleure/optimale solution sera formée pendant le test.
(LMS à vos bibliothèques de développement, synthétiques, fenêtres détachées, etc. Développeurs).
Même s'il y a un million de tics par minute, cela ne rend pas la solution inapplicable.
Un million de tics par minute ne rend pas la solution inapplicable.
La question ne porte pas sur l'applicabilité de la solution. Le bien-fondé d'appeler l'indicateur à chaque tick atteint avant lequel un nombre inconnu de ticks a été manqué, de plus, une certaine obsolescence d'un tick est considérée ? Si quelque chose est sauté (avec une charge croissante) et que la pertinence de la coche n'est pas connue, alors cette situation ne résout pas le problème analytique - sinon, pourquoi s'en préoccuper. En général, interdisez le flux de ticks dans les indicateurs, laissez les ticks à l'indicateur depuis la plateforme une fois toutes les 5 secondes - 12 ticks par minute, c'est suffisant.
La question ne porte pas sur l'applicabilité de la solution. Le bien-fondé de l'appel de l'indicateur à chaque tick atteint avant lequel un nombre inconnu de ticks a été manqué, en plus de l'obsolescence d'un tick est considéré comme ? ??? Si quelque chose est sauté (avec une charge croissante) et que nous ne connaissons pas la pertinence de la coche, alors cette situation ne résout pas le problème analytique - sinon, pourquoi s'en préoccuper. En général, le flux de ticks dans les indicateurs doit être interdit, il faut laisser les ticks provenant de la plateforme toutes les 5 secondes - 12 ticks par minute, c'est suffisant.
Stupidité.