à nouveau sur le testeur - page 6

 
stringo писал(а) >>

Personne ne l'a coupé. Il y a un bug rarement reproductible dans l'éditeur local. Cela se produit lorsque vous écrivez un article, puis cliquez sur un lien dans la même fenêtre du navigateur pour l'ouvrir dans une nouvelle fenêtre ou dans un onglet adjacent, puis revenez à l'écriture de l'article. Une fois que le message a été soumis, il est recadré. Nos webs sont conscients de ce problème, mais ne peuvent pas le reproduire.

J'écris les réponses dans wordpress. J'y compile tout. Puis je colle. Je l'ajoute. Appel à la rédaction. Peut être manquant pendant l'édition. Maintenant, je notais que les phrases sont des guillemets. Puisque c'est juste du texte brut dans le vdas.

 

Yeprtst, j'ai vérifié, Prival, si ça ne te dérange pas, envoie la preuve dans un message privé et on verra si c'est privé... Je suis tombé sur cette drôle de chose, peut-être que c'est américain, mais c'est un mystère pour moi... ...et je le partage avec vous.

 
Figar0 писал(а) >>

Yeprtst, j'ai vérifié, Prival, si ça ne te dérange pas, envoie la preuve dans un message privé et on verra si c'est privé... Je suis tombé sur cette drôle de chose, peut-être que c'est américain, mais c'est un mystère pour moi... et je l'ai partagé avec vous.

Il existe plusieurs façons de le prouver. Je vais essayer le plus simple. Un graphique à l'aide d'un exemple.

Une barre de 5 ticks. Voici son dessin.

La tâche consiste à modéliser une disposition adéquate des points sur le plan XOY. Données initiales OHLC et V.

Perte a priori de la disposition temporelle des points.

Le point 3 correspondant à H peut être sur l'une des trois places 2, 3 ou 4. Idem pour le point 2(faible). Première inadéquation.

Deuxième coordonnée X (temps), outre la confusion des lieux, leur emplacement exact est inconnu. Dans le testeur, ils sont à intervalles de temps égaux. Et les tiques peuvent se présenter sous différentes formes. Le premier tic au début de la minute, et un paquet des 4 tics restants à la fin. Peut-être qu'il peut y avoir un paquet au début et un autre à la fin - la mer des variantes.

Par exemple, il est impossible de construire l'indicateur de la force du flux sur la base de l'histoire. Quelle est l'intensité du flux que j'ai écrit sur la première page ici. En gros, c'est le nombre de ticks par unité de temps.

Ce n'est pas correct, vous pouvez le faire, mais il sera différent du vrai, c'est sûr. À première vue, c'est un Volum, mais seulement à première vue. Au début de la barre, il est Volume = 0 et à la fin de la barre, il augmente, ce qui n'est pas correct. Il s'avère qu'au début de la barre, nous n'avons pas de flux, car son intensité = 0, mais à la fin de la barre, nous avons l'intensité maximale (stationnarité :-)). Pour construire correctement la barre, nous devons compter dans la fenêtre, décaler d'une seconde, compter, décaler d'une autre seconde, compter, etc.

Il s'agit uniquement de la simulation d'une paire de devises (avion). Mais le multidevise n'est pas un plan - c'est un espace à n dimensions. La manière dont les développeurs vont allouer les ticks de manière adéquate est un mystère. Quel tick est arrivé en premier dans l'EURUSD ou l'EURJPY ? La barre opposée s'est déjà fermée car le prochain tick est arrivé, alors que pour une autre devise, ce n'est pas le cas. Et je ne vois pas comment on peut le simuler de manière adéquate sans changer le format de stockage des données.

Figar0 ,si vousvoulez bien partager ce que vous avez là.Si vous ne voulez pas le rendre public, de toute façon. Personnel. Skype.

 
Prival писал(а) >>

Si ça ne vous dérange pas trop, dites-moi ce que vous avez trouvé. Si vous ne voulez pas être public, n'hésitez pas à le faire. Personnel. Skype.

Ouais, je l'ai en quelque sorte déposé dans ma boîte de réception, regarde... Pas grand chose là-dedans, mais j'ai été étonné de cette approche, et quand j'ai commencé à creuser dans cette direction, j'ai été encore plus étonné, d'ailleurs, un peu sur le sujet "Avons-nous besoin de tics fiables ?". Si ça ne marche pas, j'essaierai une autre méthode demain.

 

Exemple de la façon dont l'algorithme de simulation des ticks affecte le résultat final de la stratégie dans le testeur :
ׂ

Le testeur a simulé des ticks sur cette barre (11:43) :
ׂ

