質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

MQL

MQL(Meta Quotes Language)は、Meta Trader4(MT4)で用いられるプログラミング用語です。MQLによりEAやインジケーターの作成が可能。C言語で書かれているため、C言語の知識があれば簡単に扱うことができます。

Q&A

解決済

1回答

2546閲覧

チャートの右クリックメニューの「更新」をプログラム側で実行する方法はないでしょうか?

buibui80

総合スコア1033

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

MQL

MQL(Meta Quotes Language)は、Meta Trader4(MT4)で用いられるプログラミング用語です。MQLによりEAやインジケーターの作成が可能。C言語で書かれているため、C言語の知識があれば簡単に扱うことができます。

0グッド

0クリップ

投稿2020/09/17 09:47

チャートの右クリックメニューの「更新」を実行すると、
ログイン中のFX業者から最近のロウソク足データを取得してチャートに反映してくれますが、
その「更新」をプログラム側で実行する方法はないでしょうか?

RefreshRates() や WindowRedraw() を試しましたがロウソク足データの取得・更新は行われませんでした。

<更新を行った場合の確認方法>
ツール > ヒストリーセンター から最近のロウソク足データを何本か削除または数値を変更してから、
チャートの右クリックメニューの「更新」を実行します。
再度ヒストリーセンターを確認すると削除または変更内容が最近のロウソク足データで更新されたことを確認できます。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

APIを呼んでWM_COMMANDを送れば行けました。
実行時にDLLの許可が必要です。

MQ4

1// スクリプト 2#property strict 3 4#import "user32.dll" 5int RegisterWindowMessageW(string lpString); 6int PostMessageW(int hWnd, int Msg, int wParam, int lParam); 7#import 8 9#define WM_COMMAND 0x0111 10 11#define WM_CMD_UPDATE 33324 // 更新 12#define WM_CMD_GRID 33021 // グリッド 13#define WM_CMD_VOLUME 33024 // 出来高 14#define WM_CMD_ZOOM_IN 33025 // ズームイン 15#define WM_CMD_ZOOM_OUT 33026 // ズームアウト 16 17void OnStart() 18{ 19 static int msgID = 0; 20 if (msgID == 0) 21 { 22 msgID = RegisterWindowMessageW("MetaTrader4_Internal_Message"); 23 } 24 25 int hWnd = (int)ChartGetInteger(ChartID(), CHART_WINDOW_HANDLE); 26 27 PostMessageW(hWnd, WM_COMMAND, WM_CMD_UPDATE, 0); 28 PostMessageW(hWnd, msgID, 2, 0); 29}

投稿2020/09/17 13:13

mah

総合スコア591

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

buibui80

2020/09/18 04:12

ご返答ありがとうございます。 ご提示のコードで問題なく更新されることを確認できました。 備忘録 WM_COMMANDで実行できそうなコマンド https://www.mql5.com/en/forum/124688 File: aswincmd.mqh をDLして確認
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問