Règles de structure. Apprendre à structurer des programmes, explorer les possibilités, les erreurs, les solutions, etc. - page 5

 
  1. Tous mes projets commencent par une interface. Une interface bien conçue => structure optimale du projet.
  2. Je développe la structure des données (variables) - les performances en dépendent.
  3. Je m'assure que chaque bloc fonctionne correctement et seulement ensuite je l'optimise.
  4. Lorsque le projet est prêt, il doit être soumis à des tests. Corrigez tous les bogues et les "non pratiques" trouvés.
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных - Документация по MQL5
 
FAQ:
Je lis le cahier des charges, et si une solution sous forme de structure ne me vient pas à l'esprit - je travaille sur d'autres projets, en général je ne commence jamais la mise en œuvre dès le premier jour. Si le programme n'est pas un ICL ou un XML, alors je lis, je calcule les variations d'implémentation, les types de structure, les classes. Lorsque j'ai une image générale en tête, je commence à découper des blocs ou à écrire des modules de base. Si quelque chose ne fonctionne pas, je m'installe sur le canapé avec un jouet de type tétris et je joue jusqu'à ce que je résolve complètement le problème, ou jusqu'à ce que je m'ennuie :)
J'ai compris : "......... si la solution sous forme de structure ne vient pas d'elle-même à l'esprit.........". Ici, j'associe également la formation d'une structure de projet harmonieuse dans ma tête à la possibilité de commencer à travailler sur le projet. Tant qu'elle n'est pas formée, je n'écris rien. Il est généralement trop coûteux d'apporter des modifications structurelles à ce qui a déjà été écrit. Il est préférable de consacrer du temps à la réflexion sur les éléments de base dès le départ.
 

En passant sur les jouets - juste aujourd'hui quelque part dans les nouvelles ont lu que Tetris et similaires, améliorer la capacité cognitive - donc je confirme, en passant par les options dans le champ de jeu cerveaux paralelno comme si dans le travail subconscient sur d'autres tâches.

SZS, comme l'optimisation des neurones :)

DC2008:
  1. Tous mes projets commencent par l'interface. Interface bien conçue => structure optimale du projet.
  2. Je développe une structure de données (variables) - les performances en dépendent.
  3. Je m'assure que chaque bloc fonctionne correctement et seulement ensuite je l'optimise.
  4. Lorsque le projet est prêt, il doit être soumis à des tests. Corriger les bugs et les "pas pratiques" trouvés.

1. s'il y a un besoin en matière de transmission de données, j'y pense en premier, structure de données, protocole, format. sinon, je pense dans le même ordre. si je parle de µl, presque tous les blocs ont été écrits et optimisés depuis longtemps, il est très rare que je doive écrire quelque chose séparément, je le fais généralement avec des ajouts sur la fonctionnalité existante.

ZZZY. En principe, la majeure partie du temps est consacrée au développement des algorithmes.

 
FAQ:

En passant sur les jouets - juste aujourd'hui quelque part dans les nouvelles ont lu que Tetris et similaires, améliorer la capacité cognitive - donc je confirme, en passant par les options dans le champ de jeu cerveaux paralelno comme si dans le travail subconscient sur d'autres tâches.

SZS, comme l'optimisation des neuronki :)

J'ai toujours Sapper dans cette capacité).


 
FAQ:

À propos des jouets, j'ai lu aujourd'hui que Tetris et d'autres jeux similaires amélioraient les capacités cognitives. Je confirme donc qu'en examinant les options sur le terrain de jeu, le cerveau travaille en parallèle, comme s'il était inconscient, à d'autres tâches.

...

Cet effet ne fonctionne qu'à l'horizontale ou dans d'autres positions reste ? :)

Mes abstractions fonctionnent mieux à l'horizontale, bien qu'il soit important de ne pas tomber dans un sommeil mou et doux :)

 

Pour échanger des idées / apprendre les uns des autres, je propose de prendre un problème plus ou moins pratique et de le restructurer ensemble.

Par exemple, décrivez au moins la structure de base (ou plus précisément, les variantes de ces structures) pour un tel problème :

Il existe un conseiller expert écrit comme ceci (par exemple, pour tester une idée de trading). Supposons que l'idée dans le testeur de stratégie (chez le client) montre des résultats prometteurs. Maintenant, nous devons réécrire le conseiller expert pour le rendre plus facile à développer, et en particulier, pour le doter d'un panneau de contrôle graphique.

Il est souhaitable soit de rendre le panneau commutable (pour l'optimisation dans le testeur), soit de déplacer toute la réalisation "non graphique" de l'EA dans un fichier enfichable (.mqh), qui peut alors être connecté à l'interface graphique sans modification (pour exclure) les différences de fonctionnement des versions "testeur" et "graphique".

J'aimerais entendre et lire les considérations sur la structuration d'un tel projet, en particulier sur l'implémentation du modèle de contrôle événementiel dans un tel projet. Supposons que la double mise en œuvre (testeur + panneau) soit une exigence stricte du client (c'est-à-dire que le projet doit être réalisé de n'importe quelle manière, vous pouvez seulement choisir la méthode de mise en œuvre).

Pouvons-nous jeter un coup d'œil à la tâche ?

 

mais pour MT4 :)

ZS. En général, c'est trop petit, ayons un problème plus global.

 
FAQ:
mais pour MT4 :)
Eh bien, ça va être difficile avec le panneau de contrôle qui est là, et c'est difficile de s'occuper des classes... )))
 
MetaDriver:
Eh bien, il serait difficile de se débrouiller avec un panneau de contrôle là-bas. Et les classes ne sont pas si faciles à gérer... )))

Moi, par contre, j'ai tout ce qu'il faut pour cela :)))

ZS. C'est juste que je vais passer sur les cinq. Donc sans moi. Mieux vaut une simple tâche algorithmique abstraite.

 
FAQ:
Mais j'ai tout pour cela :))))

Dites-moi donc (en général) comment vous bouchez ces trous dans 4. Est-ce que tout est dans les DLL ? :)