Analyse de plusieurs paires de devises par devise, votre avis, cela peut-il être utilisé ? - page 2

 
chv:
Piligrimm:
Vous êtes sur la bonne voie, l'analyse de groupe des paires de devises est l'avenir, la plupart des traders y viendront progressivement. J'utilise l'analyse de groupe depuis longtemps maintenant, et les résultats des prévisions pour un groupe de devises sont bien meilleurs que lorsqu'on utilise une seule paire avec des arguments retardés.
Je suis d'accord avec vous pour dire que l'analyse de plusieurs devises peut fournir plus d'informations qu'une seule paire. Mais elle peut être menée de différentes manières. Lorsque je m'y intéresserai de près, je le ferai d'une manière différente, comme décrit dans l'article "Fondements théoriques de la construction d'indicateurs de clusters pour le marché FOREX".
Les techniques d'évaluation multidevises peuvent être très différentes, c'est le but.
Je ne parlais pas de cet article dans ma réponse, je l'ai entrevu et il ne m'a pas du tout intéressé.
Bien sûr, il peut y avoir différentes méthodes, et le choix de l'une ou l'autre est déterminé par l'algorithme de votre stratégie de trading, qui est purement individuel, et aussi par vos ressources informatiques.
Étant donné que mon ordinateur portable a 7 ans et qu'il est trop faible pour résoudre des problèmes complexes, et que je ne peux pas en acheter un nouveau, dans mon analyse j'utilise 15 paires de devises, y compris l'or, et mon Expert Advisor a à peine le temps de terminer son cycle de calcul avant qu'une nouvelle barre n'arrive, il travaille sur une échelle de temps de 5 minutes et donne une prévision d'une heure par High, Low, Close, ainsi que par la tendance établie à partir de Close en utilisant la transformation Vivelet.Il existe de nombreuses possibilités d'augmenter la précision et la profondeur des prédictions, tout dépend des ressources informatiques. J'espère que j'achèterai bientôt un nouvel ordinateur et que je pourrai faire la même chose sur une période d'une minute.
 
Piligrimm:
Je ne parlais pas de cet article dans ma réponse, je l'ai juste parcouru et il ne m'a pas du tout intéressé.
Bien sûr, il peut y avoir différentes méthodologies, et le choix de l'une ou l'autre est déterminé par l'algorithme de votre stratégie de trading, qui est purement individuel, et aussi par vos ressources informatiques.
En raison du fait que mon ordinateur portable a 7 ans et qu'il est trop faible pour résoudre des problèmes complexes, et que je ne peux pas en acheter un nouveau, dans mon analyse j'utilise 15 paires de devises, y compris l'or, et mon Expert Advisor a à peine le temps de terminer son cycle de calcul avant qu'une nouvelle barre n'arrive, travaillant à l'échelle de temps de 5 minutes et donnant une prévision d'une heure par High, Low, Close, ainsi que par la tendance établie à partir de Close en utilisant la transformation Vivelet. Il existe de nombreuses possibilités d'augmenter la précision et la profondeur des prédictions, tout dépend des ressources informatiques. J'espère que je vais bientôt acheter un nouvel ordinateur et que je pourrai faire la même chose en une minute.

Les prévisions multidevises se réalisent-elles (à temps) ?
Les ressources en fer ne sont pas l'essentiel. La machine coûte un kilobuck et demi, la stratégie est plus chère.
 

Ressources en fonction des besoins, vous pouvez investir tout, jusqu'à cinq kilobucks, une unité de serveur normal sera suffisant, tout est fait par nécessité, s'il ya ce besoin. Ma machine de trois ans, pas un serveur qui effectue des fonctions de serveur, tels que les sites sur Internet, base de données et isa, et ainsi assez au-dessus du toit, afin de ne pas penser à quelque chose de nouveau. Je n'aime pas charger les ordinateurs portables avec de telles choses, les ordinateurs ordinaires ne sont pas si bons, mieux vaut un vrai serveur multiprocesseur, pour lequel je n'ai pas besoin de dépenser d'argent pour le moment. Si j'élabore une véritable stratégie, qui fonctionnera vraiment, il sera alors possible de dépenser de l'argent sur le serveur.

