Importation de données et testeur virtuel (développement)

 

Inspiré par le sujet ici, à mon avis MT5 avec toute sa puissance manque certaines options viables. Il ne s'agit pas d'un fil de discussion sur la raison pour laquelle MetaQuotes ne m'a pas donné. Mais plutôt comment puis-je trouver des solutions au problème. Il semble que le contrôle des données de tick et des informations sur le marché ne soit pas mis en œuvre dans notre génération de méta-trader. Alors pourquoi est-ce important ? Je vais vous donner quelques raisons ci-dessous.

1) Les spreads moyens de mon courtier sur l'EURJPY par exemple sont beaucoup plus bas que ceux des données par défaut ; comment puis-je tester avec ces spreads moyens plus bas et vice-versa ? Courtier non-mt5.

2) Mon système est conçu pour les marchés à tendance, comment mon système pourrait-il gérer un marché à tendance prolongée. Mon algorithme est-il assez bon pour le maintenir hors phase ? Vice-versa pour la tendance.

3) Je crois que les marchés sont aléatoires, comment puis-je tester ce système sur des données aléatoires et comparer les résultats aux données réelles ?

4) Mon courtier/vendeur ... m'a donné/vendu des tonnes de données de haute qualité mais il n'a pas de serveur mt5, comment puis-je les obtenir dans mt5 pour effectuer mes back-tests ?

5) Je crois aux ticks réels et non aux ticks générés par des algorithmes. J'ai sauvegardé mes ticks pour les x dernières années et je préférerais les utiliser, quelles sont mes options ?

6) Je veux avoir confiance et mieux contrôler l'environnement[market-info] et les données[price|time|spreads], que dois-je faire ?

J'avais d'autres raisons, mais je ne peux pas me les rappeler toutes pour le moment. J'espère entendre vos raisons :)

 

Le but :

Je pense que l'objectif doit être simple. Et l'objectif simple que j'ai en tête est de faire en sorte que le testeur de stratégie mt5 utilise des données dans un format .csv | .hst. Tous les autres avantages peuvent venir plus tard.

Je pense que la première phase de discussion devrait être "est-ce viable". La question évidente ici est "pourquoi mt5". Comme je l'ai mentionné, il est plus puissant que son prédécesseur. La plupart d'entre nous [qui sont concernés], sont fortement investis dans le langage mql*. De plus, discuter d'une autre plateforme ne sera pas bien vu sur ce site. Et enfin, réinventer la roue est hors de question.

En tant que tel, je suis à la recherche d'idées pour incorporer autant que possible ce que nous avons. Donc, laissez entendre ces idées brillantes les gens !

1> Je pense que si ces EMULATION_MODES pouvaient être exploités entièrement dans le back-tester, cela rendrait tout possible. De plus, avoir la possibilité de dormir dans le back-tester serait également un outil utile. Je suis toujours en train de faire des recherches sur ce sujet et de jeter un coup d'œil au Virtual Stuff actuel déjà développé. Désolé si j'ai l'air de ne pas connaître mon sujet, mais il y a une demande pour ce sujet et c'est pourquoi j'ai besoin de vous. Merci.

 
Ubzen:

Le but :

Je pense que l'objectif doit être simple. Et l'objectif simple que j'ai en tête est de faire en sorte que le testeur de stratégie mt5 utilise des données dans un format .csv | .hst. Tous les autres avantages peuvent venir plus tard.

Je pense que la première phase de discussion devrait être "est-ce viable". La question évidente ici est "pourquoi mt5". Comme je l'ai mentionné, il est plus puissant que son prédécesseur. La plupart d'entre nous [qui sont concernés], sont fortement investis dans le langage mql*. De plus, discuter d'une autre plateforme ne sera pas bien vu sur ce site. Et enfin, réinventer la roue est hors de question.

En tant que tel, je suis à la recherche d'idées pour incorporer autant que possible ce que nous avons. Donc, laissez entendre ces idées brillantes les gens !

1> Je pense que si ces EMULATION_MODES pouvaient être exploités entièrement dans le back-tester, cela rendrait tout possible. De plus, avoir la possibilité de dormir dans le back-tester serait également un outil utile. Je suis toujours en train de faire des recherches sur ce sujet et de jeter un coup d'œil au Virtual Stuff actuel déjà développé. Désolé si j'ai l'air de ne pas connaître mon sujet, mais il y a une demande pour ce sujet et c'est pourquoi j'ai besoin de vous. A la vôtre.

J'ai constaté de visu que certaines choses ne fonctionnent pas, de nombreux types d'objets sont pris en charge mais vous ne pouvez pas faire un clic droit sur le graphique et voir une liste d'objets, donc soyez un peu prudent lorsque vous concevez une solution, ce que vous concevez peut ne pas être pris en charge. Si, par exemple, vous avez créé des produits pour le marché qui reposent sur des objets boutons ou ChartGetInteger() avec CHART_FIRST_VISIBLE_BAR, CHART_VISIBLE_BARS, CHART_WIDTH_IN_PIXELS et CHART_HEIGHT_IN_PIXELS, alors vous auriez des produits qui ne pourraient pas être essayés en tant que produits de démonstration, car ces fonctions/caractéristiques ne fonctionnent pas dans le testeur de stratégie.

Quoi d'autre ne fonctionne pas dans le Strategy Tester ?

Ce dont nous avons vraiment besoin, c'est que Metaquotes code une application locale de serveur de données historiques, qui non seulement gérerait nos données historiques stockées, mais nous permettrait aussi de créer nos propres symboles en personnalisant les propriétés des symboles... Les tests à rebours avec des graphiques hors ligne seraient faciles.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 
Ubzen:

Le but :

Je pense que l'objectif doit être simple. Et l 'objectif simple que j'ai en tête est de faire en sorte que le testeur de stratégie mt5 utilise des données dans un format .csv | .hst. Tout le reste peut venir plus tard.

...

Comment cela peut-il être possible ? Nous n'avons aucun contrôle sur le Strategy Tester. Nous n'avons que deux options, je pense :

  1. Utiliser le Strategy Tester tel quel, et essayer de travailler sur les données. ST utilise des fichiers .hcs, dont la structure est inconnue pour le moment AFAIK. Est-il possible de remplacer ces fichiers par les vôtres et d'obtenir des résultats ?
  2. Utiliser un testeur de stratégie virtuel, sur lequel nous avons un contrôle total. Cela signifie plus de travail mais aussi plus d'indépendance, en ne dépendant plus deschangements de format hcs par exemple.

Nous pouvons étudier les deux options. Mon idée était plus sur la deuxième.

 

Écrire un système complet n'est pas une tâche simple, mais c'est un objectif réalisable.

Cependant, dès que vous commencerez à écrire un tel système, vous passerez votre temps à développer ce système, et non à trader ou à développer des systèmes de trading, car la quantité de travail est infinie.

La principale décision à prendre, c'est de décider de construire votre propre système. Vous devez sortir complètement de MT5, sinon vous devrez toujours et continuellement faire des compromis, et écrire un double code (comme c'est le cas maintenant pour MT4-MT5). En outre, certaines choses formidables, comme les agents de test de stratégie, ne sont pas si faciles à mettre en œuvre.

Il y a aumoins un cadredéjà existant , donc quelque chose comme ça devrait être utilisé.

Let me google that for you
Let me google that for you
  • bit.ly
Let Me Google That For You
 
graziani:

Rédiger un système complet n'est pas une tâche simple, mais c'est un objectif réalisable.

J'aimerais comprendre comment vous le feriez fonctionner avec des EA et des indicateurs codés en mql5 ?
 
RaptorUK:
J'aimerais comprendre comment vous le feriez fonctionner avec des EA et des indicateurs codés en mql5 ?

