Mi enfoque. El núcleo es el motor. - página 59

 
Un hombre lleva 3.000 años haciendo "algo" sin mostrar su idea, pero la gente le reprocha que va por el camino equivocado :)
Peter, Peter el Gran Codificador, si he entendido bien, ¿eres un vendedor?
 
jdjahfkahjf:
Un hombre lleva 3.000 años haciendo "algo" sin mostrar su idea, pero la gente le reprocha que va por el camino equivocado :)
Peter, Peter el Gran Codificador, si he entendido bien, ¿eres un vendedor?

Sin mostrar, pero al mismo tiempo describiendo claramente sus principios. Eso es lo que se objeta, eso es lo que se dice, que "la carretera está mal".

Además, está "mal" no para el autor, sino para los que se oponen. Tienen cerebros de pollo y no pueden recordar dónde y qué objetos crearon, dónde y quién se refiere a ellos, qué significa cada célula de la matriz, desde dónde pueden cambiar y dónde no... Es comprensible que los opositores estén indignados. En lugar de entrenar su memoria, para poder memorizar fácilmente un par de miles de objetos y referencias en el programa, la gente tonta recorta sus propios derechos de acceso, define algunas distinciones, algunas interfaces, algunas funciones polimórficas... Se torturan, como bajo el régimen zarista, eh...

 
Georgiy Merts:

Y, "mal" es sólo para el autor, y para los que se oponen. Tienen cerebros de pollo, y no pueden recordar dónde y qué objetos crearon, dónde y quién se refiere a ellos, qué significa cada celda de la matriz, desde dónde pueden cambiar, dónde no... Es comprensible que los opositores estén indignados. En lugar de entrenar su memoria, para poder memorizar fácilmente un par de miles de objetos y referencias en el programa, la gente tonta recorta sus propios derechos de acceso, define algunas distinciones, algunas interfaces, algunas funciones polimórficas... Se torturan, como bajo el régimen zarista, eh...

eso es todo:

¡El iniciador del tema tiene un talento para atraer a la audiencia, que luego en su tema organiza un caos, de la noche a la mañana logró recordar quién sacó qué de dónde, discutir la psicología, el maquillaje y la bebida para la salud!

ZS: ¡Felicidades por la buena salud! ¡Buena suerte, buena salud y larga vida!

 
Georgiy Merts:

No mostrándolo, sino describiendo sus principios con toda claridad. Estas son las objeciones, y se utilizan para decir que "el camino está mal".

Además, está "mal" no para el autor, sino para los que se oponen. Tienen cerebros de pollo y no pueden recordar dónde y qué objetos crearon, dónde y quién se refiere a ellos, qué significa cada celda de la matriz, desde dónde pueden cambiar, dónde no... Es comprensible que los opositores estén indignados. En lugar de entrenar su memoria, para poder memorizar fácilmente un par de miles de objetos y referencias en el programa, la gente tonta recorta sus propios derechos de acceso, define algunas distinciones, algunas interfaces, algunas funciones polimórficas... Se torturan, como bajo el régimen zarista, eh...

Para memorizar bien, hay que programar en la lengua materna. O mejor aún, en dos idiomas. Entonces la memoria funciona al 100%.

Esta simple verdad no se puede entender. Los estereotipos se interponen.


Y con menos reglas, se recuerdan mejor sus propias construcciones en el programa. Por eso he inventado mi propio enfoque con un número insignificante de reglas. Para hacer un montón de ellos.

 
Igor Makanu:

eso es todo:

¡El iniciador del tema tiene un talento para atraer a la audiencia, que luego en su tema organiza un caos, de la noche a la mañana logró recordar quién sacó qué de dónde, discutir la psicología, el maquillaje y la bebida para la salud!

ZS: ¡Felicidades por la buena salud! ¡Buena suerte, buena salud y larga vida!

Estoy descargando e instalando C# en este momento.

Quiero tratar esta cuestión en la práctica.

Veamos lo fácil que es.

 
Реter Konow:

Para ser bueno recordando, hay que programar en la lengua materna. O mejor aún, en dos idiomas. Entonces tu memoria funciona al 100%.

Esta simple verdad no se puede entender. Los estereotipos se interponen.

Siempre se habla de estereotipos. Pensemos objetivamente. Mira, todos los futuros programadores de los pupitres de las escuelas están estudiando C++ en su mayoría y participando en concursos.

Todos los concursos internacionales para escolares y estudiantes de la escala mundial son en C++, Java, no sé si Pascal o C# existen o no. Pero el C++ reina, sin contar las herramientas para la WEB.

Todo el mundo se siente cómodo con C++ y el estilo OOP, pero hay muy pocos programadores de forex entre los programadores, al igual que el número de los que se ocupan de forex. Muchos ni siquiera saben lo que es el Forex, incluso los estadounidenses.

Entre mil programadores es posible que no encuentres ni un solo programador que haya hecho algotrading.

 

Instalado C#. Abrir un proyecto. Hice un formulario y le añadí dos botones y tres casillas de verificación.

Aquí está el código en el 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)
                {
                        
                }
        }
}

Pregunta: ¿Por qué hay una función para un botón y dónde están las funciones para el segundo botón y las casillas de verificación?

Encontré este código:

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

¿Y cómo utilizarlo para la interrelación con MT5?

 

Es decir, tengo 5 controles en un formulario. ¿Cómo los conecto a MT5 a continuación?

 
Реter Konow:

¿Y cómo se puede utilizar esto para interactuar con MT5?

Por desgracia, no puedo ir más allá de lo que he escrito aquíhttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Pero si conoces el funcionamiento del modelo de eventos en Windows y tienes experiencia trabajando con compiladores con diseñadores de formularios, entonces todo es igual en todas partes

ZS: es la tercera vez que veo a Sharp, pero he tenido una gran experiencia con Delphi, no veo ninguna diferencia, todo funciona exactamente igual, lo que no funciona se googlea la primera vez

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

Por desgracia, no puedo ir más allá de lo que hice aquíhttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Pero si conoces el funcionamiento del modelo de eventos en Windows y tienes experiencia trabajando con compiladores con diseñadores de formularios, entonces todo es igual en todas partes

SZZ: es la tercera vez que veo a Sharp, pero he tenido una gran experiencia con Delphi, no veo la diferencia, todo funciona exactamente igual, lo que no funciona se googlea la primera vez

  1. Necesito enviar el evento de pulsar botones y casillas de verificación a MT5.
  2. Necesito cambiar el estado de una casilla de verificación o de un botón en un formulario mediante programación.
¿Cómo hacerlo?


PS. Programáticamente, quiero decir desde MT5. El usuario en el programa MT5 debe cambiar el estado de la casilla de verificación o del botón en el formulario.