Moins de 2 GHz et 2 gigaoctets de mémoire et ce n'est pas pareil, je vais passer à quelque chose de nouveau, sophistiqué et peu susceptible de le prendre en charge, l'ordinateur portable ne compte pas, parce que les ordinateurs portables ne sont pas capables de porter une charge complète, aussi sophistiqués soient-ils, le processeur mobile est un processeur mobile, et un ordinateur bien choisi avec un système d'exploitation de serveur peut faire beaucoup, bien que moins que la même unité de serveur. Chacun a sa propre approche, donc je ne dirai pas ce qui est nécessaire et ce qui est inutile, vous pouvez tout utiliser, si cela vous permet de travailler sans problème, mais il est peu probable que cela soutienne... Le temps passe et les exigences sont en constante augmentation, il y a de nouveaux développements qui nécessitent de nouveaux investissements, donc ne pas y penser ne fonctionne pas, j'ai probablement que cet ordinateur est le plus durable, en raison de sa grande stabilité et l'absence de problèmes, mais en fait, je ne pense qu'à un bon serveur. Seule la première souche d'Intel l'a été, depuis lors j'ai utilisé AMD, même le 386 DX 40 (a juste déchiré Intel) et le 486 était AMD, j'aurais oublié ce qu'était Intel si on ne me l'avait pas rappelé :)

P.S. : Oh il vaut mieux ne pas parler de hardware sinon je risque d'être emporté dans des contrées lointaines, il y a environ cinq ans c'était pour moi une période riche en émotions de débats et de disputes quand le travail était correspondant, je me souviens qu'à la stand-up party d'Intel on arrivait même à s'amuser dans l'abondance alors que les invités n'étaient évidemment pas des supporters d'Intel :) Quelqu'un est un fan de football et quelqu'un est un fan de fer, bien que probablement dans le passé :))))

 
xnsnet:

Ne parlons pas du fer,


C'est ce que je dis. Sur ... le fer, la stratégie de corrélation du couple est plus importante, non ?
 
chv:
xnsnet:

Ne parlons pas du fer,


C'est ce que je dis. Sur le ... fer, une stratégie de corrélation d'appariement est plus importante, en existe-t-il une ?

Que puis-je dire, en suivant les graphiques et ce que j'ai vu, comme cet article et les indicateurs, les opinions et de nombreux postes, ainsi que d'autres textes, je me rapproche du fait que c'est vraiment la bonne direction, quand j'écris quelque chose de similaire à l'analyseur, je serai en mesure de dire plus précisément, en même temps et montrer ce que j'ai vu moi-même :) Toutes les forces en présence vont dans ce sens en ce moment :) Je dois finaliser tout ce que j'ai fait et le tester sur le marché d'ici une semaine, puis je pense que je pourrai le montrer au marché. J'écris sans quitter le processus, sur .NET, et vous pouvez le terminer par vous-même, parce que le code source ne se cachera pas, ce serait quoi cacher, et pourquoi, seul, cela n'aurait pas de sens de toute façon, mes cerveaux ne sont pas assez univoques :))
 
Je n'ai pas encore fait de test complet, certaines choses doivent être finalisées dans le programme, et le test de mon système n'est possible que sur un compte démo ou réel. Mais les résultats préliminaires donnent une image assez décente et encourageante. Comme le système expert se réapprend et donne une nouvelle prévision à chaque nouvelle barre, même si la situation sur le marché change radicalement, il a le temps de corriger les prévisions. Et en tenant compte de l'analyse multidevise et du choix correct d'un instrument de trading, il crée un effet supplémentaire d'anticipation, car certains instruments réagissent aux changements du marché plus tôt, d'autres plus tard. Si vous sélectionnez un instrument de trading qui est le plus en retard en termes de réaction, vous obtenez une image très intéressante. L'or est l'instrument que j'apprécie le plus pour le trading à cet égard.
En ce qui concerne la corrélation des paires, je choisis des instruments ayant une corrélation positive et négative maximale par rapport à ceux sur lesquels j'ai l'intention de trader. En général, cette question est très compliquée. 99 % de la précision des prévisions dépend de la sélection et de la combinaison correctes des paramètres d'entrée, j'y ai déjà mis les genoux.
En outre, la sélection des paramètres dépend largement de la stratégie elle-même, ce qui convient à une stratégie s'avère inefficace pour une autre. Aucune recommandation ne peut être donnée à distance. La seule chose que je puisse dire, sur la base de mes années d'expérience dans la modélisation et la prévision des séries chronologiques (pas seulement sur les marchés financiers), c'est que parfois même des paramètres faiblement corrélés peuvent être plus efficaces que l'utilisation d'un seul paramètre à forte corrélation, et qu'il peut y avoir différentes méthodes de combinaison, de la multiplication la plus simple à la réduction de paramètres uniques à un polynôme non linéaire.
 

