Mein Ansatz. Der Kern ist der Motor. - Seite 57

 
Реter Konow:

Ich hätte schon längst eine kostenlose Version veröffentlicht, wenn es konstruktives Feedback gäbe. Aber ich sehe eine weit verbreitete, eklatante und wenig erklärbare Negativität. Und zwar auf allen Seiten. Das ist ein Phänomen, das ich zu verstehen versuche.

Peter, vor eineinhalb Jahren habe ich dir privat geschrieben:

Es gibt kein Phänomen. Es gibt eine Selbstverständlichkeit, die Sie nicht verstehen wollen.
Es liegt auf der Hand, dass Sie veraltete Programmiermethoden verwenden und grundsätzlich nicht bereit sind, neue zu erlernen, sei es aus Faulheit, aus extremem Konservatismus oder einfach aus einem Protestverhalten, das seine Wurzeln in der Kindheit hat.

 
Реter Konow:

Sie müssen C# kennen. Sie müssen wissen, wie man eine DLL schreibt. Sie müssen die Interaktion zwischen dem Formular und der MT-Anwendung organisieren und überdenken.

Lassen Sie uns alle Schritte aufzählen und sehen, ob alles so einfach ist, wie Sie sagen. Ich bin selbst daran interessiert.

Können Sie mir bitte den DLL-Code schicken?

Ich bin ein schlechter Lehrer, aber ich lerne schnell )))).

Okay, ich werde versuchen, das im Detail zu erklären:

1. Download C# Compiler, ich habe SharpDevelophttp://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx heruntergeladen, ich wählte Downloads für SharpDevelop 5 (Frameworks 2.0 bis 4.5.1) = 14 MB

2. Installieren Sie es und führen Sie es aus.

3. Neues Projekt erstellen: Datei - Neu - Lösung - C#-Ordner - Klassenbibliothek

4. Fügen Sie ein visuelles Formular hinzu: Datei - Neu - Neue Datei (drücken Sie auf Datei erstellen im Projekt) - C#-Ordner - Ordner Windows-Anwendungen - Formular

5. Jetzt ist das Projekt fertig, öffnen Sie den Formulardesigner, fügen Sie Schaltflächen, Kontrollkästchen, Registerkarten, Rasterlinien usw. hinzu. ...alle üblichen Windows-Funktionen

6. Schreiben Sie in die Datei mit dem Namen unseres Projekts den Basiscode:

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

7. drücken Sie F8 und suchen Sie Ihre fertige .dll auf der Festplatte in Ihrem Projektordner

Im MT5 schreiben wir einen Expert Advisor, um das Formular aufzurufen:

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

Starten Sie es, verwenden Sie ein vorgefertigtes Fenster mit Steuerelementen, dann machen Sie Button-Handler in MQL (wo es sich anbietet in OnTick() oder OnTimer()) und eine Klasse in C#, die bei Bedarf zurückgibt, was ein Benutzer gedrückt hat

Ich habe den Quellcode des Expert Advisors und der .dll angehängt, heute bin ich zu faul, um mich an den Computer zu setzen, morgen werde ich herausfinden, warum dieses Formular nicht im Strategy Tester funktioniert, aber, wie ich schrieb, gibt es eine Menge Informationen im Web, für den persönlichen Gebrauch, es könnte nicht einfacher sein ;)

Dateien:
MQL5.zip  11 kb
 
Igor Makanu:

hmm, ich bin kein guter Lehrer, aber ich lerne schnell )))

OK, ich werde versuchen, das zu erläutern:

1. Sie laden den Compiler herunter: ////.

Glauben Sie, dass er es braucht, um zu lernen (danke übrigens für die knappen und genauen Anweisungen)?

Er wird gleich darüber sprechen, warum sein Ansatz besser ist und dieser hier nutzlos ist.

 
Dmitry Fedoseev:

Glauben Sie, dass er sie zum Lernen braucht (danke übrigens für die kurzen und präzisen Anweisungen)?

Er wird gleich darüber sprechen, warum sein Ansatz besser ist und dieser hier nutzlos ist.

Ich weiß nicht, vielleicht hast du Recht!

