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

 
手を取り合って、追加のライブラリを軸に、その使い方を知っているプログラマーは少ないです。

自分でライブラリを書けるプログラマも少ない。

GUIを求めるユーザーはたくさんいます。しかし、彼らにとっては、すべてがシンプルであるべきなのです。2×2のようにシンプルに。
そのためには、vs.Arc~en~Cielのような作業ができる別プロジェクトを 作る必要があります。

ピーター 必要だと思うことをやってください。需要を判断するのは、統計を取ってからでいいんです。というか、一緒にアカウント統計収集の指標を作ろうとしたんですよ。ただ、計算の部分がまだ終わっていないので、面倒くさかったんです。
すでにできている私のGUIより、あなたのGUIの方がプログラミングしやすいとは思いますけど。
ただ、私は常に修正しているので、自分でコードを管理する方が楽なんです、他の人に頼みたくないんです。


しかし、あなたの仕事を評価してくれる本当のユーザーはほとんどいないのです。自分の経験から言っています。
専門家のための無料ライブラリーを作りました。情報レディライブラリー。Expert Advisor の情報のみを表示し、任意の Expert Advisor を管理することができます。
ダウンロード数は数百件。何度かお礼を言われたことがあります。中国、ブラジル、タイ、ロシアがダウンロードしています。それだけです。

あなたのライブラリは、素敵なインターフェイスを求める売り手にとって便利なものでしょう。しかし、スピードやブレーキは不具合と比較しなければならないでしょう。遭遇したことがあります。

それ以外はどうでもいいのです。
自分のことは自分でやる。証明する必要はない。
 
Vladislav Andruschenko:
手先が器用で、追加のライブラリを使いこなし、その使い方を知っているプログラマーはごくわずかです。

自分でライブラリを書けるプログラマも少ない。

GUIを求めるユーザーはたくさんいます。しかし、彼らにとっては、すべてがシンプルであるべきなのです。2×2のようにシンプルに。
そのためには、vs.Arc~en~Cielのような作業ができる別プロジェクトを作る必要があります。

ピーター 必要だと思うことをやってください。統計を取ってからでないと、需要は判断できない。というか、一緒にアカウント統計収集の指標を作ろうとしたんですよ。ただ、計算の部分がまだ終わっていないので、面倒くさかったんです。
すでにできている私のGUIより、あなたのGUIの方がプログラミングしやすいとは思いますけど。
ただ、私は常に修正しているので、自分でコードを管理する方が楽なんです、他の人に頼みたくないんです。


しかし、あなたの仕事を評価してくれる本当のユーザーはほとんどいないのです。自分の経験から言っています。
専門家のための無料ライブラリーを作りました。情報レディライブラリー。Expert Advisor の情報のみを表示し、任意の Expert Advisor を管理することができます。
ダウンロード数は数百件。何度かお礼を言われたことがあります。中国、ブラジル、タイ、ロシアがダウンロードしています。それだけです。

あなたのライブラリは、素敵なインターフェイスを求める売り手にとって便利なものでしょう。しかし、スピードやブレーキは不具合と比較しなければならないでしょう。遭遇したことがあります。

それ以外はどうでもいいのです。
自分のことは自分でやる。証明する必要はない。


ありがとうございます。開発者であり、豊富な経験を持つ営業マンであるあなたの意見は、私にとって非常に重要なものです。

 
Реter Konow:


ありがとうございます。開発者、販売者として豊富な経験を持つあなたの意見は、私にとって非常に重要なものです。

ありがとうございます。
主な目標は、ライブラリがExpert Advisorの主要なアルゴリズムに影響を与えないようにすることです。
ライブラリー作りの際、最初に直面したのがこの点でした。
 
Vladislav Andruschenko:
ありがとうございます。
主な目標は、ライブラリがメインのEAアルゴリズムに影響を与えないようにすることです。
ライブラリー作りの際、最初に直面したのがこの点でした。

私のコネクションは、すべて純粋に外部とのものです。何ら影響を与えることはありません。

マークアップ言語でGUIを描かれたのですね。インジケーター "エンジン "が搭載しています。

