MT4のスクロールキーを楽に押したままにする法

MQL5のヘルプは一通り読み終えました。MQL4からMQL5への移植自体は難しくなさそうですが、MQL5の能力をフルに生かすにはインジケータもEAも再設計が必要…というのが今の印象です。ベータ版が出たら、追々テストしてゆこうと思っていますが、今はまだMT4に専念しなくてはなりません。><


さて、MetaTrader4を1年以上お使いの人なら、お分かり頂けると思うのですが、MT4を使っていると、どうしてもスクロールキー ( 左矢印キーか、Home キー) を押しっぱなしにしたくなる時があります。


世間には、押し続けたい気持ちが高じて、洗濯ばさみで押しっぱなしにする人まで出てくるほど....。

私個人は、こういう「使えるモノは何でも使え」的な発想が大好きなので、微笑ましく思っていたのですが、流石にこの方法では同時に1枚のチャートしかスクロールが出来ないのでちょっと不便です。そこで、複数のチャートに対して同時にHome キーを押し続けられる バーチャル洗濯ばさみを開発しました。


使い方は、scriptsフォルダに入れて、個々のチャートのAuto Scrollをオフにしてからドロップするだけで、24時間延々と押し続けてくれます。止めるときは、それぞれのチャートを右クリックして、スクリプトの削除をすればOK です。
押し続けている間は、MT4をバックグラウンドにして、別のアプリで作業が出来る優れものです。是非一度お試しください。



//+------------------------------------------------------------------+
//| HomeKeyRpeater.mq4 |
//| Copyright (c) 2009, fai. |
//| []http://d.hatena.ne.jp/fai_fx/[] |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2009, fai"#property link "[]http://d.hatena.ne.jp/fai_fx/[]"
#property show_confirm
#include
<WinUser32.mqh>int start() { if (!IsDllsAllowed()) { Alert("ERROR: [Allow DLL imports] NOT Checked.");return (0); } int i = 0; int hwnd = WindowHandle(Symbol(), Period()); while (!IsStopped()) { PostMessageA(hwnd, WM_KEYDOWN, 36, 0);//36=Home PostMessageA(hwnd, WM_KEYUP, 36, 0); Sleep(1000); Comment(" Bars = ", WindowFirstVisibleBar()," Home Key Count = ", i); i++; WindowRedraw(); } return (0);
}


追記

神速のHistorical Data ダウンロード術。←こちらの記事も併せてお読みください。