Des idées ambitieuses ! !! - page 6

 
TheXpert:

Vous pensez en catégories d'amibes :) .

"Nous devrions oublier les petits gains d'efficacité, disons environ 97% du temps : l 'optimisation prématurée est la racine de tous les maux. Pourtant, nous ne devons pas laisser passer nos chances dans ces 3% critiques".

C'est la quatrième fois que je suis cité sur ce forum.

Il ne faut pas beaucoup d'intelligence pour citer et copier, même un singe peut essayer de l'apprendre. :)

Mais pour expliquer votre pensée consciemment - c'est plus difficile et c'est déjà prétendre au niveau de l'homo sapiens.

Alors, voulez-vous essayer de donner un sens à tout cela ou n'avez-vous pas encore atteint ce niveau ? :)

 
HIDDEN:

Depuis quelques années, je suis périodiquement tourmenté par l'idée de mettre en place un testeur de stratégie multi-devises.

J'ai vu plusieurs mises en œuvre, lu des idées, et même regardé MT5.

Je veux dire, pourquoi en ai-je besoin s'il existe un MT5 où le multidevise est déjà implémenté dans le terminal ?

L'écriture d'un testeur interne de stratégies multidevises sans bogue est une tâche très complexe qui est rarement menée à bien.

Je vous recommande de réessayer MetaTrader 5 en version 64 bits :

Il est préférable d'utiliser un outil qui a été testé à de nombreuses reprises et qui est activement développé et soutenu par les développeurs.
 
Andrei01:

L'optimisation du code nécessite une compréhension minimale de l'intensité en ressources d'un fragment de code en termes d'opérations élémentaires effectuées (addition, multiplication, accès à la mémoire, calcul d'adresse, etc.) Sans cela, aucune optimisation n'est en principe possible et même le meilleur compilateur sera impuissant face à ce pauvre programmeur. Cela semble évident, mais je vois que cela peut être une grande nouvelle pour de nombreux programmeurs aussi. :)



Je ne peux pas me le permettre, mais j'aimerais vraiment m'exprimer fermement dans votre sens, mais bon, supposons que votre exemple d'ineptie et d'entêtement clarifie les choses pour beaucoup de gens

Vous êtes accroché à l'efficacité imaginaire de votre simple adressage, les exemples que j'ai donné et les bases de l'écriture de code efficace - vous êtes incapable de lire et de comprendre, partons de la zone 2x2 :

il y a une tâche, mais une tâche délicate ;)) - l'astuce est vitale - le client demande comme toujours un code minimum, qui dans le processus de travail acquiert de la polyvalence - les numéros de la liste ci-dessous

1. écrire une fonction pour multiplier des matrices à 2 dimensions

2. écrire une fonction pour la multiplication de matrices tridimensionnelles

3. Et pouvez-vous écrire une fonction universelle - X * Y ?

4. Pouvez-vous trouver une matrice inverse ?

- un programmeur ordinaire écrit une fonction qui multiplie le tableau X[2] [2] * Y[2][2].

- avec votre "logique" - écrivez un code incroyablement rapide qui consistera en un tableau X[4] et Y[4] et une fonction pour multiplier X[4] * Y[4] et assurez-vous d'utiliser une fonction pour convertir les stupides données d'entrée/sortie en tant que tableau à deux dimensions en données correctes - un tableau à une dimension, et étudiez l'algèbre matricielle et écrivez les transformations équivalentes pour les matrices à une dimension

- Le premier programmeur commence à ajouter l'universalité à sa fonction ; je ne peux même pas imaginer ce que vous ferez (il sera très difficile de vérifier la multiplication de matrices à vingt dimensions converties en tableau à une dimension avec un crayon) ; et finalement un programmeur avec la POO apparaît et définit la classe de base - la matrice et dessine la méthode de multiplication de la matrice ;