EAに2つのファイルを接続し、接続ファイルを記入しました。

GUIとExpert Advisorでエンジンを始動させました。

そして、すべてがうまくいく。

 
Vladislav Andruschenko:
...

自分でライブラリを書けるプログラマも少ない。

...

私はそうは思いません。MQLでプログラミングする人は、プロでなくても、長くやっていれば、むしろオリジナルの機能が多くなっています。それを一括して、ライブラリという形でファイルに変換するのは簡単です。ほとんどの方ができているのではないでしょうか。

 
khorosh:

私はそうは思いません。MQLでプログラミングをしている人は、長くやっていればプロでなくても、みんな自分オリジナルの関数をたくさん蓄積しています。まとめてライブラリーとしてファイル化するのも簡単です。ほとんどの人ができると思います。

機能の集合体の話ではない。GUI付きのライブラリのことです。私を信じてください。編成が複雑なんです。そして、ピーターは素晴らしい仕事をしてくれました。
 

もう一度、この作業を繰り返す。

  1. MTプログラムは、ウィンドウズ・フォームの要素の状態(押された/押されていない)を変更する必要があります。
  2. MTプログラムでは、ウィンドウズフォームのボタンの色を変更する必要があります。
  3. MTプログラムは、ウィンドウズ・フォームの入力フィールドから テキストを受け付ける必要があります。
  4. MTプログラムは、ウィンドウズ・フォームの入力フィールドにテキストを設定する必要があります。
  5. MTプログラムは、ウィンドウズ・アプリケーションのウィンドウを開閉する必要があります。

とてもわかりやすいですね。C#で2つの簡単なフォームを描画する必要があります。ボタン、入力フィールド、チェックボックスがあるはずです。DLLを追加する。MT5と接続します。

MTでアナログを作る予定です。同じ形、同じ要素で、同じ機能をする。次に、品質と発展性の観点から、ソリューションを比較してみましょう。

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

これが私の解決策です。


//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Expert Advisorの制御コード。

void OnTimer()
  { 
   static int q,q2,q3,q4,q5;    q++; q2++; q3++; q4++; q5++;
   //-----------------------------------------------------------------
   //Реализуем изменение цвета кнопки внутри формы.
   //-----------------------------------------------------------------
   if(q == 1)E_Window_1_Button_1(M_COLOR,C'245,245,245');
   if(q == 2)E_Window_1_Button_1(M_COLOR,C'245,0,0');
   if(q == 3)q = 0;
   //-----------------------------------------------------------------
   //Реализуем программное нажатие/отжатие/блокировку кнопки.
   //-----------------------------------------------------------------
   if(q2 == 1)E_Window_1_Button_2(STATE,ON);  
   if(q2 == 2)E_Window_1_Button_2(STATE,LOCKED_ON);
   if(q2 == 3)E_Window_1_Button_2(STATE,OFF);
   if(q2 == 4)E_Window_1_Button_2(STATE,LOCKED_OFF);
   if(q2 == 5)q2 = 0;
   //-----------------------------------------------------------------
   //Реализуем программное нажатие/отжатие/блокировку чекбоксов.
   //-----------------------------------------------------------------
   if(q3 == 1){E_Window_1_Checkbox_1(STATE,ON);         E_Window_1_Checkbox_2(STATE,LOCKED_ON);  E_Window_1_Checkbox_3(STATE,OFF);} 
   if(q3 == 2){E_Window_1_Checkbox_1(STATE,LOCKED_ON);  E_Window_1_Checkbox_2(STATE,OFF);        E_Window_1_Checkbox_3(STATE,ON);}
   if(q3 == 3){E_Window_1_Checkbox_1(STATE,OFF);        E_Window_1_Checkbox_2(STATE,ON);         E_Window_1_Checkbox_3(STATE,LOCKED_ON);}
   if(q3 == 4)q3 = 0;
   //-----------------------------------------------------------------
   //Реализуем изменение текста в поле ввода:
   //-----------------------------------------------------------------
   E_Window_1_Edit_box_1("Current text: " + MathRand());
   //-----------------------------------------------------------------
   //Реализуем изменение цвета текста в поле ввода.
   //-----------------------------------------------------------------
   if(q4 == 1)E_Window_1_Edit_box_1(T_COLOR,C'145,245,245');
   if(q4 == 2)E_Window_1_Edit_box_1(T_COLOR,C'245,10,0');
   if(q4 == 3)E_Window_1_Edit_box_1(T_COLOR,C'245,20,50');
   if(q4 == 4)E_Window_1_Edit_box_1(T_COLOR,C'245,130,0');
   if(q4 == 5)E_Window_1_Edit_box_1(T_COLOR,C'25,40,20');
   if(q4 == 6)E_Window_1_Edit_box_1(T_COLOR,C'245,170,0');
   if(q4 == 7)E_Window_1_Edit_box_1(T_COLOR,C'245,110,110');
   if(q4 == 8)E_Window_1_Edit_box_1(T_COLOR,C'245,255,0');
   if(q4 == 9)q4 = 0;
   //-----------------------------------------------------------------
   //Реализуем поочередное закрытие/открытие окон:
   //-----------------------------------------------------------------
   if(q5 == 1)W_Window_2(close);
   if(q5 == 5)W_Window_2();
   if(q5 == 10)q5 = 0;
   //-----------------------------------------------------------------
  }
