エラー、バグ、質問 - ページ 2616 1...260926102611261226132614261526162617261826192620262126222623...3185 新しいコメント fxsaber 2019.12.09 15:04 #26151 Igor Makanu: なるほど、つまり端末間のデータ交換という長年の課題を解決するわけですね。 Expert Advisorが動作しているTesterからデータを受信する必要があります。9割のケースはやり方がわかっています。 Igor Makanu 2019.12.09 17:22 #26152 fxsaber: Agent上で動作するEAが、Agent上で動作するように送信されたターミナルハンドルを取得できるようにする必要があります。 Agentsについては、確認していないので何とも言えませんが、さすがにPIDでTerminalのハンドルは取得できるようです。 #define READ_CONTROL 0x00020000 #define bInheritHandle true #include <WinAPI\processthreadsapi.mqh> int OnInit() { uint process_id = GetCurrentProcessId(); Print("process_id = ",process_id); HANDLE handle = OpenProcess(READ_CONTROL,bInheritHandle,process_id); // https://docs.microsoft.com/ru-ru/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess?redirectedfrom=MSDN Print("handle = ",handle); return(INIT_SUCCEEDED); } 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276 タスクマネージャーでPIDを確認しても同じです fxsaber 2019.12.09 18:35 #26153 Igor Makanu: エージェントについては、何とも言えません。 確認していませんが、端末のハンドルは、やはりPIDで取得できるようです。 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276 タスクマネージャーでPIDを確認したところ一致 このコードは、Serviceには有効ですが、Expert Advisor on Agentには有効ではありません。 fxsaber 2019.12.09 23:17 #26154 Igor Makanu: エージェントについては、何とも言えません。 確認していませんが、端末のハンドルは、やはりPIDで取得できるようです。 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280 2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276 タスクマネージャーでPIDを確認しても同じです 問題が解決 しました、ありがとうございます。 elavr 2019.12.10 04:43 #26155 metatrader5で、MQL5/logsフォルダに過去7日分のログが保存されているのですが、教えてください。これは、設定のどこかで変更されているのか、それとも端末のバグなのでしょうか? Михаил 2019.12.10 13:06 #26156 ここでは2つの提案をしています。 1- 最適化を停止し、前方最適化に切り替えるためのオプション(ボタン)を作成します。 つまり、手軽な電卓のつもりだったのだ。でも、数えるほどしかないんです。そして、フォワードも気になります、待たされますね。 少し長く数えることもあれば、短くすることも必要です。 最適化の延長と最適化の停止の2つのボタンと、前進のスイッチが必要です。 2- ツールバーがまた2段にスライドしてしまいました。娘が小さい頃、「滑る滑る~!」と言ってたことがありました...) ここでも、2列目からパネルがどんどんスライドしていきます。すでに後ろ(同じ列)に移動することにうんざりしている。もう直せ!どれだけのスペースが無駄になっているか! Stanislav Korotky 2019.12.10 19:58 #26157 以下の不具合は、お客様ご自身でご確認ください。このアプリケーションには、"capslock "キーの状態を読み取ることだけを目的とした、特別なミニマムインジケータが搭載されています。ログとコメントで表示されます。 一連の動作は次のとおりです。 インジケータをコンパイルし、チャート上に配置し、0("capslock "が有効になっていない)が表示されることを確認します。 MEに切り替え、CapsLockを有効にして再コンパイルしてください。端末に戻る。古いインジケーターがアンロードされ、新しいインジケーターがロードされていることをログで確認します。しかし、"CapsLock "のステータスは依然として0として返されます。 チャートからインジケータを削除して再度アップロードすると、キャップスロックは正常に認識され、1が表示されます。 奇跡ってなんだろう?コンパイルで再起動すると、一部の環境変数がクリーンアップされないとか? ファイル: CapsLock.mq5 1 kb Vitaly Muzichenko 2019.12.10 20:25 #26158 Stanislav Korotky: 以下の不具合は、お客様ご自身でご確認ください。このアプリケーションには、"capslock "キーの状態を読み取ることだけを目的とした、特別なミニマムインジケータが搭載されています。ログとコメントで表示されます。 一連の動作は次のとおりです。 インジケータをコンパイルし、チャート上に配置し、0("capslock "が有効になっていない)が表示されることを確認します。 MEに切り替え、CapsLockを有効にして再コンパイルしてください。端末に戻る。古いインジケーターがアンロードされ、新しいインジケーターがロードされていることをログで確認します。しかし、"CapsLock "のステータスは依然として0として返されます。 チャートからインジケータを削除して再度アップロードすると、キャップスロックは正常に認識され、1が表示されます。 奇跡ってなんだろう?コンパイルで再起動すると、一部の環境変数がクリーンアップされないとか? もしそうなら? void OnDeinit(const int reason) { if (ind != INVALID_HANDLE) { IndicatorRelease(ind); } } Stanislav Korotky 2019.12.11 11:31 #26159 Vitaly Muzichenko: これはどうでしょう? これと何の関係があるのですか?MQLのコードからインジケータを作 らない。手動でチャートにひっかけています。開発の過程で、プログラムの再コンパイルが頻繁に発生する場合、保存されたコンテキスト/システム環境でのエラーによって機能が失われないようにするために必要なんです。今現在、再コンパイルした後、キーボードの現在の状態をピックアップさせるために、インダクタをアンインストールして再インストールする必要があるんです。 fxsaber 2019.12.11 11:39 #26160 Stanislav Korotky: コンパイル時に再起動した場合、一部の環境変数がクリアされていないとか? はい、これはバグです。インジケーターでもEAでも、違いはありません。 1...260926102611261226132614261526162617261826192620262126222623...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なるほど、つまり端末間のデータ交換という長年の課題を解決するわけですね。
Expert Advisorが動作しているTesterからデータを受信する必要があります。9割のケースはやり方がわかっています。
Agent上で動作するEAが、Agent上で動作するように送信されたターミナルハンドルを取得できるようにする必要があります。
Agentsについては、確認していないので何とも言えませんが、さすがにPIDでTerminalのハンドルは取得できるようです。
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276
タスクマネージャーでPIDを確認しても同じです
エージェントについては、何とも言えません。 確認していませんが、端末のハンドルは、やはりPIDで取得できるようです。
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276
タスクマネージャーでPIDを確認したところ一致
このコードは、Serviceには有効ですが、Expert Advisor on Agentには有効ではありません。
エージェントについては、何とも言えません。 確認していませんが、端末のハンドルは、やはりPIDで取得できるようです。
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) process_id = 9280
2019.12.09 21:05:36.259 tst_Wapi (EURUSD,H1) handle = 2276
タスクマネージャーでPIDを確認しても同じです
問題が解決 しました、ありがとうございます。
ここでは2つの提案をしています。
1- 最適化を停止し、前方最適化に切り替えるためのオプション(ボタン)を作成します。
つまり、手軽な電卓のつもりだったのだ。でも、数えるほどしかないんです。そして、フォワードも気になります、待たされますね。
少し長く数えることもあれば、短くすることも必要です。
最適化の延長と最適化の停止の2つのボタンと、前進のスイッチが必要です。
2- ツールバーがまた2段にスライドしてしまいました。娘が小さい頃、「滑る滑る~!」と言ってたことがありました...)
ここでも、2列目からパネルがどんどんスライドしていきます。すでに後ろ(同じ列)に移動することにうんざりしている。もう直せ!どれだけのスペースが無駄になっているか!
以下の不具合は、お客様ご自身でご確認ください。このアプリケーションには、"capslock "キーの状態を読み取ることだけを目的とした、特別なミニマムインジケータが搭載されています。ログとコメントで表示されます。
一連の動作は次のとおりです。
奇跡ってなんだろう?コンパイルで再起動すると、一部の環境変数がクリーンアップされないとか?
以下の不具合は、お客様ご自身でご確認ください。このアプリケーションには、"capslock "キーの状態を読み取ることだけを目的とした、特別なミニマムインジケータが搭載されています。ログとコメントで表示されます。
一連の動作は次のとおりです。
奇跡ってなんだろう?コンパイルで再起動すると、一部の環境変数がクリーンアップされないとか?
もしそうなら?
これはどうでしょう?
これと何の関係があるのですか?MQLのコードからインジケータを作 らない。手動でチャートにひっかけています。開発の過程で、プログラムの再コンパイルが頻繁に発生する場合、保存されたコンテキスト/システム環境でのエラーによって機能が失われないようにするために必要なんです。今現在、再コンパイルした後、キーボードの現在の状態をピックアップさせるために、インダクタをアンインストールして再インストールする必要があるんです。
コンパイル時に再起動した場合、一部の環境変数がクリアされていないとか?
はい、これはバグです。インジケーターでもEAでも、違いはありません。