- Je ne veux même pas imaginer ce que vous ferez avec la quatrième tâche, parce que ce "client rusé avec de nouvelles idées brillantes" peut apparaître à l'horizon ; le programmeur avec la POO ajoute juste une méthode pour trouver la matrice inverse ; et, en plus, il ajoute toutes les opérations matricielles et les distribue aux autres programmeurs, pour qu'ils ne soient pas contrariés plus tard

Si vous parvenez à réaliser ce qu'est un code avec la programmation habituelle, avec la POO et avec vos "idées brillantes" (votre code va grossir comme une avalanche à partir de la deuxième tâche et l'efficacité est hors de question) - vous comprendrez ce qu'est la programmation efficace, et oui, j'oubliais - les erreurs de la matrice doivent être contrôlées - vous devez encore travailler un peu ))))))))))))))).

Ce que vous essayez d'argumenter a déjà été expérimenté par les programmeurs du monde entier, croyez-moi, aucun Bill Gates ne peut vous faire programmer en POO si ce n'est pas efficace, tout dépend des perspectives du projet - si le projet va s'étendre - sans POO, ce sera une perte de temps et un vaste code sans flexibilité ni polyvalence.

 
Andrei01:

Eh bien, vous devez confondre et mélanger dans un mélange de crotales différentes choses. :)

L'un est une source d'informations qui est objective et l'autre est un récepteur qui est subjectif car il n'est pas toujours capable de percevoir toutes les informations, mais seulement une partie.

rien de ce genre. Les informations n'ont de sens que lorsqu'elles sont appliquées à une source et à un récepteur particuliers. Il ne peut y avoir d'information "absolue" pour nous, car après l'avoir touchée ou mesurée, nous devenons immédiatement un récepteur subjectif. Il s'ensuit qu'il est fondamentalement impossible de prouver ou de réfuter l'existence d'une information objective, quelle que soit la source - c'est comme discuter de la présence ou de l'absence de Dieu.

Et la notion même d'information, d'une manière générale, n'apparaît que lorsque la source et le récepteur sont tous deux choisis.

 
alsu:

rien de tel. Les informations n'ont de sens que lorsqu'elles sont appliquées à une source et à un récepteur spécifiques. Il ne peut y avoir d'information "absolue" pour nous, car après l'avoir touchée ou mesurée, nous devenons immédiatement un récepteur subjectif.

Bien sûr, il y a toujours une source d'information. Il n'y a pas d'autre façon de considérer l'information.

Une information sans source ne peut tout simplement pas exister. :) Eh bien, s'il existe une source d'information objective, l'information qui en est issue sera objective en elle-même. Le récepteur d'informations sera toujours subjectif, mais il peut s'approcher de l'objectivité avec une précision infinie s'il perçoit toutes les informations sans distorsion.

 
IgorM:

- Avec votre "logique", il vous suffit d'écrire un code incroyablement rapide avec les tableaux X[4] et Y[4] et une fonction pour multiplier X[4] * Y[4] et sûrement une fonction pour convertir les stupides données d'entrée/sortie dans un tableau bidimensionnel en données unidimensionnelles valides et étudier l'algèbre matricielle et écrire les transformations équivalentes pour les matrices unidimensionnelles.

Malheureusement, vous n'avez pas compris la chose simple, que j'ai essayé de vous faire comprendre, mais je vois que c'est inutile car si le plombier (par exemple) décidait soudainement de se reconvertir temporairement en programmeur, il resterait quand même un plombier et penserait comme un plombier, dont l'essentiel est la longueur des tuyaux posés sur le sol. :)

Le critère d'optimalité d'un programme n'est pas la longueur du code, mais le nombre d'opérations pour une tâche particulière. Si l'on vous demande de multiplier uniquement une matrice à deux dimensions, alors que vous mettez en œuvre des cas beaucoup plus généraux et inutiles, il va sans dire que personne ne vous remerciera d'un tel amateurisme.

 
Andrei01: Le récepteur de l'information sera toujours subjectif, mais il peut se rapprocher de l'objectivité avec une précision infinie s'il perçoit toutes les informations sans distorsion.

