記事"Net FrameworkとC#に基づくエキスパートアドバイザーと指標のためのグラフィカルインターフェイスの開発"についてのディスカッション - ページ 4

 
Реter Konow:

ああ、わかったよ。私はC-シャープに怯えていた、怯えていた... :)))))。

実際、あなたは怖がって当然だった。シャープは、深く入り込んで良いものを作ろうとすると、単純なものではないんだ。

 

例えば、このライブラリの 使用例を現実的に示してください。

 

記事は最高だ!

 

この記事は素晴らしい!

MQLプログラマーなら誰でも、プロフェッショナルで安定したエディターでGUIを作るために、すでにこれを使うことができる。そして、MTに限らず、繰り返しその成果を使うことができる。

Expert AdvisorはControllerと高水準の小包で通信する(「オプション付きの#NN注文を開く」)。Controllerはフォームにメッセージを送る(「テーブルにフィールド付きの行を追加する」)。このようにして、アクティビティは適切な部分に分離される。そして、EAは取引だけを行い、GUIは表示する。そしてこれらは、異なるプロジェクトや異なる人によっても、別々に実行/変更/作成することができます。

作者に敬意を


 
Maxim Kuznetsov:

そして、Controllerから派生クラスを 作ることができれば、それは一般的に「チョコレート」だ。

ソースに独自のデータ交換関数を追加して、それを呼び出せばいいだけだ ;)

 
Igor Makanu:

独自のデータ交換関数をソースに追加して、それを呼び出せばいいだけだ ;)

もちろんできる......しかし、この単純でない方法は、結果的にコードヌードルや萎んだプロジェクトの 束を生むことになる :-)OOPはそのようなことを防ぐために作られているのだ。

EAとのコミュニケーションやフォームの「物理」は、オリジナルのコントローラーに集約されるべきだ。派生物の作り方も。

ところで、フォームが置き換わったとき、このバンドル全体はどのように振る舞うのだろうか?

私見では、この技術のハイライトは、Expert Advisorが(再コンパイルすることなく、できれば停止することなく)そのまま動作し続け、フォームを変更できることである。

主な要件は、EAが取引することです。EAはお金とつながっているので、できるだけ触らないほうがいい。

 
Maxim Kuznetsov:

もちろんできる......しかし、この単純でないやり方は、結果的にコードヌードルや萎びたプロジェクトの数々を生むことになる:-)OOPはそのようなことを防ぐように設計されている。

完璧主義者の視点から見れば、あなたの言うことは100%正しいのですが、残念ながら、すべてのコードの普遍性を達成しようとすると、完全に遅い結果になる場合があります。

SUS:私はVS2017からdatagridviewを諦めて、大きなデータを扱うときに遅くならないようにチューニングして、少なくとも1秒に1回は更新するようにした...それでもまだ鈍いけど、それ自体がどれだけ多くのクラスを集めていて、OOPの原則を完璧に守っているサンプルだ ;)

追記:datagridviewのソース、たった7000行ですが、それ自体にどれだけの追加コードを引っ張ってきているのか、数えたくもありません。

https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs


)))

 
Igor Makanu:

完璧主義者の視点から見れば、あなたの言うことは100%正しい。しかし、残念ながら、すべてにおいて普遍的なコードを達成しようとすると、完璧に遅い結果になる場合がある。

SUS:私はVS2017からdatagridviewをセットアップして、大きなデータを扱って少なくとも1秒に1回更新するときに遅くならないようにするのをあきらめた。)

追記:datagridviewのソース、わずか7000行、それ自体に追加のコードをプルアップどのくらい、私もカウントしたくありません。

https:// referencesource.microsoft.com/#system.windows.forms/winforms/managed/system/winforms/DataGridView.cs


)))

マイクロソフトは、ハードウェアの性能よりもソフトウェアを優先させる達人だ。)

---

本題から逸れるが、ここでは子供たちが「自分たちでおもちゃを作りたい」と言ったので、視覚的なものを探さなければならなかった。マウスで絵を描いたり、python/lisp/sharpに頼らずに簡単なルールを設定したり、一度に作業したり。

豊富な選択肢の中で、マイクロソフトのKoduだけが適していた。クールで美しく、明快で、まさに「ビジュアル・プログラミングはこうあるべき」という理想的なものだ。でも、シャープからいろいろなものを引っ張ってくるし、スピードも遅くなる。)

 

こんにちは!

上記の内容に関連して、いくつかの疑問が生じました:

1) 記事の文章からは、グラフィカル・インターフェースだけでなく、MQL5に「適合しない」ほとんどすべてのAPIの実装も同じ方法で整理できるという印象を受けました。

2) 私の理解する限り、.Netプラットフォームを使えば、C#だけでなく、さまざまな言語でプログラムを書くことができる。特にC++である。
質問は、C++(C++/CLRを使用していると理解しています)で.Netライブラリを書いて、MQL5がGuiControllerエンジンと同じように.Netコードを理解することが可能かどうかということです。つまり、#include "...dll "とインポート関数の 宣言なしで?


私が興味を持っている実例はこれです。最近では、機械学習に関するオプセンサー・ライブラリをVS2017と統合する可能性があり、例えば、TensorFlowはGPUコンピューティングをサポートするC++のAPIを提供しています。あなたの記事は、TensorFloW(または他の機械学習ライブラリ)のC++実装を直接MQL5に統合する絶好の機会を提供します。問題は、なぜかここで紹介されている方法を使っても、試用版のC++ dllをMQL5にインポートできないことです。


 
AikAcrobatt: 問題は、何らかの理由で、ここで指定されている方法を使用して、試用版のC++ dllをMQL5にインポートすることさえできないことです。

MT5のコードにC++関数のシグネチャを記述し、通常のDLLとして呼び出す必要があります。

https://www.mql5.com/ja/articles/18

HI: tensorflow c# は完璧にググることができます。https://nugetmusthaves.com/Tag/tensorflow C# のための準備ができたソリューションはこちらです。

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...