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

 
Ein Mann macht seit 3000 Jahren "etwas", ohne seine Idee zu zeigen, aber man wirft ihm vor, den falschen Weg zu gehen :)
Peter, Peter the Great Coder, wenn ich richtig verstanden habe, sind Sie ein Vermarkter?
 
jdjahfkahjf:
Ein Mann macht seit 3000 Jahren "etwas", ohne seine Idee zu zeigen, aber man wirft ihm vor, den falschen Weg zu gehen :)
Peter, Peter the Great Coder, wenn ich richtig verstanden habe, sind Sie ein Vermarkter?

Ohne zu zeigen, aber gleichzeitig ganz klar ihre Prinzipien zu beschreiben. Das ist es, was Sie beanstanden, das ist es, was sie sagen, dass "der Weg falsch ist".

Außerdem ist es nicht für den Autor "falsch", sondern für diejenigen, die es ablehnen. Sie haben hühnerähnliche Gehirne und können sich nicht daran erinnern, wo und welche Objekte sie erschaffen haben, wo und wer sich auf sie bezieht, was jede Zelle in der Anordnung bedeutet, woher sie wechseln können und wo nicht... Es ist verständlich, dass die Gegner empört sind. Anstatt ihr Gedächtnis zu trainieren, so dass sie sich leicht ein paar tausend Objekte und Referenzen im Programm merken können, schneiden dumme Leute ihre eigenen Zugriffsrechte, definieren einige Unterscheidungen, einige Schnittstellen, einige polymorphe Funktionen... Sie foltern sich selbst, wie unter dem zaristischen Regime, eh...

 
Georgiy Merts:

Und "falsch" ist es eben nicht für den Autor und für diejenigen, die dagegen sind. Sie haben Hühnerhirne und können sich nicht daran erinnern, wo und welche Objekte sie erschaffen haben, wo und wer sich auf sie bezieht, was jede Zelle in der Anordnung bedeutet, woher sie wechseln können, wo nicht... Es ist verständlich, dass die Gegner empört sind. Anstatt ihr Gedächtnis zu trainieren, so dass sie sich leicht ein paar tausend Objekte und Referenzen im Programm merken können, schneiden dumme Leute ihre eigenen Zugriffsrechte, definieren einige Unterscheidungen, einige Schnittstellen, einige polymorphe Funktionen... Sie foltern sich selbst, wie unter dem zaristischen Regime, eh...

Das war's:

Der Themenstarter hat ein Talent dafür, ein Publikum anzuziehen, das dann in seinem Thema ein Durcheinander veranstaltet, über Nacht schafft, sich zu erinnern, wer was wo herausbekommen hat, über Psychologie zu diskutieren, sich zu schminken und für seine Gesundheit zu trinken!

ZS: Herzlichen Glückwunsch zur guten Gesundheit! Viel Glück, gute Gesundheit und ein langes Leben!

 
Georgiy Merts:

Indem er sie nicht zeigt, sondern ihre Prinzipien ganz klar beschreibt. Das sind die Einwände, mit denen gesagt wird, dass "der Weg falsch ist".

Außerdem ist es nicht für den Autor "falsch", sondern für diejenigen, die es ablehnen. Sie haben Hühnerhirne und können sich nicht daran erinnern, wo und welche Objekte sie erschaffen haben, wo und wer sich auf sie bezieht, was jede Zelle in der Anordnung bedeutet, woher sie wechseln können, wo nicht... Es ist verständlich, dass die Gegner empört sind. Anstatt ihr Gedächtnis zu trainieren, so dass sie sich leicht ein paar tausend Objekte und Referenzen im Programm merken können, schneiden dumme Leute ihre eigenen Zugriffsrechte, definieren einige Unterscheidungen, einige Schnittstellen, einige polymorphe Funktionen... Sie foltern sich selbst, wie unter dem zaristischen Regime, eh...

Um gut auswendig lernen zu können, muss man in seiner Muttersprache programmieren. Oder besser noch, in zwei Sprachen. Dann funktioniert das Gedächtnis zu 100 Prozent.

Diese einfache Wahrheit kann nicht verstanden werden. Stereotype stehen im Weg.


Und mit weniger Regeln können sie sich ihre eigenen Konstruktionen im Programm besser merken. Deshalb habe ich meinen eigenen Ansatz mit einer vernachlässigbaren Anzahl von Regeln entwickelt. Um eine Menge davon zu machen.

 
Igor Makanu:

Das war's:

Der Themenstarter hat ein Talent dafür, ein Publikum anzuziehen, das dann in seinem Thema ein Durcheinander veranstaltet, über Nacht schafft, sich zu erinnern, wer was wo herausbekommen hat, über Psychologie zu diskutieren, sich zu schminken und für die Gesundheit zu trinken!

ZS: Herzlichen Glückwunsch zur guten Gesundheit! Viel Glück, gute Gesundheit und ein langes Leben!

Ich bin gerade dabei, C# herunterzuladen und zu installieren.

Ich möchte diese Frage in der Praxis behandeln.

Mal sehen, wie einfach das ist.

 
Реter Konow:

Um sich gut erinnern zu können, muss man in seiner Muttersprache programmieren. Oder besser noch, in zwei Sprachen. Dann funktioniert Ihr Gedächtnis zu 100 Prozent.

Diese einfache Wahrheit kann nicht verstanden werden. Stereotype stehen im Weg.

Sie sprechen immer von Stereotypen. Lassen Sie uns objektiv denken. Sehen Sie, alle zukünftigen Programmierer auf den Schulbänken lernen meist C++ und nehmen an Wettbewerben teil.

Alle internationalen Wettbewerbe für Schüler und Studenten der Welt sind in C++, Java, ich weiß nicht, ob Pascal oder C# existieren oder nicht. Aber C++ regiert, von den Tools für das WEB ganz zu schweigen.

Was meinen Sie? Jeder kennt sich mit C++ und OOP aus. Aber es gibt nur sehr wenige Forex-Programmierer unter den Programmierern, ebenso wie die Anzahl derer, die sich mit Forex beschäftigen. Viele wissen nicht einmal, was Forex ist, selbst Amerikaner.

Unter tausend Programmierern werden Sie keinen einzigen finden, der sich mit Algotrading beschäftigt hat.

 

Installierte C#. Ein Projekt geöffnet. Ich habe ein Formular erstellt und ihm zwei Schaltflächen und drei Kontrollkästchen hinzugefügt.

Hier ist der Code im Editor:

/*
 * Created by SharpDevelop.
 * User: Peter Konow
 * Date: 12.12.2018
 * Time: 9:08
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace Test_app_1
{
        /// <summary>
        /// Description of MainForm.
        /// </summary>
        public partial class MainForm : Form
        {
                public MainForm()
                {
                        //
                        // The InitializeComponent() call is required for Windows Forms designer support.
                        //
                        InitializeComponent();
                        
                        //
                        // TODO: Add constructor code after the InitializeComponent() call.
                        //
                }
                
                void Button1Click(object sender, EventArgs e)
                {
                        
                }
        }
}

Frage: Warum gibt es eine Funktion für eine Schaltfläche und wo sind die Funktionen für die zweite Schaltfläche und die Kontrollkästchen?

Ich habe diesen Code gefunden:

/*
 * Created by SharpDevelop.
 * User: Peter Konow
 * Date: 12.12.2018
 * Time: 9:08
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
namespace Test_app_1
{
        partial class MainForm
        {
                /// <summary>
                /// Designer variable used to keep track of non-visual components.
                /// </summary>
                private System.ComponentModel.IContainer components = null;
                
                /// <summary>
                /// Disposes resources used by the form.
                /// </summary>
                /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
                protected override void Dispose(bool disposing)
                {
                        if (disposing) {
                                if (components != null) {
                                        components.Dispose();
                                }
                        }
                        base.Dispose(disposing);
                }
                
                /// <summary>
                /// This method is required for Windows Forms designer support.
                /// Do not change the method contents inside the source code editor. The Forms designer might
                /// not be able to load this method if it was changed manually.
                /// </summary>
                private void InitializeComponent()
                {
                        this.button1 = new System.Windows.Forms.Button();
                        this.checkBox1 = new System.Windows.Forms.CheckBox();
                        this.checkBox2 = new System.Windows.Forms.CheckBox();
                        this.checkBox3 = new System.Windows.Forms.CheckBox();
                        this.button2 = new System.Windows.Forms.Button();
                        this.SuspendLayout();
                        // 
                        // button1
                        // 
                        this.button1.Location = new System.Drawing.Point(25, 21);
                        this.button1.Name = "button1";
                        this.button1.Size = new System.Drawing.Size(131, 76);
                        this.button1.TabIndex = 0;
                        this.button1.Text = "button1";
                        this.button1.UseVisualStyleBackColor = true;
                        this.button1.Click += new System.EventHandler(this.Button1Click);
                        // 
                        // checkBox1
                        // 
                        this.checkBox1.Location = new System.Drawing.Point(25, 146);
                        this.checkBox1.Name = "checkBox1";
                        this.checkBox1.Size = new System.Drawing.Size(104, 24);
                        this.checkBox1.TabIndex = 1;
                        this.checkBox1.Text = "checkBox1";
                        this.checkBox1.UseVisualStyleBackColor = true;
                        // 
                        // checkBox2
                        // 
                        this.checkBox2.Location = new System.Drawing.Point(25, 176);
                        this.checkBox2.Name = "checkBox2";
                        this.checkBox2.Size = new System.Drawing.Size(104, 24);
                        this.checkBox2.TabIndex = 2;
                        this.checkBox2.Text = "checkBox2";
                        this.checkBox2.UseVisualStyleBackColor = true;
                        // 
                        // checkBox3
                        // 
                        this.checkBox3.Location = new System.Drawing.Point(25, 207);
                        this.checkBox3.Name = "checkBox3";
                        this.checkBox3.Size = new System.Drawing.Size(104, 24);
                        this.checkBox3.TabIndex = 3;
                        this.checkBox3.Text = "checkBox3";
                        this.checkBox3.UseVisualStyleBackColor = true;
                        // 
                        // button2
                        // 
                        this.button2.Location = new System.Drawing.Point(172, 21);
                        this.button2.Name = "button2";
                        this.button2.Size = new System.Drawing.Size(127, 76);
                        this.button2.TabIndex = 4;
                        this.button2.Text = "button2";
                        this.button2.UseVisualStyleBackColor = true;
                        // 
                        // MainForm
                        // 
                        this.AutoScaleDimensions = new System.Drawing.SizeF(6 F, 13 F);
                        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                        this.ClientSize = new System.Drawing.Size(325, 261);
                        this.Controls.Add(this.button2);
                        this.Controls.Add(this.checkBox3);
                        this.Controls.Add(this.checkBox2);
                        this.Controls.Add(this.checkBox1);
                        this.Controls.Add(this.button1);
                        this.Name = "MainForm";
                        this.Text = "Test app 1";
                        this.ResumeLayout(false);
                }
                private System.Windows.Forms.Button button2;
                private System.Windows.Forms.CheckBox checkBox3;
                private System.Windows.Forms.CheckBox checkBox2;
                private System.Windows.Forms.CheckBox checkBox1;
                private System.Windows.Forms.Button button1;
        }
}

Und wie kann man es für die Wechselbeziehung mit MT5 verwenden?

 

Das heißt, ich habe 5 Steuerelemente in einem Formular. Wie schließe ich sie nun an MT5 an?

 
Реter Konow:

Und wie kann dies als Schnittstelle zum MT5 genutzt werden?

Leider kann ich nicht weiter gehen, als ich hier geschrieben habehttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Aber wenn Sie wissen, wie das Ereignismodell in Windows funktioniert und Erfahrung mit Compilern mit Formular-Designern haben, dann ist alles überall gleich

ZS: dies ist das dritte Mal, dass ich Sharp gesehen habe, aber ich habe gute Erfahrungen mit Delphi gemacht, ich sehe keinen Unterschied, alles funktioniert genau gleich, was nicht funktioniert, wird beim ersten Mal gegoogelt

Мой подход. Ядро - Движок.
Мой подход. Ядро - Движок.
  • 2018.12.11
  • www.mql5.com
В этой ветке, я хочу рассказать о своем подходе в программировании. Заранее предупреждаю, - здесь не будет обсуждений GUI...
 
Igor Makanu:

Leider kann ich nicht weiter gehen, als ich es hier getan habehttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Aber wenn Sie wissen, wie das Ereignismodell in Windows funktioniert und Erfahrung mit Compilern mit Formular-Designern haben, dann ist alles überall gleich

SZZ: dies ist das dritte Mal, dass ich Sharp sehe, aber ich habe gute Erfahrungen mit Delphi gemacht, ich sehe keinen Unterschied, alles funktioniert genau gleich, was nicht funktioniert, wird beim ersten Mal gegoogelt

  1. Ich muss Ereignisse beim Drücken von Schaltflächen und Kontrollkästchen an MT5 senden.
  2. Ich muss den Zustand eines Kontrollkästchens oder einer Schaltfläche in einem Formular programmgesteuert ändern.
Wie kann man das tun?


PS. Programmatisch, das heißt vom MT5 aus. Der Benutzer des MT5-Programms sollte den Status des Kontrollkästchens oder der Schaltfläche im Formular ändern.