//+------------------------------------------------------------------+

下記で接続されているファイル

1.テスト用EAファイル(EAsフォルダにインストール、開く、保存、コンパイル、チャート上に配置)。

2.外部接続ファイル(インクルードフォルダにインストールしてください)。

3.接続のプロパティファイル(同梱のフォルダにインストール)。

4.ウィンドウコード(表示のみ)を含むフォーラムサンプル2ファイル。

5.エンジン(indicatorsフォルダにインストール。 テストEAがあるチャートに置く)。

 
WindowsのフォームをDLLで接続する問題については、対戦相手の方から解決策を提示していただければと思います。
 
Реter Konow:
WindowsのフォームをDLLで接続する問題については、対戦相手の方々の解決策を提示していただければと思います。

この "特別なオリンピック "に参加しているのは、あなただけという気がしています :-)

 

付録でお願いします。Expert Advisorを起動するとウィンドウが開き、その中に2つのボタン、2つのテキストボックス、チェックボックスがあります。ボタンの色と最初のテキストボックスのテキストは、1秒間に1回ずつ変化します。2つ目のテキストフィールドにテキストが入力されると、Expert Advisorはイベントメッセージとこのテキストを含むアラートを開く。ボタンを押すとアラートも開き、1つ目のボタンでform-2が、2つ目のボタンでform-2が閉じます。フォーム-2をクロスで閉じることもできます。メインフォーム(フォーム1)はクロスで閉じることができず、EAを切断すると消えます。また、チェックボックスはアラートを開き、そこから2種類のイベントが 発生します。1と2 - チェックボックスとチェックをはずす。

ほとんどの時間は、3年以上何もしていないC#を覚えることと(そこで何か知っていれば:)、イベントを渡すためのクラスの開発に費やしましたが、これは普遍的でどんなプロジェクトでも使うことができるものです。そのため、GUIを作成する際には、分単位でカウントされるようになりました;)。

内部でどれだけ時間がかかっているかというと、EAにイベントを渡すためにクラスメソッドを 呼び出す必要があるのですが、その行数は1行です。EAからコントロールを制御できるようにするためには、フォームクラスとイベント転送クラスの2つのメソッドを、それぞれ1行ずつ記述する必要があります。

私は彼らのEAでチェックボックスコントロールを作っていません - 私は彼らに退屈している、彼らはすでに色とテキストを設定している - 両方テキストパラメータとintsです。色はRGBで伝送されますが、おそらく1つの変数でできるはずで、深く掘り下げてはいません。

そして、C# と FindowsForms をよく知っている人なら、2 倍簡単にできるだろう - プロパティを設定する 2 つのメソッドがなくても、1 つだけあれば、もしかしたらもっといいものができるかもしれない、という仮定があります。

さて、C#とFindowsFormsの無限の世界への門は開かれています。


ファイル:
理由: