Quelques signes des bons CTs - page 13

 
Serqey Nikitin:

Pourquoi ne pas commencer par l'attribut principal - le profit ? Qui a besoin d'une fonction correcte que vous avez vérifiée, mais qui ne fait pas de profit ? Est-ce de la science pure ?

Eh bien, reliez cette science pure aux propriétés dont a besoin un trader - et cette propriété ne sert QUE le profit... !

On va l'attacher. A posteriori, lorsque la fonction de prix (temps) est déjà connue. Une paire de devises. Il ne reste plus qu'à sélectionner les moments d'ouverture et de fermeture des trades afin de réaliser le plus grand profit. Nous choisissons ces moments comme suit : au moment d'un minimum global, nous ouvrons une position d'achat, au moment d'un maximum global, nous la fermons, puis nous ouvrons une position de vente qui sera fermée au minimum global suivant. Et ainsi de suite. Si les mouvements de taux à ce moment-là sont beaucoup plus importants que les frais généraux (spread, commission...), nous pouvons également insérer des points de retournement dans la zone de retracement, en fermant la position de ce moment-là et en ouvrant la position opposée. Ensuite, nous collecterons tous les bénéfices possibles, il n'y en a pas plus.

En résumé. Les moments déterminants sont les moments où le prix atteint ses extrêmes. Ils sont ce qui est préservé si l'on recherche les extremums F (prix (temps)) au lieu de la fonction prix (temps) si F est monotone.

 
Vladimir:

Lions-nous. A posteriori, lorsque la fonction de prix (temps) est déjà connue. Une paire de devises. Il ne reste plus qu'à choisir les moments d'ouverture et de fermeture des trades afin de réaliser le plus grand profit. Nous définissons ces moments comme suit : au moment d'un minimum global, nous ouvrons une transaction d'achat, au moment d'un maximum global, nous la fermons, puis nous ouvrons une transaction de vente et la fermons au moment du minimum global suivant. Et ainsi de suite. Si les mouvements de taux à ce moment-là sont beaucoup plus importants que les frais généraux (spread, commission...), nous pouvons également insérer des points de retournement dans la zone de retracement, en fermant la position de ce moment-là et en ouvrant la position opposée. Ensuite, nous collecterons tous les bénéfices possibles, il n'y en a pas plus.

En résumé. Les moments déterminants sont les moments où le prix atteint ses extrêmes. Ils sont ce qui est préservé si l'on recherche les extremums F (prix (temps)) au lieu de la fonction prix (temps) si F est monotone.

Vous n'avez pas besoin de prendre un cas spécial de personnalisation de TS pour une paire, c'est ce qu'on appelle la correspondance historique.

Mais ces ajustements ne rendent pas toujours ce TS DROIT !

La bonne TS est celle où les paramètres de la stratégie donnent du profit sur une paire, mais ces mêmes paramètres, sans aucune optimisation supplémentaire, donnent aussi du profit à la stratégie sur d'autres paires.

C'est assez difficile à réaliser, mais c'est possible... Et dans ce cas, le succès dépend de l'IDEE de la stratégie, et non des cotations, bonnes, mauvaises ou modifiées par une condition quelconque...

 
Vladimir:

Lions-nous. A posteriori, lorsque la fonction de prix (temps) est déjà connue. Une paire de devises. Il ne reste plus qu'à choisir les moments d'ouverture et de fermeture des trades afin de réaliser le plus grand profit. Nous définissons ces moments comme suit : au moment d'un minimum global, nous ouvrons une transaction d'achat, au moment d'un maximum global, nous la fermons, puis nous ouvrons une transaction de vente et la fermons au moment du minimum global suivant. Et ainsi de suite. Si les mouvements de taux à ce moment-là sont beaucoup plus importants que les frais généraux (spread, commission...), nous pouvons également insérer des points de retournement dans la zone de retracement, en fermant la position de ce moment-là et en ouvrant la position opposée. Ensuite, nous collecterons tous les bénéfices possibles, il n'y en a pas plus.

En résumé. Les moments déterminants sont les moments où le prix atteint ses extrêmes. Ils sont ce qui est préservé si l'on recherche les extremums F (prix (temps)) au lieu de la fonction prix (temps), si F est monotone.

Le principal problème de négociation (en termes de fonctions abstraites) : identifier un extremum et "sa localité" en temps réel. Il s'agit de donner un "coup de sifflet"/une évaluation qu'un extremum est presque ou déjà atteint et qu'il y a un écart suffisant vers l'extremum opposé à la fois en termes de prix et de temps.

La tâche secondaire consiste à identifier l'absence d'un extremum au moment le plus proche du prix. Le point subtil qui vous saute aux yeux est que cette tâche est fondamentalement différente de la première...

Les deux tâches ne peuvent être résolues qu'avec une certaine fiabilité, car elles sont des prévisions et peuvent même se contredire.

 
Renat Akhtyamov:

Nikolaï, tu veux bien me montrer le chiffre final,

juste un coup d'œil à....

Je soupçonne qu'il y en a un, mais je n'arrive pas encore à le découvrir.

La silhouette est dans les bois.

Mais je parle des attributs du TS correct idéal, ceux auxquels on devrait aspirer et auxquels j'aspire moi-même.
J'ai déjà beaucoup parlé de ce sujet ici sur le forum.

Un ajout important s'impose dans ce fil de discussion. Dans le bon sens du terme, bien sûr, cela devrait être un sujet distinct.

Un bon CT nécessite une structure de données, un stockage et une base d'accès appropriés.

Le système actuel est très lourd et peu maniable pour créer un TS correct.

J'ai dû développer le mien et il s'est avéré, à mon avis, beaucoup plus pratique, compact et agile.

Je peux l'expliquer en quelques mots.

Tout d'abord, toutes les barres minutes sont pompées, puis tous les ticks sont progressivement pompés. Oui, cela peut prendre du temps (quelques minutes pour chaque symbole).

Ensuite, une base de données de barres minutes est formée mais avec une structure où l'ouverture, la fermeture, le haut et le bas s'additionnent 4 fois de plus pour chacun de ces événements. Dans mon implémentation, cette structure occupe environ 13 octets par barre. Elle est 5 fois plus compacte que la structure MqlRates (60 octets) et en même temps plus informative. Ce résultat est obtenu parce que seuls les incréments sont stockés et que, pour un accès et une recherche rapides, il existe des tableaux d'index supplémentaires.

Le tableau des barres minutes MqlRates est supprimé en raison de son inutilité. Le tableau des tics est toujours là (c'est la part du lion de notre consommation de mémoire - des centaines de Mb - généralement jusqu'à 1 Gb)

Cette base de données occupe déjà 30-40 Mb pour un seul caractère au lieu de 100-200 Mb pour l'ensemble de l'histoire.

À partir de cette base de données, vous pouvez facilement créer un timeframe de n'importe quelle période en quelques millisecondes et il est plus informatif du fait que les heures d'ouverture, de fermeture, de hauteur et de bas sont toujours connues.

Cependant, il ne s'agit que d'une base de données intermédiaire, qui n'est nécessaire que pour analyser un symbole au stade du chargement d'un conseiller expert pour calculer tous les paramètres nécessaires du symbole (en enlevant les caractéristiques de comportement du symbole). Je souligne qu'il s'agit de calculer et non de choisir par méthode de recherche. Je dis cela aux amoureux de tester et de tester-grailler. Il s'agit d'un système complexe à plusieurs étapes de reconnaissance des formes et de formation d'un tableau statistique multidimensionnel, d'une taille de quelques kilo-octets ou dizaines de kilo-octets. Toute cette procédure prend environ 5 secondes.