Chaque tick est fourni avec l'heure du serveur Srv, l'heure de capture Utc, et le prix Bid dans les fichiers ; pour un tick 24 octets sont utilisés, en mémoire il y a environ 48 octets dans la collection liée. Je suis en train de réfléchir à la meilleure façon d'associer les symboles les uns aux autres, car je ne veux pas utiliser uniquement des paires de devises et, de manière générale, je veux établir des restrictions morales dans le mélange. Je ne vais pas faire de visualisation graphique, pour l'instant je vais me concentrer sur les données numériques et leur mélange, et donc je vais élargir cette même boîte à outils.

La collecte d'informations à partir des Expert Advisors est organisée de telle manière que pour un instrument, il peut être lancé au moins dix Expert Advisors, mais les données ne seront reçues que du premier de l'ensemble des sessions, par conséquent, pendant le temps d'exécution, vous pouvez démarrer et arrêter les Expert Advisors, cela n'affectera pas la collecte d'informations et l'interaction dans le futur, par exemple le traitement des événements tick, lorsque vous arrêtez toutes les sessions de l'instrument, l'historique tick pour le symbole est effacé de la mémoire et le fichier du symbole est fermé.

Le nombre de ticks dans l'historique n'est pas reflété dans les performances, seulement le nombre de ticks effectivement traités, mais juste au cas où, pour chaque outil dans la mémoire n'est pas conservé plus de 999 999 ticks, les fichiers sont stockés, pour chaque symbole de son fichier, les ticks sont écrits par incréments de cent mégaoctets, de ne pas fragmenter fortement. Soit dit en passant, je suis encore à se demander sur la nécessité de stocker dans les fichiers tick historique, il est juste amusant pour l'expérimentation jusqu'à présent :) Si vous vous concentrez uniquement sur le travail en temps réel, vous n'avez pas besoin d'historique dans les fichiers, mais si vous utilisez un tel historique dans le testeur, vous risquez d'avoir des pauses, bien qu'il soit possible de rétablir les pauses partiellement par minutes, mais je demande si vous en avez vraiment besoin. Appelé, nous testons dans l'intervalle de temps réel a travaillé, même souri, et pourquoi pas, eh bien, c'est ainsi l'idée future, mais maintenant travailler avec les fichiers, je vais frotter, parce que je ne veux pas travailler sur les erreurs connexes possibles : )))) Pour le reste, tout fonctionne bien et sans erreur, aucune erreur ne s'est produite à cause de petits détails :)

Le code suivant est utilisé dans l'Expert Advisor :

#import "mttermex.dll"
    bool ClasterInitialize( string iContext, string iSimbol, int iDigits, int iSpread, double iPoint );
    bool ClasterFinalize( string iContext );
    bool ClasterUpdate( string iContext, double iBid, string itime );
#import
 
string Context = "                                                                                                                                 ";
 
int init() {
    ClasterInitialize( Context, Symbol(), MarketInfo( Symbol(), MODE_DIGITS ), MarketInfo( Symbol(), MODE_SPREAD ), MarketInfo( Symbol(), MODE_POINT ) );
    return(0);
}
 
int deinit() {
    ClasterFinalize( Context ); 
    return(0);
}
 
