Mon approche. Le noyau est le moteur. - page 57

 
Реter Konow:

J'aurais déjà publié une version gratuite s'il y avait des commentaires constructifs. Mais je vois une négativité généralisée, flagrante et peu expliquée. Et de tous les côtés. C 'est un phénomène que j'essaie de comprendre.

Peter, il y a un an et demi, je vous ai écrit en privé :

Il n'y a pas de phénomène. Il y a une évidence que vous refusez de comprendre.
L'évidence est que vous utilisez des méthodes de programmation dépassées et que vous ne voulez fondamentalement pas en apprendre de nouvelles, soit par paresse, soit par un conservatisme extrême, soit tout simplement par un comportement protestataire, ancré dans l'enfance.

 
Реter Konow:

Vous devez connaître le C#. Vous devez savoir comment écrire une DLL. Vous devez organiser et penser à l'interaction entre le formulaire et l'application MT.

Décrivons toutes les étapes et voyons si tout est aussi simple que vous le dites. Je m'y intéresse moi-même.

Pouvez-vous m'envoyer le code DLL ?

Je suis un mauvais professeur, mais j'apprends vite )))).

Ok, je vais essayer d'expliquer en détail :

1. Télécharger le compilateur C#, j'ai téléchargé SharpDevelophttp://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx , j'ai choisi Téléchargements pour SharpDevelop 5 (Frameworks 2.0 à 4.5.1) = 14 MB

2. Installez-le et exécutez-le.

3. Créer un nouveau projet : Fichier - Nouveau - Solution - Dossier C# - Bibliothèque de classes

