複数のチャートを同時に表示していて、きれいに並べたいと思うことはありませんか?
なんとなく同じような大きさにして、表示位置を微調整したりして、そこそこ並べることはできますが、何かの拍子に動かしてしまったり、再調整が面倒だと思うこともしばしば。
mt4メニューの水平分割や垂直分割でもチャートを整列して表示できますが、今ひとつ使い勝手が悪いと思うのは私だけでしょうか。
そんな悩みを一発解決するスクリプトをどうぞ(^o^)。
ちょっと大げさですが、こんなふうに、微妙にずれて表示さているチャートも・・・、
タイルマネージャーで速攻ピッチリきれいに並びます♪
使い方は簡単で、このスクリプトをどこか適当なチャートにドロップし、下図のパラメータ設定でわかるように、「横分割数」で横方向に並べる数を、「縦分割数」で縦方向に並べる数を指定するだけです。
横、縦、それぞれ均等に分割して並べ直してくれます。
並び順は左から右へ、そして、上から下へ順番に並べますが、各チャート並び順とは関係なく、チャートをアクティブにした順、つまり、チャートをクリックした順に並べます。
上図の例で言えば、「AUDUSD,H1」→「AUDUSD,Daily」→「AUDUSD,Weekly」→「GBPUSD,H1」→「GBPUSD,Daily」→「GBPUSD,Weekly」の順にクリックしたのち、どこかのチャートにスクリプトをドロップし、横分割数を3、縦分割数を2にすれば図に示したように並びます。
また、例えば、上図の6つのチャートを、左側に1時間足、真ん中に日足、右側に週足の縦3分割で表示したい場合は、その順にチャートをクリックしたのち、次のように横分割数を3に、縦分割数を1にします。
すると、次のように、6枚のチャートが3分割され、各時間軸のチャートの後ろにもう一つのチャートが隠れるようにして表示されます。
また、縦横どちらかの分割数を0にすると、チャートの枚数と、0じゃない方の分割数から、自動的に0の方の分割数を計算して表示します。
例えば、6枚のチャートがあって、次のパラメータのように、横分割数を4に、縦分割数を0に設定すると、自動的に縦分割数を2に設定して下図のように表示してくれます。
また、このスクリプトは、「チャートタイトルと枠の表示・非表示(ボーダーコントロール)」スクリプトと合わせて使うと良いでしょう。
このタイルマネージャーで並べ直してから、このスクリプトを適用して、タイトルや枠線を非表示にして、チャートを見やすくしたり、動かないようにできます。
ソースファイル(TileManager.mq4)と実行ファイル(TileManager.ex4)をお渡しします。
なお、再コンパイルするには、ヘッダファイル「WinUser32.mqh」に次の文を追記してからコンパイルしてください。
「\MQL4\Include\WinUser32.mqh」内の 最初の方で、「#import "user32.dll"~#import」によって関数を定義しています。 その部分のどこか、最後でよいですが、 「bool GetClientRect(int hWnd , int &size[]);」 を追記した上で、再度コンパイルしてください。
元はと言えば他の方が作ったものですし、改変・再配布等ご自由にしていただいて構いませんが、バグ・改善点等お気づきの点があれば、お教えいただければ幸いです。
GogoJungleを初めてご利用する方へ商品のご利用まではかんたん3ステップ!
GogoJungleでは、会員様向けに、あなたの投資生活を豊かにするサービスをご用意しております。また、商品のご購入は通常会員様に限られさせていただいております。今すぐ会員登録をして、Gogojungleを活用してみませんか!