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

 
jdjahfkahjf:
トレーディングの未来、そのピークがボタンであることにまだ気づいていないのです。
そして、このボタン、ピーターが他のセラーに売るのです。誰が、今度は何を売るのか?ボタンもご想像のとおりです。
しかし、他のボタン販売業者にボタンを販売するためには、他のボタン製造業者からボタンを購入しなければならない。

面白い :)))

 
Dmitry Fedoseev:

よくやった!棚からぼた餅だ。

よし、正当化してみるか。

あなたの解決策で行くと、ユーザーは静的クラスのソースコードをプロジェクトに コピーする必要があり、イベントを翻訳し、別のスレッドでフォームをうまく実行するなどの作業が残っています。さらに、フォームをこのクラスに静的にリンクさせる、つまり、フォームのクラス名とその構成要素を明示的に入力する必要があります。つまり、フォームが変更されたときや、要素が追加されたときに、明示的にレイヤーコードを修正します。つまり、シンプルでわかりやすいソリューションであれば、特定のフォームとのインタラクションを示すのに有効なのです。一般化した場合、制御ロジックと表示ロジックを分離した方が良い、ということになります。また、この分離により、コントローラを無条件に改造から保護することができます。

なぜ、この方法で、他の方法ではないのかという疑問に、まさに答えてくれるコメントがあります。

イゴール・マカヌ

その通りだと思います。VS2017でフォームのグラフィック要素をスケッチし、VSで作成したものを実行して確認し、「すべてが回転している」ことを確認したら、.NetとMT5でプログラムのインタラクションを作成することに移行する方がユーザーにとって簡単です。

...

あなたのやり方のほうが現実的でしょう。

 
Реter Konow:

その通りです。写真付きのCyb-codeの巨大なデータベースができる予定です。そして、コードを取得し、コンストラクタに挿入し、接続ファイルを含むコアを取得します。しかも、接続はすでに考えられていて、ずっと簡単です。

だから、各フォームは別々のファイルになっている。もっとシンプルにしたとしても、可能性は限られています。

 
Dmitry Fedoseev:

だからそこでも、各フォームは別々のファイルになっている。もっとシンプルにしたとしても、可能性は限られています。

正直なところ、私はまだこの技術を完全に把握していないので、Vasiliyのソリューションの限界についてはまだ何とも言えません。

 
Реter Konow:

バジル、悪気はないんだけど、こういうパネルって。

このようなコードについてです。

このコードはお互いに受け渡すか、共通の基盤に置くだけで、それぞれに特別にフォームを描く必要はありません。

それをコンストラクタに貼り付けると、すべての項目パラメータと接続を含む別のウィンドウが表示されました。

ピーター あなたと同じパネルを描くには、あなたのマークアップ言語を学ぶ必要があるんです。このパネルをVisual Studioで 描くには、ユーザーはマウスと基本的なスキル以外何も必要ありません。違いを感じますか?

 
Реter Konow:

正直なところ、私はまだこの技術を完全に把握していないので、Vasiliyのソリューションの限界についてはまだ何とも言えません。

そして、Vasiliyのソリューションの限界については書きませんでした。

 
Vasiliy Sokolov:

ピーター あなたと同じパネルを描くには、あなたのマークアップ言語を学ぶ必要があるんだ。このパネルをVisual Studioで描くには、ユーザーは何も必要なく、マウスと基本的なスキルがあればいいのです。その違いを感じていただけるでしょうか。

バシリー 私のマークアップ言語を勉強して、パネルを書いてくれる人がいます。パネルの写真を見て、既成のサイバーコードを取る人が1000人もいる。彼らはそれを私のコンストラクタに貼り付けて、そのパネルを自分のプログラムに取り込みます。

 
Реter Konow:

既読だが、細部にまで入り込むため、再読を続ける。

1.なぜ記事には1秒間に5回のリクエストと書かれているのですか?私の周波数は30msです。

2.1000セルのテーブルへの接続がどのようなものか、見せてもらえますか?

