Sur une application de l'OOP - page 10

 
Alexey Volchanskiy:

Bon sang, le compilateur Intel qui déchire tout le monde va rattraper l'interprète ?

Sanych, ne bois pas trop ))))

Lisez attentivement le post :

Vos classes matricielles devront utiliser la bibliothèque Intel pour les opérations matricielles,

C'est BIBLE !

Élargissez vos horizonsà partir de là. Pour vous épargner la peine, le voici :

La bibliothèque Intel® Math Kernel Library (Intel® MKL) accélère les routines de traitement mathématique afin d'accroître les performances des applications et de réduire le temps de développement. Intel® MKL comprend des fonctions d'algèbre linéaire, de transformée de Fourier rapide (FFT), de mathématiques vectorielles et de statistiques hautement vectorisées et threadées.

Bon sang... Gyyy....

Intel® Math Kernel Library (Intel® MKL) | Intel® Software
Intel® Math Kernel Library (Intel® MKL) | Intel® Software
  • software.intel.com
Intel® Math Kernel Library (Intel® MKL) accelerates math processing routines that increase application performance and reduce development time. Intel® MKL includes highly vectorized and threaded Linear Algebra, Fast Fourier Transforms (FFT), Vector Math and Statistics functions. The easiest way to take advantage of all of that processing power...
 
СанСаныч Фоменко:
Par interprète, j'entends votre R
 
Комбинатор:
Par interprète, je voulais dire votre R préféré

Rien n'est interprété en R. Toutes les fonctionnalités sont en code natif. Vous appelez une fonction et seule la commande elle-même est interprétée. C'est tout.

Et la vitesse d'exécution des fonctions intégrées est étonnante. Tu ne peux pas faire ça avec tes propres mains, ou avec le MKL. Ou c'est trop long, et ce n'est pas nécessaire.

 
Yuriy Asaulenko:

Ce n'est pas moi qui décide. Je crois bien que les opérations vectorielles et matricielles sont à un niveau là. Sinon, il ne serait pas dans le top 5.

Et j'ai une bonne attitude envers la langue elle-même. Mais comparer MQL et R est ridicule).

un langage de négociation d'applications contre un langage d'analyse de données ? comment peut-on les comparer ?

Données déchargées (MQL) analysées (R) trouvé un Edge, écrit un ATS (MQL), si nécessaire, avec un lien vers la fonctionnalité nécessaire de la plate-forme analytique.

Si vous souhaitez porter la fonctionnalité requise, c'est tout à fait normal. Une aide d'autant plus possible est disponible sous la forme d'alglib porté par les développeurs.

 

L'idéal serait d'exécuter tout un écosystème d'EA pour modéliser la façon dont ils survivent et changent en fonction des GA pour mieux correspondre aux cotations historiques.

Au début, il y avait les plus simples qui achetaient ou vendaient à une condition simple. Puis, d'autres plus complexes ont commencé à se former à partir des plus simples. En général, l'extinction et l'émergence de nouveaux experts efficaces à suivre))) Une sorte de programmation évolutive basée sur le croisement booléen d'autres individus.

 
Avals:

Idéalement, on pourrait lancer tout un écosystème d'EA pour simuler la façon dont elles survivent et évoluent en fonction des GA pour mieux correspondre aux cotations historiques.

Comme au début, il y avait des protozoaires, qui étaient achetés ou vendus à une simple condition. Puis, des formes plus complexes ont commencé à se former sur la base de formes simples. En général, l'extinction et l'émergence de nouveaux experts efficaces à suivre))) Une sorte de programmation évolutive basée sur le croisement booléen d'autres individus.

À propos de l'évolution et de l'"extinction" : une société notoire a organisé un concours de programmation d'IA. Tout est adulte - modèle prédateur-proie, écologie, géographie, reproduction, capacité à communiquer entre spécimens et autres choses. Les résultats de nombreux essais ont montré que l'algorithme de comportement le plus simple l'emporte sur toutes les IA les plus intelligentes : ils mangent tout ce qu'ils peuvent atteindre, se reproduisent à la première occasion et, si quelque chose arrive, courent ensemble avec un troupeau.

 
Maxim Kuznetsov:

