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

 
Stanislav Korotky:

...WPFフォームをデザインし、MQLでXAMLを読む。

傑作!

 
Stanislav Korotky:

ええ、いい記事なんですが、編集者が読んでいるかどうかはわかりません;-)。"Besides "はスペルが一緒だが、本文中の他の場所では区切られている。他の記事と比べて、多少なりとも注意深く読んでいたので目に留まった。

実際、一方では良いことのように思える。しかし一方で、ビジュアル・フォーム・エディターのためだけにStudio関連のものをすべて引っ張り出すのは、ちょっと面倒です。Studioがすでにインストールされている場合は問題ありません。

私ならデザイナーと一緒にMQLですべてを行います(アイデアはあるのですが、手が出ません)。Studioを使い、DLLを使わずにWPFフォームをデザインし、MQLでXAMLを読むという中間的なオプションもあると思います。

この記事の著者は、オンラインとテスターの両方で動作する「ボタン付きパネル」の作り方の例を示しましたが、MQLでグラフィックを作るのは難しくありません。私自身、自分のプロジェクトが オンラインでもテスターでも同じように動くようにしたいと思うことがあります。Vasilyの記事の助けを借りれば、基本的なプログラミングの知識だけで2-3時間以内に動く例を作ることができます。

 
Stanislav Korotky:

...

私ならデザイナーと一緒にMQLですべてを行います(アイデアはあるのですが、手が出ません)。WPFのフォームをデザインし、MQLでXAMLを読む。

そして、私は宇宙船を宇宙に送り出すだろう。アイデアはたくさんあるのですが、私も手が出せません。

スタジオをダウンロードするのは大変だけど、XAMLインタプリタを自分で書くのは、何でもないことなんだけど、時間が取れないんだ。

 

dllの接続レベルには非常に感心しました。

EX5-libraryよりもC#_dllの方が接続が簡単なのは、2番目のケースでは関数を書く必要があるからでしょうか?

クラス、列挙、構造体はEX5ライブラリで利用できますか?記事から判断すると、MEはmqhを接続したかのようにdllでこれらすべてを見ますが、そこにあるのはシグネチャへのアクセスだけで、ソースへのアクセスはありません。

 
Vasiliy Sokolov:
我々はピーターを待っている。私の提案した解決策に対する彼の "専門家の評価 "を見てみよう:)

ヴァシリー、技術的には正しい方向に進んでいると思うよ。もちろん、これは始まりに過ぎず、本格的で便利な接続を確立するためには、まだ多くの仕事をしなければならないが、結果は価値あるものだ。おめでとう!))

 
fxsaber:

接続性の高さに非常に感銘を受けた。

...

僕もだ...

 

この記事の例に従って、サードパーティのインタラクティブなグラフでデータを視覚化したいのですが。

C#に二重配列を送ると、視覚的に高度なバイブルに基づいてグラフを作成し、ズーム、スクロール、マウス操作で値を表示することができますか?あらゆる種類のフィードバック・グラフなど。


ZЫ バーの視覚化バイブルはあると思うよ。誰か、フォームに完全な価格チャートを表示する方法を教えてください。

 
fxsaber:

記事の例に従って、サードパーティのインタラクティブ・チャートでデータを視覚化したい。

C#に二重配列を送ると、視覚的に高度なバイブルに基づいてグラフを作成し、ズーム、スクロール、マウス操作で値を表示することができますか?あらゆる種類のフィードバック・グラフなど。

これは自分で作らなければなりません。ここでは、シャープのフォームの単純なGUI要素に接続するためのアダプタのみを提供します。

 
fxsaber:

接続性の高さに非常に感銘を受けた。

C#_dllを接続する方がはるかに簡単ということでよろしいでしょうか?

はい、MT5 で C# ライブラリを接続するのは全く問題ありません。この機能に慣れてきたところなら、SharpDevelop (14 MB) をダウンロードしてください (VS2017 > 200 MB ~ 1GB はダウンロードしないでください)。

https://www.mql5.com/ru/forum/293630/page57#comment_9851502

そして、グラフィックスに入るのではなく、MTの開発者が推奨する例を実行してください:https://www.mql5.com/ru/forum/285631.

public class TestClass
{
   public static void Inc(ref int x)
   {
    x++;
   }
}

MT5のC#ライブラリの統合レベルには感心した。dll名を指定して#importディレクティブを書くと、そのdllの関数のシグネチャがツールチップに即座に表示され、MT配信のネイティブインクルードとして利用できる。


Retag Konow:

自分で作成する必要があります。これは、シャープ・フォームの単純なGUI要素に接続するためのアダプターを提供するだけです。

Sharpのプログラムはそれ自体で動作し、MT5もそれ自体で動作し、記事の著者はデータ交換の例を示しています。 MT5からC#に参照渡しで配列を渡す場合、Sharpの標準関数.Length()を呼び出すことで、データだけでなく配列のサイズさえも利用できるようになります。

int arr[100];
dllsharp(arr);

つまり、Sharpの中で配列のサイズを知ることができる。このような統合の不思議さ ;)

public class TestClass
{
   public static int tst(ref int[] a)
   {
    return a.Length();
   }
}
 
Igor Makanu:

...

そしてSharp自体でbuf.Length()のサイズを知ることができる.このような統合の驚異 ;)

はい、すべて理解しました。Cシャープが怖くて怖くて... :)))))