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

 

新しい記事 Net FrameworkとC#に基づくエキスパートアドバイザーと指標のためのグラフィカルインターフェイスの開発 はパブリッシュされました:

本稿では、Visual Studioを使用してグラフィカルウィンドウを作成してからエキスパートアドバイザーのMQLコードに統合する簡単で迅速な方法を紹介します。専門家ではないユーザを対象としており、C#および.NETテクノロジに関する知識は必要ありません。

MetaTrader 5ストラテジーテスターには、MQL GUI開発者が考慮すべきいくつかの特徴があります。主な特徴は、OnChartEventグラフィックイベント処理関数がまったく呼び出されないことです。グラフィック形式はリアルタイムでユーザーと作業することを含むため、これは論理的です。ただし、テスターに​​特定の種類のパネルを実装することは非常に興味深いでしょう。これらはいわゆる取引プレーヤーで、ユーザは自分のトレーディング戦略を手動でテストできます。たとえば、ユーザは[Buy]ボタンと[Sell]ボタンをクリックすると、ストラテジーテスターは現在の市場価格を早送りで生成し履歴の取引操作をシミュレートします。私たちが開発したTradePanelはまさにこのタイプのパネルです。その単純さにもかかわらず、それは最も必要な機能を備えた平易な取引プレーヤーであるかもしれません。 

しかし、MetaTrader 5ストラテジーテスターでパネルがどのように機能するかを考えてみましょう。TradePanelのグラフィカルウィンドウは、独立したネットアセンブリとして存在します。したがって、それは現在のMetaTrader 5環境あるいはターミナル自体にも依存しません。厳密に言えば、他のプログラムから実行することもできますが、ユーザー自身でもexeコンテナにあるアセンブリを起動できます。

したがって、私たちのプログラムはOnChartEventを呼び出す必要はありません。さらに、ストラテジーテスターで定期的に起動される任意のイベント処理機能で、ウィンドウ内のデータを更新し、ユーザーから新しい注文を受け取ることができます。OnTickとOnTimerはそのような関数です。パネルはそれらを通して動作します。したがって、リアルタイム操作用に設計されていますが、このパネルはストラテジーテスターでもうまく機能します。変更は必要ありません。テスターでパネルを起動し、いくつかの取引を実行して、これを確認しましょう。

作者: Vasiliy Sokolov