エラー、バグ、質問 - ページ 2522 1...251525162517251825192520252125222523252425252526252725282529...3185 新しいコメント fxsaber 2019.07.31 07:41 #25211 WinAPIについて教えてほしいのですが。MT5でこの2つのアクションを行えるようにする必要がある。 表示されたメニューを呼び出し、レポートを保存するを選択します。 表示されたメニューを呼び出し、セットファイルを読み込むを選択します。 MT4では、このようなことは非常に簡単です。MT5ではそうではありません。 つまり、メニューを開いて、適切なオプションを選択する必要があります。しかし、それができない。 そうあるべきようだ。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム プログラムによる「自動売買」ボタンの押し方 レナート・ファットフーリン, 2013.03.31 22:50 32ビット環境で実行するか、64ビットパーサーを 探します。 Sergey Dzyublik 2019.07.31 08:24 #25212 タスク 2 のコンテキストメニューを呼び出す Message log を書くと、次のような結果になります。 このメニューをSendMessage WinApiでプログラム的に呼び出してみてください。 fxsaber 2019.07.31 08:45 #25213 Sergey Dzyublik: タスク 2 のコンテキストメニューを呼び出す Message log を書くと、次のような結果になります。 このメニューをSendMessage WinApiでプログラム的に呼び出してみてください。 成功しない。 #include <WinAPI\winuser.mqh> #define GA_ROOT 0x00000002 #define GET_HANDLE \ long Handle = user32::GetAncestor(::ChartGetInteger(0, CHART_WINDOW_HANDLE), GA_ROOT); \ \ for (int i = 0; i < sizeof(ControlID) / sizeof(int); i++) \ Handle = user32::GetDlgItem(Handle, ControlID[i]); void OnStart() { static const int ControlID[] = {}; // Пробовал углубляться по дереву окон - не помогает. GET_HANDLE user32::SendMessageW(Handle, 0x10C1, 0, 0); } Sergey Dzyublik 2019.07.31 09:08 #25214 fxsaber: うまくいかなかった ハンドルネームを間違えているのでは? チャートは、MDIClientオブジェクトの中に実装されているので、rootのterminal.exeウィンドウまで行き、そこからウィンドウを下りて、ハイライトされた "SysListView32 "に行き、そのハンドルを使用する必要があるのです。 もっと簡単な方法があるかもしれませんので、試してみてください...。 fxsaber 2019.07.31 09:25 #25215 Sergey Dzyublik: ハンドルネームを間違えている可能性が高いです。 チャートは、MDIClientオブジェクトの中に実装されているので、rootのterminal.exeウィンドウまで行き、そこからウィンドウを下りて、ハイライトされた "SysListView32 "に行き、そのハンドルを使用する必要があるのです。 もっと簡単な方法があるかもしれませんので、試してみてください...。 ハンドルネームにたどり着いたが、役に立たなかった。 #include <WinAPI\winuser.mqh> #define GA_ROOT 0x00000002 #define GET_HANDLE \ long Handle = user32::GetAncestor(::ChartGetInteger(0, CHART_WINDOW_HANDLE), GA_ROOT); \ \ for (int i = 0; i < sizeof(ControlID) / sizeof(int); i++) \ Handle = user32::GetDlgItem(Handle, ControlID[i]); void OnStart() { static const int ControlID[] = {0xE81E, 0x804E, 0x28EF, 0x28FE}; GET_HANDLE Print(Handle); // Распечатал хендл. user32::SendMessageW(Handle, 0x10C1, 0, 0); } おそらく、別のメッセージでしょう。 Fast235 2019.07.31 09:26 #25216 長い間、私を悩ませてきたのは、思考回路を正しく動機づけるにはどうしたらいいかということです。 if (値[0] > 値[1]) またはその逆 は、最初のゼロから次のゼロへ? Gudgeon 2019.07.31 10:03 #25217 VMware x64で ターミナルがこのような動作をする理由を教えてください。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 ぐっどうぃる博士 2019.07.31 12:16 2019.07.31 08:20:46.595 ターミナル MetaTrader 5 x64 build 2085 開始 (MetaQuotes Software Corp.) 2019.07.31 08:20:46.596 ターミナル Windows 10 (build 14393)on VMware x64, IE 11, UAC, Intel Core i5-3450 @ 3.10GHz, Memory: 2728 / 4095 Mb, Disk: 69 / 99 Gb, GMT+3. 2019.07.31 08:20:46.596 ターミナル C:\PROGIMT-5 ターミナルにチャートオブジェクトがロードされているときに発生することが多いように感じます。 例:トレード、カレンダーイベント しばらくすると、インジケーターが正常に動作しなくなる。 - M1チャート。 - 任意の指標(図では標準移動平均線)。 - は3台のマシンでテストしました。 スケジュール期間を 変えれば、すべてがうまくいく。 私のEAでは、チャートインジケータからのシグナルを使用しているため、これは非常に重要です。 Errors, bugs, questions 初心者の方からの質問 MQL5 MT5 MetaTrader オートバリデーション - 問題点 Vladimir Karputov 2019.07.31 10:12 #25218 Gudgeon: こんにちは、なぜ端末がこのような動作をするのか、教えていただけませんか? しばらくすると、インジケーターが正常に動作しなくなる。 - M1チャート。 - 任意の指標(画像は標準的な移動平均線)。 - 3台のマシンで確認しました。 グラフの周期を 変えれば、すべてがうまくいくのです。 私はExpert Advisorでチャートインジケータからのシグナルを使用しているので、これは非常に重要です。 データを指定する。 ログ」タブから3行をコピー(3行を選択→右クリック→コピー) をクリックし、メッセージに貼り付けてください。このようなものが出てくるはずです。 2019.07.31 11:53:10.681 MetaTrader 5 x64 build 2093 started (MetaQuotes Software Corp.) 2019.07.31 11:53:10.685 Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i3-3120 M @ 2.50 GHz, Memory: 3188 / 8077 Mb, Disk: 99 / 415 Gb, GMT+2 2019.07.31 11:53:10.685 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075 Gudgeon 2019.07.31 10:16 #25219 2019.07.31 08:20:46.595 ターミナル MetaTrader 5 x64 build 2085 開始 (MetaQuotes Software Corp.) 2019.07.31 08:20:46.596 ターミナル Windows 10 (build 14393) on VMware x64, IE 11, UAC, Intel Core i5-3450 @ 3.10GHz, Memory: 2728 / 4095 Mb, Disk: 69 / 99 Gb, GMT+3. 2019.07.31 08:20:46.596 ターミナル C:\PROGIMT-5 ターミナルにグラフィカルなオブジェクトがロードされているときによく発生するようです。 例:トレード、カレンダーイベント、スモールタイムフレーム Errors, bugs, questions 初心者の方からの質問 MQL5 MT5 MetaTrader オートバリデーション - 問題点 Sergey Dzyublik 2019.07.31 10:35 #25220 fxsaber: ハンドルネームにたどり着いたが、役に立たなかった。 おそらく、別のメッセージでしょう。 WM_CONTEXTMENUで取得しました。 コードを少しいじったので、デバッグがしやすくなり、再利用も可能です。 #include <WinAPI\winuser.mqh> #define GA_ROOT 0x00000002 #define WM_CONTEXTMENU 0x007B #define PRINT(x) ; Print(#x, ":", string(x)) #define PRINT64(x) ; printf("%s%s%#.08x", #x, ":", x) long GetHandle(long handle, int &controls[]){ long next_handle = handle; for (int i = 0; i < ArraySize(controls); i++){ next_handle = user32::GetDlgItem(next_handle, controls[i]); PRINT64(next_handle); } return next_handle; } void OnStart(){ long RootHandle = user32::GetAncestor(::ChartGetInteger(0, CHART_WINDOW_HANDLE), GA_ROOT); PRINT64(RootHandle); int controls[] = {0xE81E, 0x804E, 0x28EF, 0x28FE}; long handle = GetHandle(RootHandle, controls); PRINT64(handle); //PRINT(user32::SendMessageW(handle, WM_CONTEXTMENU, 0, -1)); PRINT(user32::PostMessageW(handle, WM_CONTEXTMENU, 0, -1)); PRINT("Sleep"); Sleep(10 * 1000); } 1...251525162517251825192520252125222523252425252526252725282529...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
WinAPIについて教えてほしいのですが。MT5でこの2つのアクションを行えるようにする必要がある。
表示されたメニューを呼び出し、レポートを保存するを選択します。
表示されたメニューを呼び出し、セットファイルを読み込むを選択します。
MT4では、このようなことは非常に簡単です。MT5ではそうではありません。
つまり、メニューを開いて、適切なオプションを選択する必要があります。しかし、それができない。
そうあるべきようだ。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
プログラムによる「自動売買」ボタンの押し方
レナート・ファットフーリン, 2013.03.31 22:50
32ビット環境で実行するか、64ビットパーサーを 探します。タスク 2 のコンテキストメニューを呼び出す Message log を書くと、次のような結果になります。
![](https://c.mql5.com/3/286/image__108.png)
このメニューをSendMessage WinApiでプログラム的に呼び出してみてください。
タスク 2 のコンテキストメニューを呼び出す Message log を書くと、次のような結果になります。
このメニューをSendMessage WinApiでプログラム的に呼び出してみてください。
成功しない。
うまくいかなかった
ハンドルネームを間違えているのでは?
![](https://c.mql5.com/3/286/image__110.png)
チャートは、MDIClientオブジェクトの中に実装されているので、rootのterminal.exeウィンドウまで行き、そこからウィンドウを下りて、ハイライトされた "SysListView32 "に行き、そのハンドルを使用する必要があるのです。
もっと簡単な方法があるかもしれませんので、試してみてください...。
ハンドルネームを間違えている可能性が高いです。
チャートは、MDIClientオブジェクトの中に実装されているので、rootのterminal.exeウィンドウまで行き、そこからウィンドウを下りて、ハイライトされた "SysListView32 "に行き、そのハンドルを使用する必要があるのです。
もっと簡単な方法があるかもしれませんので、試してみてください...。
ハンドルネームにたどり着いたが、役に立たなかった。
おそらく、別のメッセージでしょう。
長い間、私を悩ませてきたのは、思考回路を正しく動機づけるにはどうしたらいいかということです。
if (値[0] > 値[1])
またはその逆
は、最初のゼロから次のゼロへ?
VMware x64で ターミナルがこのような動作をする理由を教えてください。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
ぐっどうぃる博士 2019.07.31 12:16
2019.07.31 08:20:46.595 ターミナル MetaTrader 5 x64 build 2085 開始 (MetaQuotes Software Corp.)
2019.07.31 08:20:46.596 ターミナル Windows 10 (build 14393)on VMware x64, IE 11, UAC, Intel Core i5-3450 @ 3.10GHz, Memory: 2728 / 4095 Mb, Disk: 69 / 99 Gb, GMT+3.
2019.07.31 08:20:46.596 ターミナル C:\PROGIMT-5
ターミナルにチャートオブジェクトがロードされているときに発生することが多いように感じます。
例:トレード、カレンダーイベントしばらくすると、インジケーターが正常に動作しなくなる。
- M1チャート。
- 任意の指標(図では標準移動平均線)。
- は3台のマシンでテストしました。
スケジュール期間を 変えれば、すべてがうまくいく。
私のEAでは、チャートインジケータからのシグナルを使用しているため、これは非常に重要です。
こんにちは、なぜ端末がこのような動作をするのか、教えていただけませんか?
しばらくすると、インジケーターが正常に動作しなくなる。
- M1チャート。
- 任意の指標(画像は標準的な移動平均線)。
- 3台のマシンで確認しました。
グラフの周期を 変えれば、すべてがうまくいくのです。
私はExpert Advisorでチャートインジケータからのシグナルを使用しているので、これは非常に重要です。
データを指定する。
ログ」タブから3行をコピー(3行を選択→右クリック→コピー)
をクリックし、メッセージに貼り付けてください。このようなものが出てくるはずです。
2019.07.31 08:20:46.595 ターミナル MetaTrader 5 x64 build 2085 開始 (MetaQuotes Software Corp.)
2019.07.31 08:20:46.596 ターミナル Windows 10 (build 14393) on VMware x64, IE 11, UAC, Intel Core i5-3450 @ 3.10GHz, Memory: 2728 / 4095 Mb, Disk: 69 / 99 Gb, GMT+3.
2019.07.31 08:20:46.596 ターミナル C:\PROGIMT-5
ターミナルにグラフィカルなオブジェクトがロードされているときによく発生するようです。
例:トレード、カレンダーイベント、スモールタイムフレームハンドルネームにたどり着いたが、役に立たなかった。
おそらく、別のメッセージでしょう。
WM_CONTEXTMENUで取得しました。
コードを少しいじったので、デバッグがしやすくなり、再利用も可能です。