よくやった!他には何も言えない。残念なことに、MQL5と.NETの接続にはまだ仲介者が必要で、そのために全体の構築が面倒になっている。
残念なことに、MQL5と.NETの通信にはまだ仲介者が必要で、そのため全体の構築があまりにも面倒なのだ。
同感だ。ところで、単純なインタラクションには、Inverse P/Invokeという 素晴らしいものがあります。
また、ILMergeを使って、3つのアセンブリをQExportWrapper.dllにマージしようとしましたが、うまくいきませんでした。
こんにちは!
あなたのソースファイルをコピーし、再コンパイルして実行しました。
しかし、MT5がクラッシュしてしまいました。
どのようにデバッグ/トラブルシュートできますか?
ありがとうございます!
1.まず、 bin.rarにあるコンパイル済みのファイルを使用してみます。
例えば、MetaTrader5クライアントターミナルのディレクトリは "C:˶Program FilesMetaTrader 5 "です。
Let's create new folder for the expert QExporter.mq5 for example"QE", in the folder "C:\Program Files\MetaTrader 5\MQL5\Experts\"
C:\Program Files\MetaTrader 5\MQL5\Experts\QE\QExporter.mq5 (1615 bytes)
C:\Program Files\MetaTrader 5\MQL5\Experts\QE\QService.mqh (4380 bytes)
C:\Program Files\MetaTrader 5\MQL5\Libraries\QExport.dll (5632 bytes)
C:\Program Files\MetaTrader 5\MQL5\Libraries\QExport.Service.dll (7168 bytes)
C:\Program Files\MetaTrader 5\MQL5\Libraries\QExportWrapper.dll (27648 bytes)
C:\Program Files\MetaTrader 5\WindowsClient\QExport.Client.dll (6656 bytes)
C:\Program Files\MetaTrader 5\WindowsClient\QExport.dll (5632 bytes)
C:\Program Files\MetaTrader 5\WindowsClient\WindowsClient.exe (12288 bytes)
そして、QExporter.mq5のコンパイル後、コンパイルされたファイルQExporter.ex5がディレクトリに表示されます:
C:¥Program Files¥MetaTrader 5¥MQL5¥Experts¥QE¥QExporter.ex5 (6706バイト)
EURUSD,H1のチャートにアタッチして、WindowsClient.exeを 実行すると、以下のようになりました:

249ドル(2月18日)でテストしました。
あなたのソースファイルをコピーし、再コンパイルして実行しました。
しかし、MT5がクラッシュしてしまいました。
どのようにデバッグ/トラブルシュートできますか?
こんにちは、
まず第一に、mql5のソースをデバッグして、エラーの原因となっている関数を 見つけ、すべてのdll関数呼び出しの前にブレークポイントを設定します。残念ながら、ターミナルがクラッシュしてしまったので、デバッグのためにdllをterminal.exeにアタッチすることができませんでした。新しいビルドでは可能かもしれない。
また、どのOSを使っているのかも知りたい。私は32ビットのOSを使っているので、64ビットのシステムでそれをチェックする能力がありません。
また、コンパイルされたファイルを実行してみましたか?
そしてもうひとつ、ソリューションにあるConsoleServiceとConsoleClientを実行してみてください。もしかしたら、問題はmqlやラッパー・ライブラリとは関係ないかもしれません。
最後に、terminal.exe.configファイルを作成(またはコピー)するのを忘れているだけだと思います。試してみてください。
MQL5が.NETのラップDLLを使えるようになったのは朗報だ。
なぜMQL4ではこのようなモードが使えないのだろうか?
掲載例をどうもありがとうございました。この1週間、(夜な夜な).netとmql5間のデータ交換の ためのライブラリを作ろうと奮闘していました。
私はC++が苦手 なので、この投稿はとても役に立ちました。
ただ一つ問題があります。x64でコンパイルした後、サービスの初期化がエラーになります。
ExportService^ service = gcnew ExportService(serverName); // <- ServiceManaged.cpp
プロセスは何の説明もなく、ただ「終了」してしまいます。
このエラーをログに出力し、さらに分析するにはどうすればよいでしょうか? それとも、すでにこの問題に遭遇していて、解決策があるのでしょうか?
しかし、ストラテジーテスターで EAを実行しようとすると、両方とも見事にクラッシュしてしまいます。
しかし、ストラテジーテスターでEAを実行しようとすると、両方とも見事にクラッシュしてしまいます。このEAを使って、価格とインジケータのデータをデータベースのテーブルにエクスポートし、外部ソフトウェアで分析を行いたいと思っています。 このクラッシュの原因について何か思い当たることはありますか? これが、今のところ最も近い解決策です。
ジョー
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法 はパブリッシュされました:
MetaTrader 5からご自身のアプリケーションにクオートをエクスポートしたくありませんか?MQL5-DLLジャンクションを使用するとそのソリューションの作成が可能です!本稿でMetaTrader 5から.NETに書かれたアプリケーションにクオートをエクスポートする方法の一つをお伝えします。私はまさにこのプラットフォームの使用により、クオートのエクスポート実装がおもしろく、根本的にやさしく行えました。残念ながらバージョン5はまだ.NETをサポートしていないので、かつてのように.NETサポート機能のあるwin32 dllを interlayerとして利用します。
作者: Alexander