記事"MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン"についてのディスカッション - ページ 8 123456789 新しいコメント Andrey Khatimlianskii 2013.10.24 10:54 #71 C-4: MT5では、チャートのプロパティは非同期で更新されます。つまり、プロパティを設定したからといって、端末がすぐにそれを読み取るわけではありません。ChartRedraw()関数を 使用して、すべてのプロパティをターミナルに再読み込みさせます。また、ChartGet...ObjectGet関数も使えますが、この場合もプロパティは再読み込みされます。 この情報はどこにもありませんでした。私はそれを見つけ、解決策を見つけました。 Rashid Umarov 2013.10.24 11:05 #72 komposter: この情報はどこにもなかった。偶然見つけて、解決策を見つけた。それは何ですか?チャートの操作」セクションの冒頭にある:チャートを操作するための関数。チャートに関するすべての操作は、Expert Advisorとスクリプトにのみ適用されます。 チャートのプロパティを設定する関数は、実際にはそれを変更するコマンドを送信するために使用されます。 これらの関数が正常に実行された場合、そのコマンドはチャートの一般的なイベント・キューに含まれます。グラフの変更は、指定されたグラフのイベント・キューの処理中に行われます。 このため、これらの関数を呼び出した後、すぐにグラフが更新されることを期待してはいけません。 一般に、チャートの更新は、新しい気配値の到着、チャート・ウィンドウ・サイズの変更などの変更イベントによって、端末によって自動的に行われます。強制的にチャートの外観を更新するには、ChartRedraw() コマンドを使用してチャートを再描画します。 Vasiliy Sokolov 2013.10.24 11:07 #73 komposter: この情報はどこにもなかった。偶然見つけて、解決策を見つけた。 もちろん、この情報はどこにもないのだから(あることが判明した、上記参照:))。私自身、サービスデスクに相談するまで、この問題に悩まされていた。そこで彼らは、チャート上のオブジェクトのプロパティの変更は 非同期的に起こると教えてくれました。そして、あなたの例から判断すると、それはチャート自体のプロパティに関するものです。 Andrey Khatimlianskii 2013.10.24 11:44 #74 Rosh:具体的にはどのようなことですか?このセクションの冒頭の「チャートによるオペレーション」だ:それがないとは言っていないよ。ありがとう。マウス・イベント・トラッキング・フラグのようなチャート・プロパティを変更したときにCHART_CHANGEイベントを発生させるという私の提案はどうですか?もしかしたら、それができるかもしれません。 Rashid Umarov 2013.10.24 12:25 #75 C-4: もちろん、この情報はどこにも公開されていないから だ(公開されていることが判明した。)私自身もこの問題に悩まされ、サービスデスクに相談した。そこで彼らは、チャート上のオブジェクトのプロパティの変更は 非同期的に起こると教えてくれました。そして、あなたの例から判断すると、それはチャート自体のプロパティに関するものです。詳しくはグラフィック・オブジェクトの セクションを参照してください:指定されたチャートに関連するグラフィカル・オブジェクトを操作するために設計された関数群。 グラフィカル・オブジェクトのプロパティを指定する関数や、ObjectCreate() オブジェクトの作成、ObjectMove()オブジェクトの チャート上への移動などの操作は、実際にはチャートへのコマンド送信に使用されます。 これらの関数が正常に実行されると、そのコマンドはチャートの一般的なイベント・キューに含まれます。グラフィカル・オブジェクトのプロパティの視覚的な変更は、指定されたチャートのイベント・キューの処理中に実行されます。 このため、これらの関数を呼び出した後、すぐにグラフィカル・オブジェクトが視覚的に更新されることは期待しないでください。 一般に、チャート上のグラフィカル・オブジェクトの更新は、新しい気配値の到着、チャート・ウィンドウ・サイズの変更などの変更イベントによって、端末によって自動的に実行されます。 グラフィカル・オブジェクトを強制的に更新するには、ChartRedraw() コマンドを使用してチャートを再描画します。 Andrey Khatimlianskii 2013.10.24 14:49 #76 Rosh:詳しくはグラフィック・オブジェクトの セクションで:オブジェクトはわかりやすく、使い慣れたものですが、グラフのプロパティとは違うものを期待していました。私の提案は繰り返さない方がいいのでしょうか?それとも、サービスデスクに相談すべきでしょうか? VictorD 2015.01.12 04:53 #77 素晴らしい記事をありがとう。 Wen Yu Liu 2016.01.27 11:32 #78 MetaQuotes Software Corp.:新しい記事「 MQL5細則:インジケーター・サブウィンドウのコントロール - ボタン」を公開しました:著者:Anatoli Kazharskとても素晴らしいチュートリアルです! CipherPips 2016.02.02 20:20 #79 アナトーリ、あなたのMQL5コミュニティへの貢献に感謝します。 あなたの例のおかげで、私自身のコードの開発に数ヶ月前進することができました。 改めて、ありがとうございます。この「インジケーター」をOpen Long、Open Short、Close All、Set Trailing Stopの各ボタンに使用する必要があります。 私の問題は、EAと対話する必要があることです。1) EA内でこれらの機能に アクセスする。2) pSAR、CCI、MACD、またはその他のインジケータがトリガーしたときに、「Open Long」ボタンを点滅させてEAの推奨を得ることです。そこで質問です:EAをインジケーターボタンと通信させ、インジケーターボタンをEAとインターフェースさせるにはどうすればよいでしょうか?よろしくお願いします、サイファーピップス Anatoli Kazharski 2016.03.10 13:37 #80 CipherPips:ありがとう! そのバージョンの方がお好きだと思います:グラフィカル・インターフェース I:ライブラリ構造の準備 (第1章)このシリーズの続きです。 詳細な例がたくさんあります。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT5では、チャートのプロパティは非同期で更新されます。つまり、プロパティを設定したからといって、端末がすぐにそれを読み取るわけではありません。ChartRedraw()関数を 使用して、すべてのプロパティをターミナルに再読み込みさせます。また、ChartGet...ObjectGet関数も使えますが、この場合もプロパティは再読み込みされます。
この情報はどこにもなかった。偶然見つけて、解決策を見つけた。
それは何ですか?チャートの操作」セクションの冒頭にある:
チャートを操作するための関数。チャートに関するすべての操作は、Expert Advisorとスクリプトにのみ適用されます。
チャートのプロパティを設定する関数は、実際にはそれを変更するコマンドを送信するために使用されます。 これらの関数が正常に実行された場合、そのコマンドはチャートの一般的なイベント・キューに含まれます。グラフの変更は、指定されたグラフのイベント・キューの処理中に行われます。
このため、これらの関数を呼び出した後、すぐにグラフが更新されることを期待してはいけません。 一般に、チャートの更新は、新しい気配値の到着、チャート・ウィンドウ・サイズの変更などの変更イベントによって、端末によって自動的に行われます。強制的にチャートの外観を更新するには、ChartRedraw() コマンドを使用してチャートを再描画します。
この情報はどこにもなかった。偶然見つけて、解決策を見つけた。
具体的にはどのようなことですか?このセクションの冒頭の「チャートによるオペレーション」だ:
それがないとは言っていないよ。ありがとう。
マウス・イベント・トラッキング・フラグのようなチャート・プロパティを変更したときにCHART_CHANGEイベントを発生させるという私の提案はどうですか?もしかしたら、それができるかもしれません。
もちろん、この情報はどこにも公開されていないから だ(公開されていることが判明した。)私自身もこの問題に悩まされ、サービスデスクに相談した。そこで彼らは、チャート上のオブジェクトのプロパティの変更は 非同期的に起こると教えてくれました。そして、あなたの例から判断すると、それはチャート自体のプロパティに関するものです。
詳しくはグラフィック・オブジェクトの セクションを参照してください:
指定されたチャートに関連するグラフィカル・オブジェクトを操作するために設計された関数群。
グラフィカル・オブジェクトのプロパティを指定する関数や、ObjectCreate() オブジェクトの作成、ObjectMove()オブジェクトの チャート上への移動などの操作は、実際にはチャートへのコマンド送信に使用されます。 これらの関数が正常に実行されると、そのコマンドはチャートの一般的なイベント・キューに含まれます。グラフィカル・オブジェクトのプロパティの視覚的な変更は、指定されたチャートのイベント・キューの処理中に実行されます。
このため、これらの関数を呼び出した後、すぐにグラフィカル・オブジェクトが視覚的に更新されることは期待しないでください。 一般に、チャート上のグラフィカル・オブジェクトの更新は、新しい気配値の到着、チャート・ウィンドウ・サイズの変更などの変更イベントによって、端末によって自動的に実行されます。 グラフィカル・オブジェクトを強制的に更新するには、ChartRedraw() コマンドを使用してチャートを再描画します。
詳しくはグラフィック・オブジェクトの セクションで:
オブジェクトはわかりやすく、使い慣れたものですが、グラフのプロパティとは違うものを期待していました。
私の提案は繰り返さない方がいいのでしょうか?それとも、サービスデスクに相談すべきでしょうか?
新しい記事「 MQL5細則:インジケーター・サブウィンドウのコントロール - ボタン」を公開しました:
著者:Anatoli Kazharsk
とても素晴らしいチュートリアルです!
アナトーリ、
あなたのMQL5コミュニティへの貢献に感謝します。 あなたの例のおかげで、私自身のコードの開発に数ヶ月前進することができました。 改めて、ありがとうございます。
この「インジケーター」をOpen Long、Open Short、Close All、Set Trailing Stopの各ボタンに使用する必要があります。 私の問題は、EAと対話する必要があることです。
1) EA内でこれらの機能に アクセスする。
2) pSAR、CCI、MACD、またはその他のインジケータがトリガーしたときに、「Open Long」ボタンを点滅させてEAの推奨を得ることです。
そこで質問です:EAをインジケーターボタンと通信させ、インジケーターボタンをEAとインターフェースさせるにはどうすればよいでしょうか?
よろしくお願いします、
サイファーピップス
ありがとう!
そのバージョンの方がお好きだと思います:グラフィカル・インターフェース I:ライブラリ構造の準備 (第1章)
このシリーズの続きです。 詳細な例がたくさんあります。