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

 
Dmitry Fedoseev:

このようなことができます。DLLの中で、配列、または2つの配列、1つはオブジェクト名、もう1つはイベントタイプに 対応します。

こらっ

まだ確認していませんが、開発者がC#.Netを高度にサポートしているのであれば、MT5と.dll間の複雑なデータ型のやり取り、つまり構造 体が動作するのかもしれませんね。

構造体の交換がうまくいけば、作業はさらにシンプルでプリミティブなものになる。

オーダープロフィット,オーダーチケット,オーダーストップロス......をティックごとに構造体に充填する。...そして、この構造体を.dllに送り、ユーザーから応答構造体を受け取る ...そして、その形態は、端末そのものである視覚情報を回転させます。


タグコノウ

そして、.dllの中にTOTALメモリーを作成します。

フォーム要素の数が増え、MT5プログラムが複雑になると、この対話は非常に忙しく、複雑なものになります。

うーん、何が複雑なんだろう?あなたは、可視化=.dllを分離し、別々にMTの仕事

説明するのが難しいのですが、メモリを介したデータのやりとりの速度がどのくらいかご存知ですか?- 1秒間に10万バイトどころか、数百万バイト、数十 バイトの交換の複雑さについて話している )))))

 
Реter Konow:

OKです。

だから、必要なんです。

  1. DLLを作成する。
  2. DLLとWindowsアプリケーションをフォームで接続します。
  3. ボタンやチェックボックスを押したときのイベントをDLLに変換するメソッドを書く。
  4. ウィドウアプリケーションでボタンやチェックボックスの状態を変更するメソッドを記述します.
  5. dllに共有メモリを作成する。MT5からアクセスしたときに、ボタンやチェックボックスの状態変化のフラグが立つようにする。そして、Windowsアプリケーションは共有メモリにアクセスしてフラグを読み出し、それを使って変更すべき1つまたは別のフォームエレメントの状態を知る。
  6. 関数呼び出しのフラグの読み取りやフィールドへのテキスト入力のために、MT5のタイマーからDLLへの循環的な参照を書き込む。

    エレメントが何百個もあったらどうする?

    共有メモリをどのように構成するか?

    フォーム内の要素の押下/解放の状態だけでなく、その色も変更する必要がある場合はどうでしょうか(例えば、ボタンの場合)。

    フォームの入力フィールドのテキストをМТ5からプログラムで変更する必要がある場合はどうすればよいですか?


    1.何が問題なのか?それは、作成時にプロジェクトの種類を選択することです。

    2.Igorが示した例に見られるように、接続は1行で行われるため、インポートの 記述すら必要ないのです。

    3.メソッドは一度書いてファイルに保存しておけば、すべてのプロジェクトでそのまま使える。

    4.たぶん、必要なんでしょうけど、シンプルなんですよね。そのすべてが必要になるとは限りません。c#ではコントロール要素間の相互作用が異なるため、1つのイベントを配置すれば、フォーム上に100個のボタンが必要になることもあります。

    5.3.と関連しています。

    6.また、ポイント3の正しいアプローチで1行。

    7 - あなたはC#のすべての力を手にしている、そのスケールは巨大であることを理解していないようだ。

     
    Реter Konow:

    悪気はないのですが、オフトピックになってしまい申し訳ありません。

    最もシンプルな例を取り上げて、そこから外挿することで、複雑さが増すことはないと考えているのでしょう。これは間違いです。

    あなたが挙げた最も単純な例でさえ、間違っているのです。なぜなら、作成されたフォームに加えて、DLLも作成する必要があるからです。そして、DLL内にTOTALメモリーを作成します。

    フォーム要素の数が増え、MT5上のプログラムの機能がより複雑になると、この対話は非常に忙しく複雑になります。

    これらすべてを実際に検証してみました。

    結論は完全に間違っている。

     

    問題は、私が本当にやってしまったことです。また、複雑なMTプログラムと複雑なサードパーティプログラムの相互作用を組織化することの複雑さも知っています。

    そして、素人のアプローチは、たいてい「そんなの簡単だよ......」ということになる。何が問題なのか?こうだ、ああだ...」と。

    複雑なMTプログラムを複雑なWindowsフォームに接続する例を教えてください。

    1. 要素の状態を変更し、入力フィールドに テキストを出力する。
    2. プログラムがフォームフィールドからテキストを受け取り、項目の色を変更できるところ。
    3. プログラムがフォームウィンドウの現象を制御できるところ(あるものは開き、あるものは閉じる)。
    MTで完全に動作する例を提供することができます。

     
    Реter Konow:

    問題は、私が本当にやってしまったことです。また、複雑なMTプログラムと複雑なサードパーティプログラムの相互作用を組織化することの複雑さも知っています。

    そして、素人のアプローチは、たいてい「そんなの簡単だよ......」ということになる。何が問題なのか?こうだ、ああだ...」と。

    複雑なMTプログラムを複雑なWindowsフォームに接続する例を教えてください。

    1. 要素の状態を変更し、入力フィールドに テキストを出力する。
    2. プログラムがフォームフィールドからテキストを受け取り、項目の色を変更できるところ。
    3. プログラムがフォームウィンドウの現象を制御できるところ(あるものは開き、あるものは閉じる)。
    MTで完全に動作する例を提供することができます。

    そうであれば、今日のような質問をすることはないでしょう。c#を勉強して自分でやる。昨日Igorが示したDLL接続とメソッド呼び出しの方法。

     
    Dmitry Fedoseev:

    1.何が問題なのか?作成時にプロジェクトの種類を選択することです。

    2.Igorが示した例に見られるように、接続は1行で行われ、インポートも記述する必要はない。

    3.メソッドは一度書いてファイルに保存しておけば、すべてのプロジェクトでそのまま使える。

    4.たぶん、必要なんでしょうけど、シンプルなんですよね。そのすべてが必要になるとは限りません。c#ではコントロール要素間の相互作用が異なるため、1つのイベントを配置すれば、フォーム上に100個のボタンが必要になることもあります。

    5.3.と関連しています。

    6.また、ポイント3の正しいアプローチで1行。

    7 - あなたの手にかかれば、あなたは何もわかっていないようですが、C#のすべてのパワーは絶大です。

    ドミトリー、C#の巨大なパワーを使って、あまり複雑でないフォーム付きのアプリケーションを作って、それがMTアプリケーションと相互作用して、これらのアイテムを実行するんだ。

    1. 項目の状態を変更し、入力フィールドに テキストを出力します。
    2. フォームの入力フィールドからテキストを取得し、要素の色を変更します。
    3. フォームウィンドウの現象を制御します(一部を開き、他を閉じます)。
    イゴールとあなたは、とても簡単だと主張しています。だから、すぐに管理することになる。完全にMTでアナログを提供します。そして、実行の質と複雑さを比較します。
     
    Реter Konow:

    ディミトリ、C#のグレイトパワーを使って、あまり複雑でないアプリケーションを作って、MTアプリケーションと対話するフォームを作り、これらのアイテムを実行するんだ。

    1. 項目の状態を変更し、入力フィールドに テキストを出力します。
    2. フォームの入力フィールドからテキストを取得し、項目の色を変更します。
    3. フォームウィンドウの現象を制御します(一部を開き、他を閉じます)。
    イゴールとあなたは、とても簡単だと主張しています。だから、すぐに管理することになる。完全にMTでアナログを提供します。そして、実行の質と複雑さを比較します。

    やることがたくさんあるんです。しかし、あなたは妄想を続けることができます。

     

    そして、そうそう、プログラミングでは見られない奇跡、何かをするためには、そのための関数を書かなければならないのです。

     
    Dmitry Fedoseev:

    やることがあるんだ ...

    じゃあ、イゴールならやってくれるかな...。

     
    Реter Konow:

    じゃあ、イゴールならやってくれるかな...。

    イゴールはもう見せすぎです。そして、語りすぎてしまった。