vous ne pouvez pas. vous devez sortir de MT5. tous les EA/indicateurs futurs sont écrits en dehors de MT4/MT5, puis vous utilisez MT4/MT5 comme fournisseur de flux de tick et pour l'exécution des ordres.

A des fins de backtest, vous pouvez inverser le format de la base de données ( interdit mais réalisable), et remplacer M1 par des enregistrements S1 (une seconde, pas un tick), et ensuite simplement exécuter l'historique M1 dans ST. Mais je ne vois pas l'utilité de ceci, parce que pour le live stream, vous devez écrire un EA complètement différent, qui doit utiliser des indicateurs internes car il devrait traiter le tick stream collecté, et non des tableaux d'historique.

Ce que je voulais dire, c'est qu'en lançant un tel projet, on se concentre sur la construction d'un autre "MT4/5" et non sur le trading.

 
graziani:

vous ne pouvez pas. vous devez sortir de MT5. tous les EA/indicateurs futurs sont écrits en dehors de MT4/MT5, puis vous utilisez MT4/MT5 comme fournisseur de flux de tick et pour l'exécution des ordres.

A des fins de backtest, vous pouvez inverser le format de la base de données ( interdit mais réalisable), et remplacer M1 par des enregistrements S1 (une seconde, pas un tick), et ensuite simplement exécuter l'historique M1 dans ST. Mais je ne vois pas l'utilité de ceci, parce que pour le live stream, vous devez écrire un EA complètement différent, qui doit utiliser des indicateurs internes car il devrait traiter le tick stream collecté, et non des tableaux d'historique.

Ce que je voulais dire, c'est qu'en lançant un tel projet, on se concentre sur la construction d'un autre "MT4/5" et non sur le trading.

Merci pour votre réponse, je pensais avoir compris ce que vous suggériez, je voulais juste que vous soyez clair, et vous l'avez été.

 

@RaptorUK: Merci, je comprends que tout peut ne pas être pris en charge. Je ne sais pas tout ce qui ne fonctionne pas dans le testeur de stratégie. Je ne crée pas un produit pour le marché. Ceux qui fabriquent des produits ont leurs propres problèmes. Ils peuvent soit modifier les codes que nous faisons, soit attendre MQ. Mq ne participe pas à ces discussions, (nous ignore), j'ai fini de leur demander quelque chose.

@angevoyageur: Je suis d'accord que nous avons besoin de quelque chose comme l'option#2. Cela ne me dérange pas de faire un peu plus de travail pour plus d'indépendance. Ce que nous trouverons, devra être facilement adopté et accepté. Sinon, tout le travail sera vain. Je ne pense pas que nous puissions le faire aussi facilement que : [codez votre ea dans mql5] [lancez le testeur de stratégie] [et le testeur de stratégie virtuel prend le relais]. Cependant, nous pourrions utiliser le remplacement des fonctions qui existent déjà en mettant un 'v' devant le nom de la fonction.

@graziani: Que diriez-vous de ceci pour faire simple. FileRead( my.csv ) ; FileRead( my.market.info ). Remplacez votre Marketinfo() par vMarketInfo(). Dessinez les objets en fonction des mouvements du testeur de stratégie. Faites un rapport.......Done. Qu'en pensez-vous ? Plus facile à dire qu'à faire, non ?

Déplacement en dehors de mt4 ou mt5 ne fonctionnerait pas parce que je suis en train de recueillir le soutien de codeurs similaires à moi-même déplacer de mql4-mql5. Afin de rester motivé pour de tels projets, il faut que l'adaptation soit réussie par d'autres, ne serait-ce qu'à des fins de test|bug-reporting. J'aime les Agents et les Optimiseurs, j'espérais que quelqu'un dirait que c'est facile à mettre en œuvre (voici comment) :(. Regardons les choses en face, toutes les fonctionnalités de mt4/mt5 ne seront pas supportées par la première version de ce VST.

