Le système de trading mécanique parfait.

 
Bonjour programmeurs et codeurs, philosophes et pragmatiques :) Je propose de développer l'idée de créer un sous-jeu.
Pour cela, nous allons partager nos réflexions et essayer d'écrire conjointement cette incroyable merveille :)
En général, dans l'ordre. A propos de moi : Je ne suis pas un programmeur, mais j'ai une grande expérience du trading (plus de 5 ans) Je suis entièrement satisfait de mon trading et de mes gains. Mais même après toutes ces années, j'en arrive toujours à la conclusion que l'expérience et la connaissance des marchés financiers sont impossibles à appréhender de manière complète et approfondie. Il y a toujours un processus d'apprentissage. Qu'est-ce qui change au fil du temps ? Le pourcentage de conclusions intuitives et analytiquement correctes sur la direction du marché. C'est probablement tout. Comme vous tous, j'ai probablement cherché les grails pendant longtemps et j'ai été convaincu de leur absence, tout comme vous. C'est la fin de la démagogie - revenons au sujet :).
Et donc. Partons a priori de la règle qu'il existe beaucoup de systèmes de trading mécanique rentables, et que dans une certaine période de temps et pour une certaine devise, les mts peuvent donner de bons résultats. C'est pourquoi, quel que soit le système mécanique que nous utilisons comme base, la principale chose qui doit s'y trouver - ce ne sont pas les paramètres de réglage d'un seul utilisateur. Tous les paramètres doivent être calculés indépendamment, c'est-à-dire qu'il s'agira d'un système de trading mécanique automatique (AMTS) optimisé en fonction de la volatilité du marché.
Dans cette branche, je me propose de partager mes réflexions sur ce sujet et d'écrire petit à petit quelques parties du code qui mettrait en œuvre les étapes de l'optimisation.
Je le répète - je ne suis pas un programmeur, je vais donc commencer par les choses simples.
Nous allons diviser les paramètres autoréglables de l'AMTS en paramètres principaux et supplémentaires.
De base :
1. Nombre de lots.
2. Prendre des bénéfices
3. Stop Loss
4. Trailing Stop
Supplémentaire
5. Tous ces paramètres sur la base desquels l'AMTS sera écrite.

Comme base du MM, nous prendrons : entrée 5% des fonds propres, facteur de profit non inférieur à 2, ratio take profit et stop loss : 60/40.
1. Tout d'abord, le nombre de lots est implémenté dans de nombreux systèmes : il s'agit de la fonction LotOptimizator.
Supposons que notre système sera intraday, respectivement.
2. Le Take Profit sera calculé comme 70% du mouvement quotidien moyen du prix du dernier mois.
3. Stop Loss, respectivement, comme 40% du Take Profit.
Je suggère de calculer les niveaux de Stop Loss et Take Profit à 01h00 du matin, après être passé au jour suivant.

En général, si le sujet est intéressant, exprimons nos idées.
 
Vous pouvez réentraîner le réseau neuronal à chaque nouvelle barre. Ou le réentraîner. La tâche consiste à construire le modèle.
 

Vous pouvez réentraîner le réseau neuronal à chaque nouvelle barre. Ou le réentraîner. La tâche consiste à construire le modèle.

Vous devez avoir travaillé avec des réseaux neuronaux. Et vous savez que les réseaux neuronaux multicouches n'apprennent pas rapidement. Et si les délais sont courts, le réseau n'aura pas assez de temps pour trouver une solution.
Je n'ai pas travaillé avec des réseaux neuronaux, je ne fais que lire. Quel progrès avez-vous fait ?

Mon idée dans cette direction est l'algorithme génétique auto-adaptatif LGAP. J'y travaille. Dll presque prête - modèle.
 
Mon imho - il serait un ajustement. J'ai essayé les réseaux neuronaux. Ce n'était pas très utile, pour être honnête. Et j'en ai utilisé un très bon !

L'idée revient toujours au trader, car on ne peut se passer ici d'un raisonnement fondamental. Et un réseau sera engagé dans l'ajustement des données - il a trop de degrés de liberté - je l'ai vérifié en pratique.
 
kniff писал (а):
Mon imho - il serait un ajustement. J'ai essayé les réseaux neuronaux. Ce n'était pas très utile, pour être honnête. Et j'en ai utilisé un très bon !

L'idée revient toujours au trader, car on ne peut se passer ici d'un raisonnement fondamental. Et un réseau sera engagé dans l'ajustement des données - il a trop de degrés de liberté - je l'ai vérifié en pratique.

C'est comme ça que ça devrait être. Le marché est volatile : volatilité, volumes, fourchettes de prix. Les paramètres doivent changer rapidement.
 
quality писал (а):
Bonjour programmeurs et codeurs, philosophes et pragmatiques :) Je propose de développer l'idée de créer un sous-jeu.

Personnellement, je suis très intéressé par ce sujet ! Prêt à participer dans tous les sens !

A propos des paramètres d'autotuning : avec la base tout est clair, mais que prendre comme base pour les paramètres supplémentaires, c'est-à-dire, quels indicateurs, niveaux, canaux, ou quoi ?

