私のアプローチコアはエンジンです。 - ページ 59

 
一人の男が3000年間、自分の発案したことを見せずに「何か」を続けてきたのに、人々は「道を間違えた」と非難する :)
Peter、Peter the Great Coder、私の理解が正しければ、あなたはマーケターなのですね?
 
jdjahfkahjf:
一人の男が3000年間、自分の発案したことを見せずに「何か」を続けてきたのに、人々は「道を間違えた」と非難する :)
Peter、Peter the Great Coder、私の理解が正しければ、あなたはマーケターなのですね?

見せずに、しかし同時に、その原理をはっきりと説明する。それが、「道が違う」と反対されることです。

しかも、それは作者にとってではなく、異議を唱える人々にとって「間違い」なのである。ニワトリのような脳をしていて、どこでどんなモノを作ったか、どこで誰がそれを参照しているか、配列の各セルは何を意味しているか、どこから変化できて、どこから変化できないか...を覚えていないのです。反対派が激怒するのも無理はない。プログラム中の数千のオブジェクトや参照を簡単に覚えられるように記憶力を鍛える代わりに、愚かな人々はアクセス権を自分で切り、いくつかの区別、インターフェース、ポリモーフィックな関数を定義する...。ツァーリ政権下のように自分たちを拷問する、えー...。

 
Georgiy Merts:

そして、「間違っている」のは、作者にとっても、異議を唱える人にとっても、ただしくは「間違っている」のです。彼らは鶏の脳を持っていて、どこでどんなものを作ったか、どこで誰がそれを参照したか、配列の各セルは何を意味するか、どこから変更できるか、どこからできないか...を覚えていないのです。反対派が激怒するのも無理はない。プログラム中の数千のオブジェクトや参照を簡単に覚えられるように記憶力を鍛える代わりに、愚かな人々はアクセス権を自分で切り、いくつかの区別、インターフェース、ポリモーフィックな関数を定義する...。ツァーリ政権下のように自分たちを拷問する、えー...。

ということです。

トピックスターターは、彼のトピックでは、一晩、誰がどこから何を得たか覚えて管理し、心理学を議論し、健康のためにメイクアップとドリンクをみっともない手配、聴衆を引き付けるための才能を持っている!........................................。

ZS: ご健勝おめでとうございます。幸運と健康と長寿を祈ります。

 
Georgiy Merts:

見せるのではなく、その原理を明確に説明することによって。これらは反論であり、「道が間違っている」と言うために使われる。

しかも、それは作者にとってではなく、異議を唱える人々にとって「間違い」なのである。彼らはチキン脳で、どこでどんなモノを作ったか、どこで誰がそれを参照しているか、配列の各セルは何を意味しているか、どこから変化できるか、どこから変化できないか...を覚えていないのです。反対派が激怒するのも無理はない。プログラム中の数千のオブジェクトや参照を簡単に覚えられるように記憶力を鍛える代わりに、愚かな人々はアクセス権を自分で切り、いくつかの区別、インターフェース、ポリモーフィックな関数を定義する...。ツァーリ政権下のように自分たちを拷問する、えっ...。

上手に暗記するためには、母国語でプログラミングをする必要があるのです。いっそのこと、2ヶ国語で。そうすると、メモリが100%働くんです。

このシンプルな真実は理解されない。固定観念が邪魔をする。


また、ルールが少ないので、プログラム中の自分の構図をよりよく記憶することができます。だから、ごく少数のルールで自分なりのやり方を考案したのです。たくさん作るためには

 
Igor Makanu:

ということです。

トピックスターターは、彼のトピックでは、一晩、誰がどこから何を得たか覚えて管理し、心理学を議論し、彼の健康のためにメイクアップとドリンクをみっともない手配、聴衆を引き付けるための才能を持っています!それはあなたのためのものです。

ZS: ご健勝おめでとうございます。幸運と健康と長寿を祈ります。

今、C#をダウンロードしてインストールしているところです。

この疑問は、実際に扱ってみたいと思います。

どれだけ簡単か見てみましょう。

 
Реter Konow:

記憶することが得意になるためには、母国語でプログラミングする必要があります。いっそのこと、2ヶ国語で。そうすると、記憶が100%働きます。

このシンプルな真実は理解されない。固定観念が邪魔をする。

いつもステレオタイプな話ばかりですね。客観的に考えよう。ほら、学校の机の上にいる未来のプログラマーたちは、ほとんどC++を勉強してコンテストに参加しているんですよ。

世界規模の小学生や学生向けの国際コンテストは、すべてC++やJava、PascalやC#が存在するかどうかは知らないが、そのようなものばかりだ。しかし、C++が君臨しているのは、WEB用のツールは別として。

どうでしょう、C++やOOPスタイルにはみんな馴染んでいますが、プログラマーの中にはFXを扱うプログラマーは非常に 少ないですし、FXを扱う人の数も少ないです。アメリカ人でさえ、FXが何であるか知らない人が多い。

1000人のプログラマーのうち、アルゴトレードをやったことのあるプログラマーは1人もいないかもしれません。

 

C#をインストールしました。プロジェクトを 開いた。フォームを作成し、2つのボタンと3つのチェックボックスを追加しました。

以下は、エディタでのコードです。

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

質問:なぜ1つのボタンに関数があり、2つ目のボタンとチェックボックスの関数はどこにあるのでしょうか?

こんなコードを発見。

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

また、MT5との連動はどのようにすればよいのでしょうか?

 

つまり、1つのフォームに5つのコントロールが あるのです。次にMT5と接続するにはどうしたらいいですか?

 
Реter Konow:

また、これをどのようにMT5とのインターフェースに利用できるのでしょうか?

残念ですが、ここに書いた以上のことはできませんhttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

しかし、Windowsのイベントモデルの仕組みを知っていて、フォームデザイナを使ってコンパイラを操作した経験があれば、すべてどこでも同じです

ZS: シャープを見るのは3回目ですが、私はDelphiで素晴らしい経験をしました。

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

残念ですが、ここより先には進めませんhttps://www.mql5.com/ru/forum/293630/page57#comment_9851502

しかし、Windowsのイベントモデルの仕組みを知っていて、フォームデザイナを使ってコンパイラを操作した経験があれば、すべてどこでも同じです

SZZ: シャープを見るのは3回目ですが、Delphiでは素晴らしい経験をしました。違いがわかりません。すべてがまったく同じように動作し、動作しないものは最初にググればわかります

  1. ボタンやチェックボックスを押したときのイベントをMT5に送りたいのですが、どうすればいいですか?
  2. フォームのチェックボックスやボタンの状態をプログラムで変更する必要があります。
どうすればいいのか?


PS.プログラム的には、MT5からということです。MT5プログラムでは、ユーザーがフォームのチェックボックスやボタンの状態を変更する必要があります。