Hi, I'm a C# developer and downloaded the code from the article "HOW TO EXPORT QUOTES FROM METATRADER 5 TO .NET APPLICATIONS USING WCF SERVICES" ( https://www.mql5.com/en/articles/27 ). The problem is that my machine is a Windows 64 bits with MetaTrader 5 64 bits installed and I had to change the compile configurations to 64 bits in Visual Studio 2012. Ok, it compiled normally, then I added one new method that aims to return a string to MT5 which i called ReadBroker2MeInstructions . Compiled...
何時間も何時間も調べてデバッグした結果、参照されているアセンブリの1つがロードされておらず、例外「System.IO.FileNotFoundException.Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857:Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'」という例外が発生しました。
1) x64ターミナルを使用している場合、C++プロジェクトをx64で再コンパイルする必要があります。念のため、次の方法で実行してください: Visual Studio -> (C++プロジェクトの) プロパティ -> 構成マネージャ -> ドロップダウンリストまたは <新規...> から x64 に変更します。コンパイルする。完了。
2) EAに問題があり、初期化すらできませんでした。EAをチャートから切り離すとき、エラー initが失敗した ときに初めて気づきました(おかしい...)。EAは初期化段階で無限スリープに 陥り、その原因はすべて(QService.mqhの)これらの行にありました:
QService::EnterCriticalSection()
{
while (GlobalVariableCheck("QService_CriticalSection") > 0)
Sleep(1);
GlobalVariableTemp("QService_CriticalSection");
}
デバッグと、この "Sleep(1) "を理解するための試行錯誤の後、私はコードを次のように置き換えた:
QService::EnterCriticalSection()
{
if(!GlobalVariableCheck("QService_CriticalSection"))
GlobalVariableTemp("QService_CriticalSection");
}
追伸:この記事の著者に感謝します!すべてがクールです!
とても興味深い...ありがとう...しかし、今日ではもっと簡単なオプション*があるのでは?
もちろんありますよ。ターミナルに内蔵されている機能を使って接続するんです。PIPEチャンネルだ。
https://www.mql5.com/ru/docs/files/fileopen
この記事に基づいて新しい仕事を投稿しました:https://www.mql5.com/en/job/34392。
私のMT5 64ビット環境では動作しません....
素晴らしい記事です!
ありがとうございます。
知識として、私の64ビットマシンで何が起こったかを発見した。
何時間も何時間も調べてデバッグした結果、参照されているアセンブリの1つがロードされておらず、例外「System.IO.FileNotFoundException.Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857:Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'」という例外が発生しました。
多分、dllに設定ファイルがないためだと思いますが、MT 5はアセンブリがどこにあるのか分かりませんでした。そのため、ベースパス(metaeditor64.exeがあるパス)で取得しようとしていました。参照されているプロジェクトの 出力ディレクトリをそのパスに変更したところ、見事に動作しました。
ジョーさん、こんにちは、
x64で動作させるには何か特別なコツが必要ですか?x64用にコンパイルしたのですが、起動時に変なエラーが出てDLLがクラッシュしてしまいます。
以下の私の回答を参照してください。
[]'s
こんにちは、
あなたの完成したファイルをテストしました。しかし、WinClientにはデータがありません。
ヒストリカル・バーをプリロードする同様のプロジェクトは ないだろうか?Lightweight-Chartにすべて追加して、チャートを便利に使いたいのですが。