La subjectivité du récepteur ne tient pas au fait qu'il reçoit de manière inexacte ce qui vient de la source, mais au fait que ce flux entrant vers lui peut être interprété de différentes manières. Le même flux de bits peut représenter des informations complètement différentes, vous voyez ?

Andrei01, désolé, mais je ne comprends pas pourquoi vous écrivez quelque chose ici. C'est pour le robo-rating ou autre ? Vos messages sont perçus comme une sorte de bruit de fond qui ne contient aucun signal utile pour ce fil de discussion. Veuillez filtrer le flux sortant : les gens lisent, pas les robots...

 
Mathemat:

1. La subjectivité du récepteur ne tient pas au fait qu'il reçoit de manière inexacte ce qui vient de la source, mais au fait que ce flux entrant vers lui peut être interprété de différentes manières. Le même flux binaire peut être une information complètement différente, vous voyez ?

Andrei01, désolé, mais je ne comprends pas pourquoi vous écrivez quelque chose ici. C'est pour le classement des robots ou quoi ? Vos messages sont perçus comme une sorte de bruit de fond sans aucun signal utile pour ce fil. Veuillez filtrer le flux sortant - les gens lisent, pas les robots...

1) Le fait que le récepteur interprète l'information différemment, en fonction de ses propres raisons, indique simplement qu'elle est subjective.

2. Mathemat, malheureusement je n'ai pas saisi le sens de cette phrase. Vous y mettez trop de bruit excessif. :) Soit dit en passant, c'est un exemple du fait que la source d'information peut aussi inonder, c'est-à-dire générer délibérément des informations dénuées de sens. :)

 
Andrei01:

Malheureusement, vous n'avez pas compris la chose simple, que j'ai essayé de vous faire comprendre, mais je vois que c'est inutile, car si un plombier (par exemple) décide de se reconvertir temporairement en programmeur, il reste toujours un plombier et pense comme un plombier, dont la chose principale est la longueur des tuyaux posés sur le sol. :)

Le critère d'optimalité d'un programme n'est pas la longueur du code, mais le nombre d'opérations pour une tâche particulière. Si l'on vous demande de ne multiplier qu'une matrice à deux dimensions et que vous mettez en œuvre des cas beaucoup plus généraux et inutiles, il va sans dire que personne ne vous remerciera d'un tel amateurisme.


Malheureusement, vous ne pensez qu'en termes de "résolution immédiate et directe des problèmes", et vous ne pensez pas aux changements futurs de l'algorithme de fonctionnement du programme.

Il s'agit de tâches hautement spécialisées qui sont soit résolues en 20-30 minutes en raison de leur facilité de mise en œuvre, soit ces tâches ont déjà été mises en œuvre dans des projets plus importants.

C-4 a déjà dit que les algorithmes de trading basés sur le MACD appartiennent au passé, je ne vais pas le répéter.

SZY : Étudier au moins certains développements en matière d'optimisation du code, si c'est un point sensible pour vous, voici ce que les gens ont mis au point : http://www.realcoding.net/article/rubric/code_optim?page=6.

Je dis au revoir une fois de plus à ce fil, je ne vois pas l'utilité de me répéter, qui veut comprendre ce qu'est la POO et la programmation efficace, je pense qu'il le comprendra ou le googlisera lui-même ?

 
Andrei01: 1. Le fait que le récepteur interprète l'information différemment, en fonction de l'une ou l'autre de ses raisons, montre simplement qu'il est subjectif.

Encore faux. L'interprétation du flux entrant est la tâche de celui qui se tient au-dessus du récepteur et qui fixe les conditions du jeu. Le récepteur est en fer ; il broie les informations selon l'algorithme qui lui a été fixé par le maître du jeu. En ce sens, il est complètement et strictement objectif, car c'est un fer muet. Mais le subjectif est le Maître.

Saviez-vous que les informations peuvent être interprétées différemment, selon le contexte de la tâche à accomplir ?