aber ich gehe den Weg des geringsten Widerstandes... Ich hatte keine schlechte Idee, ich sah eine Frage für mich und beantwortete sie, die Regel in Foren ist immer: Sie fragen mich, ich frage Sie)))

 
Vitalii Ananev:
Warum machst du, Peter, nicht das Gleiche mit OOP? Ich verstehe nicht, warum Sie die Möglichkeiten nicht nutzen und nicht einmal versuchen, die OOP-Prinzipien zu begreifen. Der Beruf des IT-Spezialisten an sich setzt voraus, dass er sich ständig selbst weiterbildet. Da die Technologien nicht stillstehen, erscheinen neue Programmiersprachen und die PC-Kapazitäten wachsen. Im Allgemeinen bleibt der Fortschritt nicht stehen. Aber Sie sind mit Ihrem Programmierstil auf dem Niveau des Jahres 2000 stehen geblieben und schlagen vor, dass andere Programmierer auf das Niveau jener verflossenen Jahre zurückkehren. Ich habe es schon oft gesagt und werde es noch einmal wiederholen. Versuchen Sie, dies alles mit RPF zu tun.

Wen kümmert es, ob das Gleiche mit oder ohne OOP gemacht wird. Was bereits getan wurde (

 
Nikolai Semko:

Peter, vor eineinhalb Jahren habe ich dir privat geschrieben:

Es gibt kein Phänomen. Es gibt eine Selbstverständlichkeit, die Sie nicht verstehen wollen.
Und es liegt auf der Hand, dass Sie veraltete Programmiermethoden verwenden und grundsätzlich keine neuen lernen wollen, sei es aus Faulheit, sei es aus extremem Konservatismus, sei es einfach aus einem Protestverhalten, das seine Wurzeln in der Kindheit hat.

Nikolai, du hast dich hinreißen lassen, und es ist nicht klar, warum. Ich kann phantasieren:

1. Sie sind als Psychiater qualifiziert, aber Sie haben den hippokratischen Eid nicht abgelegt.

2. Sie haben sich ein wenig übernommen und sind bereit, sich bei Peter für Ihr völlig unethisches Urteil zu entschuldigen.

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

Nikolai, du hast dich hinreißen lassen, und es ist nicht klar, warum. Ich kann phantasieren:

1. Sie sind als Psychiater qualifiziert, aber Sie haben den hippokratischen Eid nicht abgelegt.

2. Sie sitzen in der Klemme und sind bereit, sich bei Peter für Ihr völlig unethisches Urteil zu entschuldigen.

In den zivilisierten Ländern der Welt ist der Psychologisierungsgrad der Bevölkerung (im Sinne von Interesse an und Verständnis für Psychologie) sehr hoch, so dass es im Allgemeinen nichts Besonderes ist, wenn eine Person versucht, das Verhalten einer anderen zu verstehen und darüber zu diskutieren, und im Allgemeinen ist es kein Geheimnis, dass alle Verhaltensmuster in der Kindheit verwurzelt sind, es überrascht oder beleidigt niemanden und jeder sieht das gelassen.

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

Wen kümmert es, ob das Gleiche mit oder ohne OOP gemacht wird. Was bereits getan wurde (

Im Allgemeinen macht es keinen Unterschied, wenn Sie nicht krampfhaft versuchen, alle Vorteile Ihres Ansatzes und das völlige Versagen von OOP im Prinzip zu beweisen.

 
Dmitry Fedoseev:

In den zivilisierten Ländern der Welt gibt es einen sehr hohen Psychologisierungsgrad der Bevölkerung (im Sinne von Interesse an und Verständnis für Psychologie), daher ist es im Allgemeinen nichts Besonderes, wenn eine Person versucht, das Verhalten einer anderen zu verstehen und darüber zu diskutieren, und im Allgemeinen ist es kein Geheimnis, dass alle Verhaltensmerkmale ihre Wurzeln in der Kindheit haben, dies wird niemanden überraschen oder beleidigen, und jeder ist damit einverstanden.

Lassen Sie mich über den Ort spekulieren, an dem ein guter Mensch geboren wurde - zum Beispiel Nikolai Semko - und mit was er geboren wurde. Wir sind ein zivilisiertes Land.

 
Dmitry Fedoseev:

Im Allgemeinen macht es keinen Unterschied, wenn Sie nicht krampfhaft versuchen, alle Vorteile Ihres Ansatzes und das völlige Versagen von OOP im Prinzip zu beweisen.

Wenn Sie es versuchen, wird es etwas bewirken? Tabelle - wo ist die OOP?

Anders ausgedrückt, heiße OOP-Jungs. Erstellen Sie zwei Tabellen. Die erste - ohne OOP, die zweite - mit OOP. Die Hauptsache ist, dass man sie nicht verwechselt.