Il mio approccio. Il nucleo è il motore. - pagina 59

 
Un uomo ha fatto "qualcosa" per 3000 anni senza mostrare la sua invenzione, ma la gente lo rimprovera di aver sbagliato strada :)
Peter, Peter il grande codificatore, se ho capito bene, sei un marketer?
 
jdjahfkahjf:
Un uomo ha fatto "qualcosa" per 3000 anni senza mostrare la sua invenzione, ma la gente lo rimprovera di aver sbagliato strada :)
Peter, Peter il grande codificatore, se ho capito bene, sei un marketer?

Senza mostrare, ma allo stesso tempo descrivendo molto chiaramente i loro principi. Questo è ciò che si obietta, questo è ciò che si dice, che "la strada è sbagliata".

Inoltre, è "sbagliato" non per l'autore, ma per coloro che si oppongono. Hanno cervelli simili a quelli dei polli e non possono ricordare dove e quali oggetti hanno creato, dove e chi si riferisce ad essi, cosa significa ogni cella della matrice, da dove possono cambiare e dove no... È comprensibile che gli oppositori siano indignati. Invece di allenare la loro memoria, in modo che potessero facilmente memorizzare un paio di migliaia di oggetti e riferimenti nel programma, la gente sciocca taglia i propri diritti di accesso, definisce alcune distinzioni, alcune interfacce, alcune funzioni polimorfiche... Si torturano, come sotto il regime zarista, eh...

 
Georgiy Merts:

E, "sbagliato" non è solo per l'autore, e per coloro che si oppongono. Hanno cervelli di gallina, e non possono ricordare dove e quali oggetti hanno creato, dove e chi si riferisce a loro, cosa significa ogni cella nella matrice, dove possono cambiare da, dove non... È comprensibile che gli oppositori siano indignati. Invece di allenare la loro memoria, in modo che potessero facilmente memorizzare un paio di migliaia di oggetti e riferimenti nel programma, la gente sciocca taglia i propri diritti di accesso, definisce alcune distinzioni, alcune interfacce, alcune funzioni polimorfiche... Si torturano, come sotto il regime zarista, eh...

questo è tutto:

Il topicstarter ha un talento per attirare un pubblico, che poi nel suo topic organizza una baraonda, durante la notte è riuscito a ricordare chi ha ottenuto cosa da dove, discutere di psicologia, truccarsi e bere per la sua salute!

ZS: Congratulazioni per la buona salute! Buona fortuna, buona salute e lunga vita!

 
Georgiy Merts:

Non mostrandolo, ma descrivendo i suoi principi molto chiaramente. Queste sono le obiezioni, e vengono usate per dire che "la strada è sbagliata".

Inoltre, è "sbagliato" non per l'autore, ma per coloro che si oppongono. Hanno cervelli di gallina e non possono ricordare dove e quali oggetti hanno creato, dove e chi si riferisce ad essi, cosa significa ogni cella della matrice, da dove possono cambiare, dove non... È comprensibile che gli oppositori siano indignati. Invece di allenare la loro memoria, in modo che potessero facilmente memorizzare un paio di migliaia di oggetti e riferimenti nel programma, la gente sciocca taglia i propri diritti di accesso, definisce alcune distinzioni, alcune interfacce, alcune funzioni polimorfiche... Si torturano, come sotto il regime zarista, eh...

Per memorizzare bene, bisogna programmare nella propria lingua madre. O meglio ancora, in due lingue. Allora la memoria funziona al 100%.

Questa semplice verità non può essere compresa. Gli stereotipi si mettono in mezzo.


E con meno regole, le loro costruzioni nel programma sono ricordate meglio. È per questo che ho inventato il mio approccio con un piccolo numero di regole. Per farne un sacco.

 
Igor Makanu:

questo è tutto:

Il topicstarter ha un talento per attirare un pubblico, che poi nel suo topic organizza una baraonda, durante la notte è riuscito a ricordare chi ha ottenuto cosa da dove, discutere di psicologia, truccarsi e bere per la sua salute!

ZS: Congratulazioni per la buona salute! Buona fortuna, buona salute e lunga vita!

Sto scaricando e installando C# al momento.

Voglio trattare questa domanda nella pratica.

Vediamo quanto è facile.

 
Реter Konow:

Per essere bravo a ricordare, devi programmare nella tua lingua madre. O meglio ancora, in due lingue. Allora la tua memoria funziona al 100%.

Questa semplice verità non può essere compresa. Gli stereotipi si mettono in mezzo.

Si parla sempre di stereotipi. Pensiamo obiettivamente. Guarda, tutti i futuri programmatori dai banchi di scuola stanno per lo più studiando C++ e partecipando a concorsi.

Tutti i concorsi internazionali per scolari e studenti della scala mondiale sono in C++, Java, non so se Pascal o C# esistono o no. Ma regna il C++, senza contare gli strumenti per il WEB.

Tutti sono a loro agio con il C++ e lo stile OOP, ma ci sono pochissimi programmatori di forex tra i programmatori, così come il numero di quelli che si occupano di forex. Molti non sanno nemmeno cosa sia il Forex, anche gli americani.

Su un migliaio di programmatori potresti non trovare un solo programmatore che abbia fatto algotrading.

 

Installato C#. Aperto un progetto. Ho creato un modulo e vi ho aggiunto due pulsanti e tre caselle di controllo.

Ecco il codice nell'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)
                {
                        
                }
        }
}

Domanda: perché c'è una funzione per un pulsante e dove sono le funzioni per il secondo pulsante e le caselle di controllo?

Ho trovato questo codice:

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

E come usarlo per l'interrelazione con MT5?

 

Cioè, ho 5 controlli su un modulo. Come li collego poi a MT5?

 
Реter Konow:

E come può essere usato per interfacciarsi con MT5?

Ahimè, non posso andare oltre quello che ho scritto quihttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Ma se sapete come funziona il modello degli eventi in Windows e avete esperienza di lavoro con compilatori con progettisti di moduli, allora tutto è lo stesso ovunque

ZS: è la terza volta che vedo Sharp, ma ho avuto una grande esperienza con Delphi, non vedo alcuna differenza, tutto funziona esattamente allo stesso modo, ciò che non funziona è googlato la prima volta

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

Ahimè, non posso andare oltre quello che ho fatto quihttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

Ma se sapete come funziona il modello degli eventi in Windows e avete esperienza di lavoro con compilatori con progettisti di moduli, allora tutto è lo stesso ovunque

SZZ: è la terza volta che vedo Sharp, ma ho avuto una grande esperienza con Delphi, non vedo la differenza, tutto funziona esattamente allo stesso modo, ciò che non funziona è googlato la prima volta

  1. Ho bisogno di inviare l'evento della pressione dei pulsanti e delle caselle di controllo a MT5.
  2. Ho bisogno di cambiare lo stato della casella di controllo o del pulsante nel modulo programmaticamente.
Come fare?


PS. Programmaticamente, intendo da MT5. L'utente nel programma MT5 dovrebbe cambiare lo stato della casella di controllo o del pulsante nel modulo.