4. Ajouter un formulaire visuel : Fichier - Nouveau -Nouveau fichier (appuyez sur Créer un fichier à l'intérieur du projet) - Dossier C# - Dossier Applications Windows - Formulaire

5. Maintenant que le projet est prêt, ouvrez le concepteur de formulaires, ajoutez des boutons, des cases à cocher, des onglets, des lignes de grille... ...toutes les fonctions standard de Windows

6. Dans le fichier portant le nom de notre projet, écrivez le code de base :

namespace Mylib
{
        /// <summary>
        /// Description of TestClass.
        /// </summary>
        public class TestClass
{
        static Form1 f=new Form1();
        public static void Run()
   {
        f.ShowDialog();
   }
}
}

Appuyez sur F8 et recherchez votre fichier .dll prêt à l'emploi sur le disque, dans le dossier de votre projet.

Dans MT5, nous écrivons un conseiller expert pour appeler le formulaire :

#import "Mylib.dll"
#import
//+------------------------------------------------------------------+
int OnInit()
  {
   TestClass::Run();
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

Pour le lancer, utilisez une fenêtre prête à l'emploi avec des éléments de contrôle, puis créez des gestionnaires de boutons en MQL (si possible avec OnTick() ou OnTimer()) et une classe en C# qui renverra à la demande ce que l'utilisateur a appuyé.

J'ai joint le code source de l'Expert Advisor et de la .dll, aujourd'hui je suis trop paresseux pour m'asseoir près de l'ordinateur, demain je comprendrai pourquoi ce formulaire ne fonctionne pas dans le Strategy Tester, mais, comme je l'ai écrit, il y a beaucoup d'informations sur le web, pour un usage personnel, ça ne pourrait pas être plus facile ;)

Dossiers :
MQL5.zip  11 kb
 
Igor Makanu:

hmm, je ne suis pas un bon professeur, mais j'apprends vite ))))

OK, je vais essayer d'élaborer :

1. Vous téléchargez le compilateur////.

Pensez-vous qu'il en ait besoin pour apprendre (merci, au passage, pour les instructions concises et précises) ?

Il va commencer à expliquer pourquoi son approche est meilleure et celle-là inutile.

 
Dmitry Fedoseev:

Pensez-vous qu'il en ait besoin pour apprendre (merci, d'ailleurs, pour les instructions courtes et précises) ?

Il va commencer à expliquer pourquoi son approche est meilleure et celle-là inutile.

Je ne sais pas, peut-être que tu as raison !

mais je prends le chemin de la moindre résistance... Je n'ai pas eu une mauvaise idée, j'ai vu une question pour moi et j'y ai répondu, la règle dans les forums est toujours : tu me demandes, je te demande))).

 
Vitalii Ananev:
Pourquoi ne fais-tu pas la même chose, Peter, en utilisant la POO. Je ne comprends pas pourquoi vous n'utilisez pas ses possibilités et n'essayez même pas de comprendre les principes de la POO. La profession d'informaticien présuppose en soi que ce même informaticien s'auto-éduque en permanence. Comme les technologies ne sont pas figées, de nouveaux langages de programmation apparaissent et les capacités des PC augmentent. En général, le progrès ne s'arrête pas. Mais vous, avec votre style de programmation, êtes bloqué au niveau de l'an 2000 et vous proposez aux autres programmeurs de revenir au niveau de ces années en lambeaux. Je l'ai dit à plusieurs reprises et je le répète encore une fois. Essayez de faire tout cela en utilisant RPF.

Qui se soucie de savoir si la même chose est faite avec ou sans OOP. Ce qui a déjà été fait (

 
Nikolai Semko:

Peter, il y a un an et demi, je vous ai écrit en privé :

Il n'y a pas de phénomène. Il y a une évidence que vous refusez de comprendre.
Et l'évidence est que vous utilisez des méthodes de programmation dépassées et que, fondamentalement, vous ne voulez pas en apprendre de nouvelles, soit par paresse, soit par conservatisme extrême, soit tout simplement par un comportement contestataire qui trouve ses racines dans l'enfance.

Nikolaï, tu t'es emporté et on ne sait pas pourquoi. Je peux fantasmer :

1. Vous êtes qualifié en tant que psychiatre, mais vous n'avez pas récité le serment d'Hippocrate.

2. Vous vous êtes un peu emporté et vous êtes prêt à vous excuser auprès de Peter pour votre jugement totalement contraire à l'éthique.

 
Алексей Тарабанов:

Nikolaï, tu t'es emporté et on ne sait pas pourquoi. Je peux fantasmer :

1. Vous êtes qualifié en tant que psychiatre, mais vous n'avez pas récité le serment d'Hippocrate.

2. Vous êtes dans le pétrin et vous êtes prêt à vous excuser auprès de Peter pour votre jugement totalement contraire à l'éthique.

Dans les pays civilisés du monde, le niveau de psychologisation de la population (dans le sens d'intérêt et de compréhension de la psychologie) est très élevé. En général, il n'y a rien de spécial lorsqu'une personne essaie de comprendre le comportement d'une autre et en discute, et en général, ce n'est pas un secret que tous les modèles de comportement sont enracinés dans l'enfance, cela ne surprend ni n'offense personne et tout le monde est cool à ce sujet.

 
Алексей Тарабанов:

Qui se soucie de savoir si la même chose est faite avec ou sans OOP. Ce qui a déjà été fait (

En général, cela ne fait aucune différence si vous n'essayez pas frénétiquement de prouver tous les avantages de votre approche et l'échec complet de la POO en principe.

 
Dmitry Fedoseev:

Dans les pays civilisés du monde, le niveau de psychologisation de la population (dans le sens d'intérêt et de compréhension de la psychologie) est très élevé, par conséquent. En général, il n'y a rien de spécial lorsqu'une personne essaie de comprendre le comportement d'une autre et en discute, et en général ce n'est pas un secret que toutes les caractéristiques du comportement ont leurs racines dans l'enfance, cela ne surprendra ni n'offensera personne, et tout le monde est à l'aise avec cela.

Permettez-moi de spéculer sur l'endroit où un homme de bien est né - par exemple, Nikolai Semko - et sur ce qu'il avait à la naissance. Nous sommes un pays civilisé.

 
Dmitry Fedoseev:

En général, cela ne fait aucune différence si vous n'essayez pas frénétiquement de prouver tous les avantages de votre approche et l'échec complet de la POO en principe.

Si vous essayez, cela fera-t-il une différence ? Table - où est la POO ?

Dit autrement, les gars sexy de l'OOP. Faites deux tableaux. La première - sans OOP, la seconde - avec. L'essentiel est de ne pas les mélanger.

Raison: