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

 
Un homme fait "quelque chose" depuis 3000 ans sans montrer sa trouvaille, mais les gens lui reprochent de prendre le mauvais chemin :)
Peter, Peter le grand codeur, si je comprends bien, vous êtes un spécialiste du marketing ?
 
jdjahfkahjf:
Un homme fait "quelque chose" depuis 3000 ans sans montrer sa trouvaille, mais les gens lui reprochent de prendre le mauvais chemin :)
Peter, Peter le grand codeur, si je comprends bien, vous êtes un spécialiste du marketing ?

Sans montrer, mais en même temps en décrivant très clairement leurs principes. C'est ce à quoi vous vous opposez, c'est ce qu'ils disent, que "la route est mauvaise".

En outre, elle est "mauvaise" non pas pour l'auteur, mais pour ceux qui s'y opposent. Ils ont un cerveau de poule mouillée et ne peuvent pas se rappeler où et quels objets ils ont créé, où et qui s'y réfère, ce que chaque cellule du tableau signifie, où ils peuvent changer et où pas... Il est compréhensible que les opposants soient outrés. Au lieu d'entraîner leur mémoire, afin qu'ils puissent facilement mémoriser quelques milliers d'objets et de références dans le programme, les gens stupides découpent leurs propres droits d'accès, définissent quelques distinctions, quelques interfaces, quelques fonctions polymorphes... Ils se torturent, comme sous le régime tsariste, hein...

 
Georgiy Merts:

Et, "faux", il ne l'est tout simplement pas pour l'auteur, et pour ceux qui s'y opposent. Ils ont un cerveau de poulet, et ne peuvent pas se rappeler où et quels objets ils ont créés, où et qui s'y réfère, ce que signifie chaque cellule du tableau, où ils peuvent changer, où pas... Il est compréhensible que les opposants soient outrés. Au lieu d'entraîner leur mémoire, afin qu'ils puissent facilement mémoriser quelques milliers d'objets et de références dans le programme, les gens stupides découpent leurs propres droits d'accès, définissent quelques distinctions, quelques interfaces, quelques fonctions polymorphes... Ils se torturent, comme sous le régime tsariste, hein...

c'est tout :

L'auteur du sujet a le don d'attirer un public, qui ensuite, dans son sujet, organise un capharnaüm. Du jour au lendemain, il a réussi à se souvenir de qui a obtenu quoi de qui, à discuter de psychologie, à se maquiller et à boire pour sa santé !

ZS : Félicitations pour votre bonne santé ! Bonne chance, bonne santé et longue vie !

 
Georgiy Merts:

En ne le montrant pas, mais en décrivant très clairement ses principes. Ce sont les objections, et elles sont utilisées pour dire que "la route est mauvaise".

En outre, elle est "mauvaise" non pas pour l'auteur, mais pour ceux qui s'y opposent. Ils ont un cerveau de poulet et ne peuvent pas se rappeler où et quels objets ils ont créés, où et qui s'y réfère, ce que signifie chaque cellule du tableau, d'où ils peuvent changer, où pas... Il est compréhensible que les opposants soient outrés. Au lieu d'entraîner leur mémoire, afin qu'ils puissent facilement mémoriser quelques milliers d'objets et de références dans le programme, les gens stupides découpent leurs propres droits d'accès, définissent quelques distinctions, quelques interfaces, quelques fonctions polymorphes... Ils se torturent, comme sous le régime tsariste, hein...

Pour bien mémoriser, il faut programmer dans sa langue maternelle. Ou mieux encore, en deux langues. Alors la mémoire fonctionne à 100 %.

Cette simple vérité ne peut être comprise. Les stéréotypes font obstacle.


Et avec moins de règles, leurs propres constructions dans le programme sont mieux mémorisées. C'est pourquoi j'ai inventé ma propre approche avec un nombre infime de règles. Afin d'en faire beaucoup.

 
Igor Makanu:

c'est tout :

L'auteur du sujet a le talent d'attirer un public, qui ensuite dans son sujet organise une pagaille, du jour au lendemain a réussi à se rappeler qui a obtenu quoi d'où, discuter de psychologie, se maquiller et boire pour sa santé !

ZS : Félicitations pour votre bonne santé ! Bonne chance, bonne santé et longue vie !

Je suis en train de télécharger et d'installer C# en ce moment.

Je veux traiter cette question en pratique.

Voyons à quel point c'est facile.

 
Реter Konow:

Pour être bon dans la mémorisation, vous devez programmer dans votre langue maternelle. Ou mieux encore, en deux langues. Alors votre mémoire fonctionne à 100 %.

Cette simple vérité ne peut être comprise. Les stéréotypes font obstacle.

Vous parlez toujours de stéréotypes. Réfléchissons objectivement. Regardez, tous les futurs programmeurs sur les bancs de l'école étudient surtout le C++ et participent à des concours.

Tous les concours internationaux pour les écoliers et les étudiants de l'échelle mondiale sont en C++, Java, je ne sais pas si Pascal ou C# existent ou non. Mais le C++ règne, sans compter les outils pour le WEB.

Qu'en pensez-vous ? Tout le monde est à l'aise avec le C++ et le style OOP. Mais il y a très peu de programmeurs forex parmi les programmeurs, tout comme le nombre de ceux qui s'occupent de forex. Beaucoup ne savent même pas ce qu'est le Forex, même les Américains.

Sur un millier de programmeurs, vous ne trouverez peut-être pas un seul programmeur qui a fait de l'algotrading.

 

Installé C#. Ouverture d'un projet. J'ai créé un formulaire et j'y ai ajouté deux boutons et trois cases à cocher.

Voici le code dans l'éditeur :

/*
 * 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)
                {
                        
                }
        }
}

Question : Pourquoi y a-t-il une fonction pour un bouton et où sont les fonctions pour le deuxième bouton et les cases à cocher ?

J'ai trouvé ce code :

/*
 * 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;
        }
}

Et comment l'utiliser en interrelation avec MT5 ?

 

C'est-à-dire que j'ai 5 contrôles sur un formulaire. Comment les connecter ensuite à MT5 ?

 
Реter Konow:

Et comment cela peut-il être utilisé pour s'interfacer avec MT5 ?

Hélas, je ne peux pas aller plus loin que ce que j'ai écrit icihttps://www.mql5.com/ru/forum/293630/page57#comment_9851502.

Mais si vous connaissez le fonctionnement du modèle événementiel de Windows et que vous avez l'habitude de travailler avec des compilateurs et des concepteurs de formulaires, alors tout est identique partout.

ZS : c'est la troisième fois que je vois Sharp, mais j'ai eu une excellente expérience avec Delphi, je ne vois pas de différence, tout fonctionne exactement de la même manière, ce qui ne fonctionne pas est googlé la première fois.

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

Hélas, je ne peux pas aller plus loin que ce que j'ai fait icihttps://www.mql5.com/ru/forum/293630/page57#comment_9851502.

Mais si vous connaissez le fonctionnement du modèle événementiel de Windows et que vous avez l'expérience du travail avec les compilateurs et les concepteurs de formulaires, alors tout est identique partout.

SZZ : c'est la troisième fois que je vois Sharp, mais j'ai eu une excellente expérience avec Delphi, je ne vois pas la différence, tout fonctionne exactement de la même manière, ce qui ne fonctionne pas est googlé dès la première fois.

  1. J'ai besoin d'envoyer l'événement de pression des boutons et des cases à cocher à MT5.
  2. J'ai besoin de changer l'état d'une case à cocher ou d'un bouton dans un formulaire de manière programmatique.
Comment faire ?


PS. De manière programmatique, je veux dire à partir de MT5. Dans le programme MT5, l'utilisateur doit modifier l'état de la case à cocher ou du bouton dans le formulaire.