(Vous pouvez voir que le volume en tick de la barre simulée (39) est plus petit que le volume en tick de la barre réelle (42).

En fait, la simulation aurait pu être différente, si l'algorithme était différent.

Par exemple, la séquence de ticks dans ce cas pourrait être : Open->High->Low->Close. Alors l'ordre limite donné aurait été fermé par TakeProfit, mais pas par StopLoss...


P.S. Pour les webmasters : Si vous cliquez sur la première image, l'image originale s'ouvrira, qui pèse 12Kb. Une copie plus petite (générée automatiquement par le moteur du forum) consomme 183Kb (15 fois plus grande). Il faudrait peut-être changer quelque chose pour économiser du trafic.

 
mql4com писал(а) >>

Par exemple, dans ce cas, la séquence de ticks pourrait être la suivante : Open->High->Low->Close. Alors l'ordre limite donné aurait été clôturé à TakeProfit et non à StopLoss...

Et qu'est-ce que cela peut nous apporter lorsque l'on passe d'une séquence de test à une séquence en direct ? Il semble qu'il existe des capacités techniques pour recueillir et analyser de vraies tiques, mais personne n'y a encore pêché de "poisson"... Voulez-vous attraper des modèles dans une séquence synthétique de ticks formée à partir de plusieurs sources avec des filtres DC, dont l'algorithme est auto-similaire et peut varier même chaque minute ? Bien sûr, travailler avec des séquences de tics réels augmentera la fiabilité des tests jusqu'à 99%, mais cela ne nous donnera pas un vrai quidam. Ce n'est pas comme si on échangeait un testeur. .... Je ne comprends pas où vous voulez en venir, bien que j'essaie honnêtement... Si nous obtenons MT5 avec un tumbler, la question disparaîtra d'elle-même.

 
Figar0 >> :

Et que peut-elle nous apporter lorsque nous passons d'une séquence de test à une séquence "live" ? Il semble qu'il existe des capacités techniques pour collecter et analyser de vraies tiques, mais personne n'y a encore pêché de "poisson"... Voulez-vous attraper des modèles dans une séquence synthétique de ticks formée à partir de plusieurs sources avec des filtres DC, dont l'algorithme est auto-similaire et peut varier même chaque minute ? Bien sûr, travailler avec des séquences de tics réels augmentera la fiabilité des tests jusqu'à 99%, mais cela ne nous donnera pas un vrai quidam. Ce n'est pas comme si on échangeait un testeur. .... Je ne comprends pas où vous voulez en venir, bien que j'essaie honnêtement... Si j'obtiens un MT5 avec un culbuteur, la question disparaîtra d'elle-même.

L'exemple ci-dessus est sur une suggestion d'ici :

stringo a écrit >>

Supposons que le testeur puisse être alimenté en données provenant de différentes sources - générées ou dérivées de la collecte de données réelles - pendant les tests. Prouvez que pour les tests, les ticks réels sont meilleurs que les ticks générés.

En ce qui concerne les ticks réels : il existe des données historiques enregistrées publiquement sur les ticks avec les volumes : heure d'arrivée du tick (millisecondes), symbole de négociation, meilleur prix Bid et son volume, meilleur prix Offer et son volume. En d'autres termes, ces données permettent d'analyser des ticks même multi-devises en même temps.

Si vous voulez des données historiques sur l'ensemble du tick, vous avez toutes les possibilités de les enregistrer vous-même. Ces données occuperont environ 10 fois plus d'espace.

 
mql4com писал(а) >>

L'exemple ci-dessus porte sur une offre d'ici :

En ce qui concerne les ticks réels : il existe des données publiques sur les ticks avec volumes : heure d'arrivée du tick (millisecondes), symbole de négociation, prix et volume de l'offre, prix et volume de l'offre. C'est-à-dire des données qui permettent d'analyser simultanément des ticks même multi-devises.

Donc personne ne soutient qu'ils sont là. MT ne les a pas :- (. Et c'est mauvais que les développeurs pensent qu'ils n'ont pas à le faire. Certains d'entre eux, pas tous, pensent qu'ils ont besoin de ces données. C'est tout. Les concurrents de MT ont déjà commencé à fournir l'historique des tics. Il serait bon que MT5 dispose d'un historique des tics. Après tout, 90 % des questions disparaîtraient. Le testeur utilise un flux de tics, prenez-le et faites ce que vous voulez. Et il n'est pas nécessaire de prouver son adéquation. Il y a eu une histoire comme ça et c'est tout. Si vous ne l'aimez pas, vous pouvez en générer un autre ou le simuler.

 
Prival >> :

Donc personne ne soutient qu'ils le sont. À MT, ils ne le font pas :- (. Et c'est déjà assez grave que les développeurs pensent qu'ils n'ont pas à le faire. Certains, mais pas tous, pensent qu'ils ont besoin de ces données. C'est tout. Les concurrents de MT ont déjà commencé à fournir l'historique des tics. Il serait bon que MT5 dispose d'un historique des tics. Après tout, 90 % des questions disparaîtraient. Le testeur utilise un flux de tics, prenez-le et faites ce que vous voulez. Et il n'est pas nécessaire de prouver son adéquation. Il y a eu une histoire comme ça et c'est tout. Si vous ne l'aimez pas, vous pouvez en générer un autre ou le simuler.

Écrivez votre propre testeur. Faites-le plus rapide que le testeur universel MT5 et avec toutes les fonctionnalités qui vous intéressent.

 
mql4com писал(а) >>

Écrivez votre propre testeur. Vous pouvez le rendre plus rapide que le testeur universel MT5 et avec toutes les fonctionnalités qui vous intéressent.

Pas de problème, j'utilise Matcad depuis longtemps. Tout est simple et transparent. J'ai ouvert un fichier avec des guillemets, créé un tableau et fait ce que je veux avec.

Le moment de l'essai n'est pas la valeur la plus critique et la plus importante. Le développement de tout ATC se fait en plusieurs étapes. Idée - algorithme - mise en œuvre de l'algorithme (dans n'importe quel langage de programmation) - tests - analyse des résultats.

  1. L'idée. Rapidement. Et il y en a beaucoup.
  2. Algorithme - ensemble de formules mathématiques et séquence de leur calcul.
  3. Mais l'implémentation dans un langage est déjà intéressante. Il est possible de programmer une année (assembleur) et de la tester pendant 2 secondes. Ou vous pouvez programmer une journée en langage de haut niveau et la tester pendant 24 heures. Les gains sont évidents.
  4. Je ne considère pasMQL4 comme un langage de haut niveau. Ce n'est même pas proche de Matlab, sans parler de Matcad.
  5. Analyse des résultats - sa mise en œuvre laisse également beaucoup à désirer. Bien que l'entreprise ait une certaine expérience dans ce domaine, son analyse est plus approfondie et plus complète. Le testeur ne fait pas ça.
Raison: