Une stratégie de trading efficace basée sur l'analyse multidevises de plusieurs DCs - page 10

 
Yurixx:
Piligrimm

J'espère que le nombre de personnes sceptiques à l'égard de l'analyse multidevises a diminué et que les résultats aideront quelqu'un à trouver sa propre stratégie de trading efficace.

Je dois vous l'accorder, c'est une idée très intéressante et significative.
Et la transformation du vyvelet semble très constructive. Je dois m'y habituer.
Bravo !
Les ondelettes présentent un avantage significatif si elles sont utilisées à la place des indicateurs : elles maintiennent une dynamique élevée des balayages et produisent beaucoup moins de décalage par rapport aux données d'entrée. L'essence de la transformation en ondelettes est qu'elle décompose un signal en composantes spectrales, puis coupe une partie du spectre et utilise le reste des harmoniques pour former un nouveau signal. Elle n'a besoin que de trois comptes pour décomposer le signal en un spectre, elle ne peut pas être comparée, par exemple, avec les moyennes mobiles où 6-10 comptes sont nécessaires pour obtenir le même lissage qui introduit le retard respectif aux données réelles.
Mais comme les indicateurs, les transformées en ondelettes ne peuvent pas donner de prévisions, alors que l'image qu'elles peignent ne reflète que le passé, et tirer des conclusions sérieuses sur l'avenir à partir de cette image n'a pas de sens, nous devons construire un système de prévision, la seule façon de dire la tendance du marché avec plus ou moins de confiance.
 
elritmo:
Piligrimm, pouvez-vous me dire comment utiliser MT pour tracer une clôture d'une paire de devises sur le graphique d'une autre paire de devises ?

Avec l'aide d'iClose, vous formerez un fichier avec tous les instruments dont vous avez besoin, puis pour chaque instrument vous obtiendrez un ratio de moyenne, par exemple, vous additionnez les 100 dernières barres pour chaque instrument et vous divisez par 100. Après cela, toutes les données, pour chaque instrument, sont divisées par son coefficient, ce qui permet d'obtenir des valeurs de tous les instruments fluctuant autour de un (d'ailleurs, il est pratique pour le traitement ultérieur en utilisant des réseaux neuronaux, toutes les données sont normalisées), après quoi vous multipliez les valeurs de l'instrument, que vous voulez afficher sur un autre graphique par le coefficient, qui a été obtenu pour l'instrument sur le graphique que vous allez afficher.
 
Maintenant, tout est parfait au pixel près, même avec des taux de cotation et des nombres de ticks différents.
 
Piligrimm:
En bref, l'essence de la transformée en ondelettes, si quelqu'un ne la connaît pas, est qu'elle décompose le signal en composantes spectrales, puis coupe une partie du spectre et utilise les harmoniques restantes pour former un nouveau signal.
Dans ce cas, en quoi les transformées en ondelettes diffèrent-elles des diverses transformées de Fourier, de l'analyse spectrale, etc. ?

Le principal problème des transformées de Fourier est qu'elles ne sont applicables qu'aux fonctions périodiques. Si vous les utilisez pour une fonction non périodique, en vous appuyant sur un morceau fini d'histoire, le résultat est une fonction périodique qui répète à l'infini le morceau de référence.
A en juger par votre citation, les transformations de vivelets devraient souffrir du même défaut. C'est le cas ?
 
xnsnet:

Ce n'est pas à cause de la surcharge du serveur ou de l'arrivée plus rapide des citations modifiées, mais à cause de la différence dans les paramètres des filtres, chacun les règle comme il/elle pense qu'ils doivent être. Oui, c'est pourquoi il est nécessaire d'avoir des EA à la peau épaisse, car une société de courtage fera une chose et une autre fera une autre. Le filtre fonctionne de telle manière qu'il sélectionne les cotations les plus réalistes, en tenant compte des délais, mais il n'émule pas les cotations, il en rejette seulement certaines variantes, ne laissant que les plus plausibles. Malheureusement, ce n'est pas la vérité qu'ils veulent voir pour l'utilisateur ou le programme, c'est pourquoi des sujets tels que l'analyse entre les sociétés de courtage commencent.

Notez que j'utilise deux indicateurs à la fois, des intervalles de temps serveur et client, donc il n'y a presque aucune différence dans les graphiques, seulement dans ces zones filtrées du côté serveur.

La différence de temps, est calculée en temps de huit octets, où la date du serveur est convertie en (gcnew DateTime( 1970, 1, 1 ))->AddSeconds( iSrv ), puis la somme de la différence de temps de tic, serveur et client, divisée par neuf à la huitième puissance est utilisée, dans ce graphique, pour obtenir la différence en secondes, vous devez diviser par dix à la septième puissance. De cette façon, je peux déduire avec une grande précision en excluant les problèmes de taux de mise à jour des données. Sauf qu'un pixel par tic est consommé, mais je pense que pour certains modes, comme la sortie du temps en tic, je vais supprimer la consommation, alors ce sera parfaitement comparable même en taille. Que faire, je suis un creuseur, même sans vouloir creuser jusqu'à la racine :)

Cher Pèlerin, je suis intéressé par ce que vous avez à dire en réponse à cette déclaration ?

Continuez à creuser !
Eh bien, sérieusement, tout d'abord, définissez l'objectif final, ce que vous voulez atteindre et comment vous allez utiliser les informations obtenues, cela dépendra de la forme et du format dans lesquels elles seront le mieux présentées. Si vous allez faire du MTS sur la base de l'analyse des ticks, vous devez alors synchroniser les ticks de différents instruments dans le temps, et c'est la chose la plus difficile dans tout ce travail, sinon vous n'obtiendrez pas une image objective, et par conséquent, le MTS ne fonctionnera pas efficacement.

La préparation correcte des données initiales représente 90 % du succès de toute tâche et, dans le domaine du trading, elle est encore plus importante. De nombreuses personnes qui tentent de faire des prévisions échouent parce qu'elles n'ont pas réussi à former les données conformément à l'algorithme de traitement des données.

 
A propos, si j'ajoute une interaction au programme, je pourrai combiner les résultats de plusieurs DT et ajouter les données manquantes dans les deux directions, par exemple dans les captures d'écran ci-dessus nous pouvons voir que les deux DT souffrent d'un filtrage inhérent, en fait dans la direction opposée, dans le graphique EURUSD c'est facilement visible au début. Et comme le but est précisément de couper les données des tics par des filtres, de cette façon, le filtrage disparaîtra dans une faible mesure. Tout dépend des courtiers à comparer. Mais c'est pour plus tard :)
 
Yurixx:
Piligrimm:
En bref, l'essence de la transformée en ondelettes, si quelqu'un ne la connaît pas, est qu'elle décompose le signal en composantes spectrales, puis coupe une partie du spectre et utilise les harmoniques restantes pour former un nouveau signal.
Dans ce cas, en quoi les transformées en ondelettes diffèrent-elles des diverses transformées de Fourier, de l'analyse spectrale, etc. ?

Le principal problème des transformées de Fourier est qu'elles ne sont applicables qu'aux fonctions périodiques. Si vous les utilisez pour une fonction non périodique, en vous appuyant sur un morceau fini d'histoire, le résultat est une fonction périodique qui répète à l'infini le morceau de référence.
A en juger par votre citation, les transformations de vivelets devraient souffrir du même défaut. C'est le cas ?

Non, les transformées en ondelettes sont basées sur des principes différents de ceux des transformées de Fourier et présentent un avantage par rapport aux autres méthodes d'analyse spectrale, même s'il me semble qu'il serait erroné de parler d'analyse spectrale en général ; nous devrions plutôt parler d'une méthode de filtrage spécifique. La transformation donne lieu à ce que l'on appelle la carte des coefficients, qui peut également être utilisée pour l'analyse visuelle et la recherche de motifs dans le processus étudié. Mais je ne suis pas un expert dans ce domaine et je ne me suis pas intéressé à ce sujet au cours des 3-4 dernières années, maintenant il y a beaucoup de nouvelles informations sur les transformations de vyvelet sur Internet, je pense. J'ai l'habitude de les appeler ainsi, bien que le nom correct soit transformées en ondelettes.

À propos, voici un lien vers l'utilisation des transformées en ondelettes en conjonction avec les réseaux neuronaux : http://library.mephi.ru/data/scientific-sessions/2001/Neuro_Lect/2343.htm. Il y a un exemple :
"Analyse des séries chronologiques financières et importance des facteurs dans la modélisation des réseaux neuronaux".

Et un autre lien : http://www.tradeways.org/wave_4.php
 
En fait, je vois déjà la solution pour avoir besoin d'un programme serveur pour stocker les ticks, probablement la façon la plus simple de remplir les ticks dans un seul flux, c'est d'utiliser SQL alors essentiellement il est possible d'utiliser plusieurs serveurs à cet effet pour collecter les données de différents DCs :) Bien qu'il serait préférable d'écrire votre propre serveur pour cela, mais mes capacités sont limitées à quelques mains, donc pour mettre en œuvre cette action devra sacrifier de petites choses :) Et les problèmes de communication ne disparaissent qu'en cas de défaillance du fournisseur d'accès Internet :) Bien qu'à vrai dire, mieux que SQL ne peut être que son propre serveur.
 
xnsnet:
Par ailleurs, si j'ajoute une interaction au programme, je serai en mesure de combiner les résultats de plusieurs sociétés de courtage et d'ajouter les données manquantes dans les deux sens, par exemple dans les captures d'écran ci-dessus, nous pouvons voir que les deux sociétés de courtage souffrent d'un filtrage inhérent, en fait dans la direction opposée, dans le graphique EURUSD, il est facilement perceptible au début. Et comme le but est précisément de couper les données des tics par des filtres, de cette façon, le filtrage disparaîtra dans une faible mesure. Tout dépend des courtiers à comparer. Mais cela viendra plus tard :)
Ici, ce n'est peut-être pas si simple. Et si ces différences sont principalement dues au fait que les sociétés de courtage obtiennent leurs informations de sources différentes ? Dans ce cas, vous n'apporterez que des distorsions supplémentaires. Mais dans tous les cas, vous pouvez essayer, mais faites attention à ne pas introduire de perturbations supplémentaires.
 
Piligrimm:
Ce n'est peut-être pas si simple. Et si les différences sont principalement dues au fait que les DCs reçoivent des informations de sources différentes ? Dans ce cas, vous ne ferez qu'introduire des distorsions supplémentaires. Essayez quand même, mais faites attention à ne pas introduire d'interférences supplémentaires.

Bien sûr, c'est à cela que sert la visualisation des graphiques, pour voir ces distorsions :) Dans tous les cas, vous devez écrire un serveur, qui distinguera également les interférences, tout en principe est déjà clair, vous devez juste le faire :) J'ai toujours dit que le cerveau humain est un virus :) J'avais un problème majeur, comment tracer l'arrêt du serveur dans le Metatrader, car aucun événement n'est reçu, maintenant j'ai trouvé le moyen le plus sûr de ne pas le faire :) Après tout, si un DC est interrompu, il y a un autre DC. Tout cela étant dit, il n'y a pas d'odeur de craquage ici car seuls les drawdowns peuvent être utilisés pour le pipsing, ce qui est exactement ce que les filtres absorbent, et quand tout cela n'est qu'une image pour l'analyse, alors ces données ne peuvent être utilisées que pour l'analyse et non pour le pipsing sur les vulnérabilités. Aussi, je suis arrivé à la conclusion qu'il n'y a pas besoin de surcharger l'historique tick du terminal, tout sera stocké sur le serveur, et les graphiques collés au terminal, ou plutôt dans des modes différents, reflétant à la fois les données du serveur et seulement son client séparément, mais aussi du serveur :)

P.S. : J'espère que personne d'autre ne me convaincra que les tiques sont inutiles ou qu'il est inutile de travailler avec elles : )))).