Obtenir un support pour les données, les informations sur le marché, l'exécution du marché, les multi-devises et un simple rapport est ce qui est nécessaire pour le moment. Plus il y aura de volontaires pour ce projet, plus il aura de succès. Si le projet s'oriente vers l'extérieur de mt, nous devrons construire tout ce qui précède + beaucoup d'autres choses que nous n'avons jamais eu à considérer auparavant.

J'espérais vraiment que nous pourrions utiliser des codes mql5 prêts à l'emploi. Si personne ne suggère un moyen de faire cela angevoyageur#1, alors nous passerons à angevoyageur#2.

 
RaptorUK:

Merci pour votre réponse, je pensais avoir compris ce que vous suggériez, je voulais juste que vous soyez clair, et vous l'avez été.


Iln'est pas question de faire quelque chose en dehors de MT5. Il n'est pas question de reprogrammer tout ce qui fonctionne déjà avec le Strategy Tester. Il n' est pas question de remplacer le Strategy Tester. L'idée est de développer quelque chose qui complète le Strategy Tester, par l'une ou l'autre des deux options (voir ci-dessus), ou une combinaison des deux.
 
Ubzen:

@RaptorUK: Merci, je comprends que tout peut ne pas être pris en charge. Je ne sais pas tout ce qui ne fonctionne pas dans le testeur de stratégie. Je ne crée pas un produit pour le marché. Ceux qui fabriquent des produits ont leurs propres problèmes. Ils peuvent soit modifier les codes que nous faisons, soit attendre MQ. Mq ne participe pas à ces discussions, (nous ignore), j'ai fini de leur demander quelque chose.

@angevoyageur: Je suis d'accord que nous avons besoin de quelque chose comme l'option#2. Cela ne me dérange pas de faire un peu plus de travail pour plus d'indépendance. Ce que nous trouverons, devra être facilement adopté et accepté. Sinon, tout le travail sera vain. Je ne pense pas que nous puissions le faire aussi facilement que : [codez votre ea dans mql5] [lancez le testeur de stratégie] [et le testeur de stratégie virtuel prend le relais]. Cependant, nous pourrions utiliser le remplacement des fonctions qui existent déjà en mettant un 'v' devant le nom de la fonction.

@graziani: Que diriez-vous de ceci pour faire simple. FileRead( my.csv ) ; FileRead( my.market.info ). Remplacez votre Marketinfo() par vMarketInfo(). Dessinez les objets en fonction des mouvements du testeur de stratégie. Faites un rapport.......Done. Qu'en pensez-vous ? Plus facile à dire qu'à faire, non ?

Déplacement en dehors de mt4 ou mt5 ne fonctionnerait pas parce que je suis en train de recueillir le soutien de codeurs similaires à moi-même déplacer de mql4-mql5. Afin de rester motivé pour de tels projets, il faut que l'adaptation soit réussie par d'autres, ne serait-ce qu'à des fins de test|bug-reporting. J'aime les Agents et les Optimiseurs, j'espérais que quelqu'un dirait que c'est facile à mettre en œuvre (voici comment) :(. Regardons les choses en face, toutes les fonctionnalités de mt4/mt5 ne seront pas supportées par la première version de ce VST.

Obtenir un support pour les données, les informations sur le marché, l'exécution du marché, les multi-devises et un simple rapport est ce qui est nécessaire pour le moment. Plus il y aura de volontaires pour ce projet, plus il aura de succès. Si le projet s'oriente vers l'extérieur de mt, nous devrons construire tout ce qui précède + beaucoup d'autres choses que nous n'avons jamais eu à considérer auparavant.

J'espérais vraiment que nous pourrions utiliser des codes mql5 prêts à l'emploi. Si personne ne suggère un moyen de faire cela angevoyageur#1, alors nous passerons à angevoyageur#2.

Nous sommes sur la même longueur d'onde.