J'ai eu une telle idée :
- mettre plusieurs indicateurs sur le graphique (par exemple RSI, Stoch, CCI, MACD, etc.) reprendre "approximativement" les valeurs de ces indicateurs ;
- Ensuite, regardez l'historique pour trouver des renversements de prix approximatifs (c'est-à-dire où il est clairement visible "ici il faut acheter, ici il faut vendre") ;
- puis écrivez les valeurs de tous les indicateurs dans ces points, pour l'achat et la vente, dans un tableau ou dans un fichier ;
- Ensuite, dans le Conseiller Expert - vérifiez-le (en tenant compte de l'écart des valeurs de l'indicateur en pourcentage par rapport aux valeurs idéales), c'est-à-dire, par exemple, dans le tableau, la valeur RSI pour l'achat s'est avérée être 20, alors, si le pourcentage de déclenchement est de 10, alors l'achat se déclenchera de 18 à 22, ainsi qu'avec tous les autres indicateurs ;
- Dale, vous pouvez (ou devriez :) également ajouter au contrôle des indicateurs de croisement de différents niveaux ou de leurs lignes de signal ;

Je ne l'ai pas vérifié moi-même (bien que j'aie commencé à écrire une EA expérimentale, je n'ai pas encore de résultats), donc je ne peux rien dire sur son fonctionnement ou non.
 
quality писал (а):

C'est comme ça que ça doit être. Le marché est volatile : volatilité, volumes, fourchettes de prix. Les paramètres doivent changer rapidement.

A propos, les paramètres de tous les indicateurs (dans ce cas, nous devrons aussi les rendre auto-ajustables, mais comment, je ne le sais pas encore). Dans mon exemple (ci-dessus), vous pouvez essayer de changer le pourcentage de déviation des valeurs de l'indicateur par rapport à l'idéal, c'est-à-dire essayer de suivre les changements du marché, vous pouvez et devez probablement ajouter de nouvelles combinaisons de valeurs d'indicateur au tableau (fichier).
 
J'y pense moi-même depuis longtemps. Je ne sais simplement pas par quel bout l'aborder. S'il y a de bonnes idées, bien fondées, je suis prêt à les mettre en œuvre. En ce moment, je suis très intéressé par les idées de modèles décrites dans "Self Learning EXPERT" en combinaison avec un réseau neuronal.
 
kniff, il me semble que la correspondance historique est une chose très, très utile si elle est adaptée au TEMPS. À condition que le système s'adapte assez rapidement. Il n'y a donc pas lieu d'en avoir peur. Il est préférable de réfléchir à la manière de s'adapter à l'histoire assez rapidement. Par exemple, le système possède un certain vecteur de paramètres X. À chaque instant t, il existe pour ce vecteur une valeur optimale X' qui ne change pas trop rapidement. C'est-à-dire que X'(t0) est proche de X'(t1), si t0 et t1 sont proches. Si au temps dt=t1-t0, le système parvient à déterminer correctement la valeur de X'(t0), alors au temps t1, ce sera la valeur du réglage. C'est-à-dire pas optimale (la valeur optimale sera X'(t1)), mais suffisamment proche de la valeur optimale. À ce propos, voici une question pour mes collègues qui se sont beaucoup investis dans les tests (hélas, je ne peux pas m'en vanter). À quelle vitesse les systèmes naïfs (non adaptatifs, rigidement ajustables) commencent-ils à tomber en panne lorsque les conditions du marché changent ? Y a-t-il une sorte de point de transition entre la rentabilité et l'effondrement ? Ou bien cela se produit-il de manière abrupte et catastrophique ?
 
favoritex, pouvez-vous préciser ce qu'est le LGAP ? Je n'ai rien trouvé à ce sujet sur Yandex, si ce n'est une mention de l'existence de cette chose. Et le contexte de la mention me semblait intéressant.
 
eugenk1:
Il me semble que l'ajustement de l'histoire est une chose très, très utile, si elle est adaptée au TEMPS. À condition que le système s'adapte assez rapidement. Donc tu n'as pas à en avoir peur. Il est préférable de réfléchir à la manière de s'adapter à l'histoire assez rapidement. Par exemple, comme ceci : le système possède un certain vecteur de paramètres X. À chaque instant, ce vecteur a une certaine valeur optimale X', qui ne change pas trop vite. C'est-à-dire que X'(t0) est proche de X'(t1), si t0 et t1 sont proches. Si au temps dt=t1-t0, le système parvient à déterminer correctement la valeur X'(t0), alors au temps t1, elle sera la valeur des paramètres, c'est-à-dire non optimale (l'optimale sera X'(t1)), mais suffisamment proche de l'optimale. À ce propos, voici une question pour mes collègues qui se sont beaucoup investis dans les tests (hélas, je ne peux pas m'en vanter). À quelle vitesse les systèmes naïfs (non adaptatifs, rigidement ajustables) commencent-ils à tomber en panne lorsque les conditions du marché changent ? Y a-t-il une sorte de point de transition entre la rentabilité et l'effondrement ? Ou bien cela se produit-il de manière abrupte et catastrophique ?
C'est exactement ce que je voudrais, mais non :( Apparemment, tout dépend du système. Jusqu'à présent, j'ai l'impression que tout se passe exactement "de manière abrupte et catastrophique". En général, essayez Phoenix avec les paramètres standard - avant le 13 février de cette année 100% de perte, et après - commence brusquement un niveau élevé de rentabilité avec haute - stabilité. Imaginez la transition inverse.