Le problème du transfert de MT4 à MT5. Ou, plus précisément, l'impossibilité d'exécuter certains algorithmes dans MT5 sans "err". - page 6

 
Pourquoi ne pas créer votre propre terminal dès le départ ?
 
Artyom Trishkin:
Vous devez compter toutes les séries temporelles une fois, et ensuite seulement en ajouter d'autres. Cela peut être fait dans la fenêtre.
Oui, dans leurs tableaux. Vous pouvez utiliser le SB. La classe timeseries est une classe à part entière.

C'est absurde !

A quoi servent alors le terminal et le MQL ? Pour tout écrire vous-même ? Et d'envoyer des ordres par fixe directement au courtier ?

 
Eugeni Neumoin:

Vous suggérez donc de ne pas utiliser de tampons, mais de travailler avec vos tableaux ?

A quoi servent les tampons alors ?

Vous proposez donc de fabriquer votre propre béquille, au lieu des tampons :(

Et au lieu de iTime, iLow, etc., créez vos propres fonctions... Réécrire tout à sa manière, en contournant les fonctions qui ne fonctionnent pas à partir de MT5...

C'est drastique. Mais laissez les enthousiastes le faire. Je vais rester à l'écart. Je ne regarderai même pas le processus.

J'ai fait beaucoup d'indicateurs de cette façon - sur des classes de séries temporelles. Tout est là, et ce n'est pas différent de travailler avec des indicateurs ordinaires. Mais en plus - un tas de commodités.
 
Andrey Khatimlianskii:

Une erreur de logique alors, peut-être. Il peut ne pas y avoir de bar.

Il y a un bar. Ce n'est pas toujours une fonction qui donne -1. Je suppose qu'il s'agit simplement de la description du langage MT5 :

"...Disponibilité des données.

La disponibilité des données au format HCC ou même au format HC prêt à l'emploi ne signifie pas toujours la disponibilité inconditionnelle de ces données pour l'affichage sur un graphique ou pour l'utilisation dans les programmes mql5.

Lorsque l'on accède à des données de prix ou à des valeurs d'indicateurs à partir de programmes mql5 , il faut garder à l'esprit qu'il n'est pas garanti qu'elles soient disponibles à un certain moment, ou à partir d'un certain moment..."

 
Andrey Khatimlianskii:

C'est absurde !

A quoi servent les terminaux et les MQL alors ? Vous pouvez donc tout écrire vous-même ? Et d'envoyer des ordres par fixe directement au courtier ?

Quelle est cette absurdité ? Que vous avez des données prêtes dans le tampon ? Cela a été fait plus d'une fois en 4 pour accélérer les choses.
 
Artyom Trishkin:
Tout y fonctionne. Mais parfois, l'accès est refusé. Peut-être à cause des mises à jour des séries chronologiques - je ne sais pas. S'il refuse, vous devez répéter la demande, car la première demande active l'échange de données.

Si tout fonctionnait, il n'y aurait pas un million de sujets consacrés à ce problème.

La logique s'est simplement avérée plus compliquée que ce que les utilisateurs de terminaux sont prêts à gérer.
Et il doit y avoir des erreurs, mais les développeurs n'ont pas le loisir de les chercher, et personne ne veut non plus les reproduire et les prouver auprès des utilisateurs.

 
Artyom Trishkin:
Quelle est l'illusion ? Que vous avez des données prêtes dans le tampon ? Cela a été fait plus d'une fois en 4 pour accélérer les choses.

L'absurdité consiste à organiser votre propre copie des données, qui sont déjà disponibles dans le terminal.

 
Eugeni Neumoin:

Le bar est là. La fonction ne produit pas toujours un -1. Je crois que c'est ce qui ressort de la description du langage de MT5 :

"...Disponibilité des données

La disponibilité des données au format HCC ou même au format HC prêt à l'emploi ne signifie pas toujours la disponibilité inconditionnelle de ces données pour l'affichage sur un graphique ou pour l'utilisation dans les programmes mql5.

Lorsque l'on accède à des données de prix ou à des valeurs d'indicateurs à partir de programmes mql5 , il faut garder à l'esprit qu'il n'est pas garanti qu'elles soient disponibles à un certain moment, ou à partir d'un certain moment..."

iBarShift() fonctionne de la même manière dans les deux terminaux. Et ils renvoient les mêmes codes de retour dans les mêmes conditions.
 
Artyom Trishkin:
J'ai créé de nombreux indicateurs de cette façon - sur des classes de séries temporelles. Tout y est, et cela ne diffère pas du travail ordinaire avec les indicateurs. Mais en plus - beaucoup de commodités.

Néanmoins, il est préférable que les fonctions linguistiques fonctionnent correctement sans ces artifices. Soit la langue a été faite de la manière que vous suggérez. C'est-à-dire que pour que les programmeurs n'inventent pas quelque chose à leur manière avec des discussions sur le forum, le langage devrait être implémenté, peut-être par le biais de quelques fonctions supplémentaires, sans échouer à accéder aux séries temporelles.

 
Artyom Trishkin:
iBarShift() fonctionne de la même manière dans les deux terminaux. Et les mêmes codes de retour sont renvoyés dans les mêmes conditions.

Pourquoi, alors, la description de la langue contient-elle la citation que j'ai donnée ? Si tout fonctionne bien, pourquoi écrire dans le guide linguistique que l'accès peut être refusé à tout moment ?

Et quand il y a un refus d'accès et que les développeurs sont honnêtes à ce sujet, alors il y a beaucoup de fils de discussion sur le forum. Et TOUS les programmeurs rencontrent ce problème. Et chacun essaie de résoudre ce problème à sa manière. Certains peuvent le faire, d'autres non.

Les développeurs compétents créent des bibliothèques, par exemple tensorflow, pour que les gens n'aient pas à souffrir. Et là... Eh bien, au début du fil, tout le monde a lu les réponses de Renat...