int start() {
    ClasterUpdate( Context, MarketInfo( Symbol(), MODE_BID ), TimeToStr( MarketInfo( Symbol(), MODE_TIME ), TIME_DATE|TIME_MINUTES|TIME_SECONDS ) );
    return(0);
}



Je n'ai pas compris le format de la structure de la date et de l'heure, je m'en occuperai plus tard, mais pour l'instant je l'ai converti en chaîne à l'entrée et à la sortie en DateTime


 

J'ai donc finalement trouvé au moins une solution, à savoir comment mettre en œuvre le calcul multi-paires, de manière indépendante, afin de pouvoir ajouter librement de nouvelles plages de paires utilisant au moins trois devises, j'ai ajouté quatre classes d'éléments et de collections

CompareMono
CompareMonoCollection
ComparePair
ComparePairCollection .

Ces classes sont liées de manière à ce qu'elles ne puissent pas travailler sur les paires manquantes, il existe une collection Mono d'éléments Mono, nous appelons chaque élément par le nom de la devise, par exemple "EUR", "USD", "GBP" et ainsi de suite, le traitement du ratio n'est effectué que si l'exécution conseille au moins trois devises, bien que l'on puisse en spécifier davantage, c'est-à-dire neuf paires de devises dans un ratio au carré. Pour cela, nous ajoutons manuellement les devises souhaitées et en ajoutant un EA, l'analyse ne commencera pas tant que nous n'aurons pas ajouté au moins neuf paires de devises et que toutes auront passé au moins un tick, pour une sortie comparative il faut au moins deux ticks pour une devise, tandis que pour d'autres deux ou plus, avec beaucoup de ticks intermédiaires d'autres paires dans l'écart. Le temps, la vitesse et le volume jouent un rôle. Les devises manquantes peuvent soit ne pas être traitées, soit être traitées plus tard en prenant effet lors du passage de tous les blocs, enfin, approximativement. Jusqu'à présent, il ne s'agit que d'une théorie de la mise en œuvre du flux, en élaborant les méthodes des classes.

En outre, un beau dessin de tiques sera obtenu en combinant les travaux ; les tiques seront dessinées en fonction des distances des tiques intermédiaires. Mais le rendu n'est important que comme indicateur de tic-tac intéressant. Pour le même rendu, il est nécessaire de développer un modèle de flux combiné, c'est-à-dire où les ticks sont fusionnés en un seul flux et où un indicateur digeste apparaît, sur la base duquel nous pouvons non seulement créer un graphique mais aussi analyser ce qui se passe.

Nous obtenons une sorte de filtre des flux de paires de devises qui ne surcharge pas un processeur en traitement, en passant tous les flux une fois et en combinant un flux commun. L'idée du dessin est basée sur le passage d'un fil en arrière à partir du dernier enregistrement d'un tic commun. Cependant, tout ceci n'est que des conventions, ou plutôt des idées qui ne sont qu'une option, le filtre devrait être davantage développé.

 



Le code source proprement dit se trouve dans le binding, il y a aussi un dossier release avec deux bibliothèques qui fonctionnent dans le dossier racine du terminal,
lorsque vous utilisez le conseiller ci-dessus, qui doit être exécuté sur chacune des paires de devises requises.

L'utilisation de .NET Framework 2.0 est écrite en C# et la bibliothèque d'exportation en MC++ (le minimum requis). Pour VS.NET 2005

Dossiers :
mtterm11.zip  123 kb
 
//Вместо string itime
bool ClasterUpdate( string iContext, double iBid, string itime )
//можно написать 
bool ClasterUpdate( string iContext, double iBid, datetime itime )

//А в DLL будет функция 
MTExport bool __stdcall ClasterUpdate( char* iContext, double iBid, unsigned int itime )

//Время в секундах с 1971 года и есть unsigned int itime

//Если надо в си преобразовать в строки то можно использовать библиотеку time.h

//Я кстати посмотрю ваш код может быть интерфейсные диалоги на .NET сделаю и из C++ Dll буду вызывать.
//Расчётную часть стратегии думаю лучше написать на с++