3 私が理解する限り、GuiController::SendEvent 関数に送信された名前でフォームの要素を呼び出すこと すべてのパラメータを指定する必要が あるのでしょうか?名前、イベント、値?もっとゼロを...そして、イベントのループを行うためのタイマーでは?

つまり、ユーザーが自分でイベントキューを作成し、それをタイマーでControllerに渡すということでしょうか。


私のトピックを大いに宣伝していただき、感謝します。

1)違いはない。好きな周波数に設定することができます。

2) テーブルは現在サポートされていません (ところで、あなたが応援する大きな理由です:)

3)はい、名前によるアドレス指定は、すべてのパラメータを指定する必要があります。しかし、これが最も重要なことなのですが、イベントモデルには 単一のモノリシックなものは存在しません。自分のモデルが欲しいなら、歓迎しますよ。作るのは初歩的なことです。でも、タイマーがないとダメなんです。

イベントキューは、イベントを確実に処理するための一般的なアルゴリズムである。ユーザーは何も作らない。ユーザーによって生成されたイベントが勝手にキューに入る。キュー自体は99.9%は1つのイベントだけで構成されている。

 
Vasiliy Sokolov:

よし、正当化してみるか。

あなたの解決策で行くと、ユーザーは静的クラスのソースコードをプロジェクトにコピーする必要があり、イベントを翻訳し、別のスレッドでフォームを実行するなどの作業が残っています。さらに、フォームをこのクラスに静的にリンクさせる、つまり、フォームのクラス名と その構成要素を明示的に 入力する必要があります。つまり、フォームが変更されたときや、要素が追加されたときに、明示的にレイヤーコードを修正します。つまり、特定のフォームとのインタラクションを示すには、シンプルでわかりやすいソリューションが有効であり、それが今回示したものです。一般化した場合、制御ロジックと表示ロジックを分離した方が良い、ということになります。また、この分離により、コントローラを無条件に改造から保護することができます。

なぜ、この方法で、他の方法ではないのかという疑問に、まさに答えてくれるコメントがあります。

最大の問題は、フォームを別スレッドで起動することですが、2行のコードで解決しているので、最終的には問題ありません。また、私の例では、2つ目のフォームを開くことを意図的に行い、いかに簡単でシンプルに、いくつでも別スレッドでフォームを開くことができるかを示しています。

そして、引用の中で強調されている、干し草と藁は同じものなのでしょうか?そう!バナナを食べるには、皮をむかなければならないのです。

 
Реter Konow:

正直なところ、私はまだこの技術を完全に理解しているわけではないので、Vasiliyのソリューションの限界についてはまだ何とも言えません。

そこに容量の制限はありません、すべてがWindowsのグラフィカルな 要素の機能よりも多くも少なくも制限されている、記事を読んで"GuiControllerのボンネットの下に"、フォームデザイナで必要なコントロールを追加し、あなたが受け取るために必要と思うイベント<要素 - イベントハンドラのリスト>でMT5に追加します。

ワシリー・ソコロフ

2) テーブルは現在サポートされていません (ところで、あなたが喜ぶ大きな理由:)

私はまた、ピーターを祝福します、私は.Net、右クリックイベント、ソート、および他の魅力のdataGridViewすべての仕事上の.dllで別のフォームでテーブルの仕事をした、端末として一部の実験テーブルではなく、気まぐれと遅いdataGridView 、私はそれで多くのことを試してみました(とクローンダータブルを充填してからdataGridViewとにリンクしているdatatableにコピーされました... 。と一週間グーグル、実験しながら、dataGridViewと完全な大失敗 - あなたはそれ以上3-5秒に書き込むことはできません)10x11テーブルは、すでに別のスレッドでテーブルと実行すると、フォームが重要である。

SZY: 5年前にDelphiでStringGridをMT4に取り付けたが、動作については全く心配していなかったが、すべてがうまくいっていた、しかしMicrosoft dataGridViewでは問題がある、今日はSourceGridで実験してみる、フィードバックによるとdataGridViewより速い