Ensuite, le tableau de tics peut également être supprimé, et une base de données compressée logarithmiquement jusqu'à 1Mb est créée à partir d'une base de données de 30-40Mb. Cette base de données contient une image complète de l'historique des symboles depuis le moment présent. Au début, il y a quelques milliers de ticks, qui se transforment progressivement en barres hebdomadaires. Le même principe s'applique à notre vision lorsque nous regardons un paysage. Plus les objets du paysage sont proches, plus ils sont détaillés, plus ils sont éloignés, moins ils sont détaillés car ils sont inutiles. Qui connaît la structure de l'œil et le nombre de cônes et de bâtonnets, comprend que l'image d'une personne à la vision parfaite avoisine les 100 mégapixels.

Ensuite, vous pouvez supprimer la base de 30-40 Mb et ne laisser que la base qui pèse moins de 1 Mb.

Quelques minutes de préparation pour le CT, c'est fait.

Ensuite, nous ajoutons des ticks à notre base de données au fur et à mesure de nos transactions, et nous la reconditionnons toutes les 30,5 minutes, par exemple. Nous complétons et mettons à jour le tableau multidimensionnel des caractéristiques des symboles.

C'est une beauté, n'est-ce pas - 1 Mb par symbole avec un historique détaillé. Avec cela, vous pouvez créer un TS approprié, qui ne dépend pas des délais.

N'ai-je pas raison ?

Tous les chiffres sont absolument réels.

 

Nikolai Semko:

Ai-je tort ?

Question - pourquoi avez-vous besoin d'un système pour stocker tout l'historique de la production ? )
 
TheXpert:
Question - pourquoi avez-vous besoin d'un système de stockage à historique complet pour la production ? )

Pour le bon TC.

Lisez plus attentivement. L'ensemble du système de stockage occupe moins de 1 Mo.

Le CT doit voir l'historique complet.

Dans mon TS, c'est ce qui se passe. Chaque tique est une reconnaissance de modèle sur l'ensemble de l'histoire, des tiques aux semaines. J'ai obtenu un temps bien inférieur à 1 milliseconde pour l'ensemble du cycle de reconnaissance sur toute l'histoire grâce à une compression logarithmique et à des méthodes de calcul sans cycle.

 
Nikolai Semko:

Pour le TS correct.

le principe du stockage des données n'a rien à voir avec la "justesse" du TS)

 
TheXpert:

Le principe du stockage des données n'a rien à voir avec la "correction" du TS).

Il s'agit de la possibilité de construire un TS correct. Il est beaucoup plus facile de construire un bâtiment solide avec des briques de meilleure qualité et plus résistantes.

Je ne fais qu'exprimer mon opinion sur la base de ma propre expérience et de mon vécu.

Je n'impose rien à personne et je ne vais pas discuter

 
Nikolai Semko:

Il s'agit d'être capable de construire un CT correct. Il est beaucoup plus facile de construire un bâtiment solide à partir de briques plus résistantes et de meilleure qualité.

Je ne fais qu'exprimer mon opinion sur la base de ma propre expérience et de mon vécu.

Je n'impose rien et je ne vais pas discuter

"justesse" et en général, ce que sont les concepts individuels de TC :-)

D'après ce que je comprends du message du sujet - une sorte de système de trading en tant qu'ensemble de formules mathématiques et de détermination des moments d'achat/de vente ne devrait pas être lié aux coordonnées (ne dépend pas du moment dans le temps, seulement des mouvements précédents ; et ne dépend pas des valeurs absolues, mais de l'écart de prix relatif). C'est ce que nous appellerons "correct".

Mais je ne veux pas dire que c'est juste, car si c'est à propos du marché, alors c'est un non-sens. Sur les abstractions, il s'agit de circonvolutions.

Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nikolai Semko:

Il s'agit d'être capable de construire le bon TS.

@TheXpert met volontairement le mot "correct" entre guillemets. Lorsque j'ai créé le sujet, je ne pouvais pas prévoir que ce mot provoquerait autant de déclarations complètement hors sujet. C'est un cas où le pouvoir du mot n'a pas joué dans un sens positif. Je ne peux pas le renommer. Je ne peux même pas penser à un autre nom - je ne peux pas penser à autre chose.

Raison: