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
On peut soutenir que c'est un avantage.
Par accident, quelqu'un changera le drapeau - et cela affectera le comportement du CT.
Ma tâche initiale: montrer des solutions efficaces sans utiliser la POO.
L'essence de ma solution: - générer un tableau global de drapeaux d'événements pour les nouvelles barres de tous les symboles et de toutes les échéances une fois par minute.
Avantages :
1. le remplissage automatique du tableau et le vidage automatique.
2. aucune charge système.
3. Accès direct au tableau depuis n'importe quelle fonction et sauvegarde de l'indicateur d'événement avant que le tableau ne soit effacé.
Eh bien, nous ne pouvons pas être protégés contre les accidents. Le facteur humain est imparable)).
Et voilà. C'est pourquoi je pense que le code doit être écrit de manière à limiter autant que possible les éventuelles erreurs humaines. Précisément parce que le facteur humain est irréductible. Pas plus tard qu'hier, j'ai trouvé une erreur dans mon code, à cause de laquelle les statistiques sur Expert Advisor étaient collectées depuis le début de l'historique, et non depuis la date spécifiée (date de création de l'EA). J'ai simplement oublié d'initialiser la variable et elle est restée à zéro.
Donc, maintenant j'ai redessiné l'analyseur de telle manière qu'il serait nécessaire de spécifier la date, à partir de laquelle l'analyse serait faite, et la fabrique de pièces du conseiller expert ne retournerait que la date de création et aucune autre.
Il est désormais impossible d'analyser l'historique des transactions avant la date de création du conseiller expert. Même si l'ancienne version faisait des échanges, ils ne seront pas inclus dans les statistiques maintenant.
Merde, je me suis enfin réveillé. ....
Pourquoi "à ce moment précis" ? ??
Vous, mes amis, avez simplement des approches différentes pour faire des transactions. Si nous travaillons sur l'échelle M1, nous devrions recevoir l'information qu'une nouvelle barre est arrivée - pas "au même instant", mais à l'arrivée d'une nouvelle minute. Si nous travaillons sur l'échelle S1 (bonjour, Volchansky), nous devrions recevoir cette information à l'arrivée d'une nouvelle seconde. Si nous travaillons sur chaque tique - l'information devrait arriver avec l'arrivée d'une nouvelle tique.
Et il y a l'option "travailler par événement" - mais alors nous ne devrions pas avoir la fonction IsNewBar(), mais la fonction OnNewBar(), qui est en fait un "sous-ensemble" de la fonction OnTick().
Merde, je me suis enfin réveillé. ....
Merde, je me suis finalement réveillé à .....
Je vois. Il se peut donc que la barre n'arrive pas lorsque les iBars sont demandées, mais qu'elle arrive un moment après la demande. Alors il sera manqué par le système. C'est le but.
Et puis quoi, être accessible en permanence ? - Ce n'est manifestement pas la meilleure solution.
Je vois. Donc la barre ne viendra peut-être pas au moment du scrutin, mais elle viendra un moment après le scrutin. Alors il sera manqué pour le système. C'est le but.
Peter, je propose un autre sujet de discussion, pour la deuxième fois. Pas besoin d'écrire quoi que ce soit, juste de la théorie.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Support d'extrémité Mt4.
Alexey Viktorov, 2017.09.11 13:08
Je pense que j'ai trouvé un exemple primitif de l'utilité de la POO. Voici une fonction pour remplir un tableau avec une valeur spécifiée. Il existe huit variétés selon le type de tableau.
Imaginez que vous deviez écrire une fonction qui doit passer un ensemble de paramètres, puis un autre, puis un troisième... En utilisant l'approche algorithmique, vous obtiendrez N noms de fonctions différents. Il semblerait qu'il n'y ait aucun problème, vous pouvez écrire 8 fonctions telles que ArrayInitializeInt()ArrayInitializeDouble() et ainsi de suite. Mais c'est tellement agréable de ne pas avoir à penser au type d'un tableau, il suffit d'utiliser une fonction dans tous les cas, et il serait sûr de mélanger le tableau que vous mettez là....
Peter, je propose un autre sujet de discussion, pour la deuxième fois. Pas besoin d'écrire quoi que ce soit, juste de la théorie.
Un instant, s'il vous plaît. Nous allons bien comprendre ce sujet et je vais m'intéresser de près au second.
Comme vous vous en souvenez, le sujet de la nouvelle barre a été abordé pour connaître les avantages de la POO, mais en aucun cas les options de programmation, et encore moins vos capacités. Mais les remarques sur votre code et votre algorithme en général ont fait dévier la discussion dans la mauvaise direction. Je pense donc qu'il n'est pas nécessaire de la poursuivre.
Comme vous vous en souvenez, le sujet de la nouvelle barre a été abordé pour connaître les avantages de la POO, mais pas les options de programmation, et encore moins vos capacités. Mais les remarques sur votre code et votre algorithme en général ont fait dévier la discussion dans la mauvaise direction. Je pense donc qu'il n'est pas nécessaire de la poursuivre.