à propos de l'évolution et de l'"extinction" : une société notoire a organisé un concours de programmation d'IA. Tout est adulte - le modèle prédateur-proie, l'écologie, la géographie, la reproduction, la possibilité de communication entre les copies, et ainsi de suite. L'algorithme le plus simple de l'IA disponible l'a emporté après de nombreux essais : un individu doit manger tout ce qu'il peut atteindre, se reproduire à la première occasion et, si quelque chose arrive, courir avec un troupeau.

MS l'a arrangé au début des années 2000 pour populariser C#. Avant cela, le jeu était populaire en Java.

Mais la SEP a conclu tout cela par des prix, j'ai gagné une scène, je ne me souviens plus laquelle. Mais la stratégie était Rat in ambush)))))

Je me souviens d'autre chose, le facteur a sonné à la porte, - il y avait un colis pour toi de la part de MS.

Je suis venu à la poste - un carton de 20 kg, tout rempli de livres sur la programmation)).

 
Alexander Laur:
Votre post aurait une conclusion LOGIQUE si, pour appuyer vos arguments sur l'incohérence de l'héritage, vous fournissiez un diagramme graphique de votre vision de la hiérarchie des classes. Pour plus de clarté ! :)
La bibliothèque standard n'est pas le meilleur exemple de code, mais il n'y a pas que cela. Un atout majeur.
 
Alexander Laur:
Votre post aurait une conclusion LOGIQUE, si en confirmation de votre raisonnement sur l'incohérence de l'héritage, vous apportiez un schéma graphique de votre vision de la hiérarchie des classes. Pour plus de clarté ! :)

Jusqu'à présent au niveau des thèses :

Iln'y a pas de solution miracle("NoSilver Bullet" Frederick Brooks, 1986). En d'autres termes, il n'existe pas de technologie unique pour un développement correct des logiciels. Toute méthode de conception peut être source d'incohérence, de complexité de perception et, par conséquent, de ralentissement, voire d'impossibilité, du développement ultérieur.

L'héritage est intrinsèquement incohérent. Cependant, en l'utilisant, il est très facile de créer un dessin contradictoire, beaucoup plus facile qu'il n'y paraît au début du dessin.

Les interfaces et les inclusions sont plus sûres.

D'après ce qui a été dit, il semble préférable d'utiliser des modèles plats en règle générale : une chaîne d'héritage limitée à deux, au maximum trois niveaux et des échanges par le biais d'interfaces, dont la fonctionnalité est mieux réalisée par des inclusions.

Malheureusement, les interfaces sont interdites dans MQL5, ce qui est très regrettable, bien qu'elles auraient pu être activées dans un geste soigné : permettre l'héritage multiple de classes purement abstraites.

ZZY. Quand j'aurai le temps, je dessinerai un arbre de classe de mon projet CStrategy. Il sera intéressant de les comparer. Mais j'insiste encore une fois : il n'y a pas de solution miracle, c'est-à-dire qu'il ne faut en aucun cas considérer la même CStratégie par le principe " regardez comment il faut faire ".

 
СанСаныч Фоменко:

Si vous ne savez pas cuisiner les chats, restez tranquille...

R. Ce langage d'analyse de données statistiques comporte également 2 systèmes de programmation orientés objet

Et alors ? Il y a beaucoup plus là-dedans que MQL n'a pas. Et alors ?

Ce n'est pas la question. La supériorité algorithmique d'une langue par rapport à une autre n'a aucune importance à partir d'un certain seuil de capacité par rapport au domaine concerné.

Vous êtes en train de mâcher des goûts de codeur ici, et personnellement je suis ici pour le bien du commerce.

PS.

Vos classes matricielles devront utiliser la bibliothèque Intel pour les opérations matricielles, alors peut-être que vous égalerez R en la matière.

Tu mets tes matrices dans tous tes posts. Leur application dans le commerce réel est très limitée. 99,9 % des conseillers experts n'utilisent pas les calculs matriciels (à ne pas confondre avec les tableaux dans MQL).

R a été créé pour l'analyse rapide de données, mais pas pour la simulation à part entière. Qu'en est-il des calculs dans la fenêtre glissante ? 99,99% de tous les calculs en trading sont effectués à l'aide de fenêtres coulissantes. En d'autres termes, si vous insérez un nouvel élément dans la matrice et supprimez l'ancien, puis recalculez la matrice, le coût de cette opération doit être O(1), et rien d'autre. En MQL, cela peut être garanti dans presque tous les cas, mais comment le faire en R ?