![見出し画像](https://assets.st-note.com/production/uploads/images/92331253/rectangle_large_type_2_6439a78286975e3c2c1d563cb7d1db82.png?width=1200)
MT4に張った多数のチャートの設定をまとめて変更する方法
MT4で、朝スキャEAなど、多通貨ペアのチャートを大量に貼り付けたチャートのロットを変更したい時、などに有効な方法をご紹介します。
![](https://assets.st-note.com/img/1669803359805-GQAsjjrPsy.png?width=1200)
①チャートの組表示を利用する
「ファイル」→「チャートの組表示」→「名前を付けて保存」で、現在開いているチャート全ての設定(チャートデザイン、インジやEAの設定等)を保存することが出来ます。
特に名前を付けていない場合は、Defaultという名前で既に保存されています。下の例では「eagle」という名前で保存しています。
![](https://assets.st-note.com/img/1669805030817-qmGH29f2ik.png)
②チャート組表示の名前のフォルダを開く
まず、「ファイル」→「データフォルダを開く」から、開いているMT4のデータがあるパスを開きます。次に、このパス配下の、"profiles"フォルダを開くと、そこに、先ほど保存した「eagle」というチャート組表示のプロファイルがあります。
![](https://assets.st-note.com/img/1669805671610-xIMElqa6bK.png?width=1200)
このフォルダ配下に、チャートの各種設定(チャートデザイン、インジやEAの設定等)がテキストファイルで保存されています。ここにある "chartXX.chr” ファイルが、ある1つのチャートに対する設定ファイルになります。
![](https://assets.st-note.com/img/1669825658439-J7t6c32CaD.png?width=1200)
③サクラエディタをインストール
この全ファイルを手作業で修正するのは大変なので、フォルダ以下のファイルをまとめて置換してくれるGrep置換というものがあります。これに対応したテキストエディタをお持ちでない方は、サクラエディタをダウンロードしてインストールしてください。
サクラエディタのサイトから、「ダウンロード」→「~Installer.zip」をクリックしてインストーラをダウンロードします。バージョンは以下ではv2.4.1ですが、その時の最新版で大丈夫です。
![](https://assets.st-note.com/img/1669806607009-zpXUcWayGI.png?width=1200)
zipを解凍してインストールします。インストール時は、色々とダイアログが出ますが、基本はデフォルトでOKです。下図左にある設定画面のみ、好みに応じて赤枠のチェックをしてください。
(私はサクラエディタLOVEなので、「~で開く」をチェックしています)
・SAKURA Editorで開くメニューの追加
→ファイル右クリック時のメニューに、「SAKURA Editorで開く」が追加
・送るに追加
→ファイル右クリック時の「送る」に、「SAKURA Editor」が追加
![](https://assets.st-note.com/img/1669808538182-2j429iwtHI.png?width=1200)
④置換したい箇所の特定
サクラエディタを起動し、「chart01.chr」ファイルをエディタにドラッグ&ドロップします(または、起動せずに、上記の「SAKURA Editorで開く」、「送る→SAKURA Editor」で開いてもいいです)。
すると、設定ファイルがテキストで書かれていると思います。下図左のように、ファイルの最後の方に、<expert>~</expert>で囲まれたブロックがあると思います。ここが、EAの設定パラメータです。下図右の、EAの設定画面と対応していることが分かると思います。
例えばeagle blizzard CXCでは、ロットに関するパラメータが下図の赤枠のようになっています。全通貨一律で0.3ロットにしたい場合は、全ての「chartXX.chr」ファイルで、"Lots=0.2" → "Lots=0.3" に置換すれば良いのです。
![](https://assets.st-note.com/img/1669821647174-ByfZLWXLAd.png?width=1200)
⑤Grep検索で置換箇所を確認
実際に置換する前に、Grep検索で、指定フォルダ下の全ファイルを検索してみます。
サクラエディタの「検索」→「Grep」を選択し、Grep条件入力ダイアログで「条件」を「Lots=0.2」とします(下図左)。
また、先ほど開いたフォルダのパスをコピーして(下図右)、Grep条件入力ダイアログの「フォルダ」にペーストします(下図左下)。
![](https://assets.st-note.com/img/1669825593810-5pNB5UvKck.png?width=1200)
「検索」ボタンをクリックすると、検索結果が表示されます。下図赤枠の左側がファイル名、右側が検索した文字列です。過不足なく抽出できているか確認します。想定外の箇所が検索されていると、次の置換の作業で誤って置換してしまうので、検索条件を見直してください。
![](https://assets.st-note.com/img/1669822751775-vHujoa3v2p.png?width=1200)
⑥Grep置換で一括置換
さて、いよいよ置換作業です。この作業は、必ずMT4を閉じている状態で行ってください。また、誤って置換したときのために、該当のチャート組表示のフォルダ(今回の例では「eagle」フォルダ)をバックアップしておいてください。他の場所にコピーしたり、フォルダをzip圧縮しておいたりします。
※ zip圧縮であれば、「profile」フォルダ下に残したままでも構いませんが、コピーしたフォルダを「profile」フォルダ下に置くと、MT4からもその名前で見えてしまうので注意してください。
サクラエディタの「検索」→「Grep置換」を選択すると、以下のようなGrep置換ダイアログが出ます。「フォルダ」は前回選択したものが残っていると思うので、確認して、「置換前」と「置換後」を間違いなく設定します。下図は、0.2ロットを0.3ロットに変更する例です。
![](https://assets.st-note.com/img/1669825528104-loVk4f06V2.png?width=1200)
「バックアップを作成」のチェックは外してもいいと思います。既に手作業でバックアップ済みですし、このチェックを入れると、同じフォルダに多数のバックアップファイルが作成されてしまい、イマイチな気がします。
正しく設定したら、「置換」をクリックします。すると、置換結果が以下の通り出力され、無事置換が完了しました。
(検索や置換の結果表示ウィンドウは、閉じてしまって構いません)
![](https://assets.st-note.com/img/1669825421937-nb5bKYX1aO.png?width=1200)
なお、この時に、先ほどの「chart01.chr」ファイルを開いたままだった場合は、以下のダイアログが出るので、「再読込」をクリックすると、開いているファイルの内容が更新されます。
![](https://assets.st-note.com/img/1669825476200-wyrZeU22BF.png)
置換が終わったら、MT4を起動して、設定を確認してみてください。
置換前後で、ファイルとMT4の設定は、以下の通り更新されています。
めでたしめでたし!
![](https://assets.st-note.com/img/1669825330348-TUJuEE9o5D.png?width=1200)
応用編(余談)
余談ですが、応用として、別のブローカーのMT4に移行したい時は、この「eagle」フォルダを移行先にコピーすれば良いです。IBのEAでは無理ですが、市販EAの場合は、一旦口座紐づけを解除してから新しいMT4にチャート設定まるごと移行できます。
ただし、注意点として、通貨ペア名が異なる場合、上記同様にGrep置換が必要です。通貨ペア名は、"chartXX.chr" ファイルで、"symbol=XXXXXX"と書かれているのでここを置換します。例えば、"symbol=XXXXXX.raw” に一括置換したい場合はどうするか? ”XXXXXX"の箇所は通貨ペアで異なるので、単純には置換できません。
そこで登場するのが正規表現です。何それ?って感じですね。きっちり勉強したい人はググってもらうとして、今回のような場合は、以下のようにすると置換できます。
(「正規表現」のチェックを付けるのを忘れないでくださいね)
![](https://assets.st-note.com/img/1669827125968-CTwq5k5ysV.png?width=1200)
置換前: symbol=(.{6}).*
置換後: symbol=\1\.raw
(※「¥」の半角は「\」となってしまっていますが、「¥」の半角を入力してください)
"symbol=" の後に続く任意の6文字が、"\1"に入るようになります。また、".*" の部分は行末まで続く任意の文字数の文字列になります。つまり、置換前が"AUDNZD" だろうと、"AUDNZD." だろうと、"AUDNZD.hs" だろうと、検索条件にマッチングして、"AUDNZD.raw" に置換されます。
素敵ですね!!!
余談でした!
この記事が気に入ったらサポートをしてみませんか?