MT4 複数のチャートでラインを同期するインジケーター(Mi_Synchronizer)

ラインなどのオブジェクトをリアルタイムに別のチャートに同期(シンクロ)するインジケーターを作りました。

もちろんライン以外のオブジェクト(四角形やフィボナッチ・リトレースメントなど)にも対応済み。

2022年6月12日バージョンアップ(v05)

バージョンアップしました。バージョンv04のNo Syncモードの処理を1カ所修正しました。

2022年6月12日バージョンアップ(v04)

バージョンアップしました。 同期を一時中断するNo Syncモードを追加しました。同期を強化したAdd Syncモードを追加しました。処理ロジックを見直し、負荷軽減・安定化を行いました。

オブジェクトを他チャートに同期

このインジケーターは、手動で作成したオブジェクトをリアルタイムに他のチャートに同期します。移動・編集・削除ももちろん同期されます。その様子をざっと動画にしました。(1分22秒)

↑オブジェクトの生成や、削除がリアルタイムに他のチャートにも反映されます。

補足:同期対象について

同期させたいチャート全てに本インジケーター(Mi_Synchronizer)を適用してご利用ください。本インジケーターが適用されていないチャートには同期処理は行われません。また、動作干渉防止のため、他者製インジにより生成されたオブジェクトは原則として同期処理を行いません。

同期を一時中断するNo Syncモードを搭載

【バージョンv04にて追加】ショートカットキー(sキー)を押すと、他チャートへの同期を一時中断するNo Syncモードに切り替わります。

No Syncモードの動作イメージ

↑左側がNo Syncモード中のチャートです。No Syncモード中のチャートでラインを描画したり変更したりしても、他のチャートへの同期は一切行われません。

No Syncモードを使うと「このチャートだけにちょっとラインを引きたい」とか「ここだけにメモのテキストを入れたい」といった融通が利くようになります。

ショートカットキーを再度押すか、「No Sync」のラベルをクリックすると通常モードに戻ります。

No Syncモードが不要な場合は、設定パラメータでショートカットキーを「なし」にすると機能が無効になります。

後から開いたチャートにもコピー可能なAdd Syncモードを搭載

【バージョンv04にて追加】ショートカットキー(デフォルトはs)を押すと、同期が強化されたAdd Syncモードモードに切り替わります。

Add Syncモード中は、オブジェクトをクリックしたり変更した場合に、他チャートに同期対象のオブジェクトが存在しない場合にはオブジェクトを生成して同期します。

Add Syncモードの動作イメージ

↑左側のチャートがAdd Syncモード中です。左チャートでトレンドラインをクリックすると右チャートにトレンドラインを生成して同期します。

ある程度ラインを引いた後で「新しく開いたチャートにラインをコピーしてどうきしたい」といった用途に使えます。

ショートカットキーを再度押すか、「Add Sync」のラベルをクリックすると通常モードに戻ります。

Add Syncモードが不要な場合は、設定パラメータでショートカットキーを「なし」にすると機能が無効になります。

対応オブジェクト

MT4の手動生成オブジェクトには全て対応済みです。「あのオブジェクトが足りない!」なんて心配は一切ご無用です。

具体的な対応状況は下表のとおり。

分類 対応オブジェクト
ライン 【全種類に対応】
・垂直線
・水平線
・トレンドライン
・角度によるトレンドライン
チャネル 【全種類に対応】
・フィボナッチ
・線形回帰
・平行チャネル
・標準偏差
ギャン 【全種類に対応】
・ギャンライン
・ギャンファン
・ギャングリッド
フィボナッチ 【全種類に対応】
・リトレースメント
・タイムゾーン
・ファン
・アーク
・エクスパンション
図形 【全種類に対応】
・長方形
・三角形
・楕円形
矢印類 【全種類に対応】
・サムズ アップ
・サムズ ダウン
・上向き矢印
・下向き矢印
・ストップサイン
・チェックサイン
ほか
その他 ・アンドリューズ ピッチフォーク
・サイクルライン
・テキスト
・テキストラベル

↑オブジェクトの種類ごとに同期させるか同期させないかを指定できます。

みながちの他インジと連動

本インジケーターは、「ショートカットキーでラインを引くインジ(Mi_KeyToDraw)」や、「時間足ごとにラインのスタイルを矯正するインジ(Mi_LineStyle)」と連動するようにプログラムしてあります。

インジを併用することで、

  1. ショートカットキーでラインを引く(Mi_KeyToDraw)
  2. ラインの色を時間足ごとに矯正(Mi_LinStyle)
  3. 他のチャートに同期(Mi_Synchronizer)←本インジ

といった一連の流れをスムーズに行えます。

対応バージョンについて

Mi_KeyToDrawはバージョンv09以降、Mi_LineStyleはバージョンv04以降を使用してください。それ以前のバージョンでは連動しません。

ご注意:非対応インジ

「下位足のラインを非表示にするインジケーター(Mi_LineHide)」は、本インジケーターとは併用できません。

使い方

使い方は簡単。まずは①同期させたいチャート全てにMi_Synchronizerを適用します。②あとは通常通りラインなどを引いたり移動させたりするだけです。

使用方法

↑上図の場合では4つのチャート全てにMi_Synchronizerを適用して4つのチャートを同期しています。

設定パラメータ

設定パラメータは下図の通り。オブジェクトの新規生成時は「全時間足へ同期生成する」か「下位足のみへ同期生成する」かを選択できます。(オブジェクトの変更や削除は常に全時間足に同期されます。)

設定パラメータ

↑設定項目はできるだけ単純にしました。

ダウンロード

このインジケーターは下記から入手できます。

  • Mi_Synchronizer【製品版】製品版は通貨ペアの制限なし(ゴゴジャンで販売中)ゴゴジャンで見るトレンドラインや水平線などのオブジェクトを複数のチャート間で同期します。ラインの生成・変更・削除をいつもシンクロ! | GogoJungle

インジケータのインストール方法が分からない人は「MT4にインジケーターを入れる方法(初心者向け)」を参照してください。

バージョンアップ履歴

更新日 Ver. 概要
2022年6月12日 v05 ・No Syncモードの処理を1か所修正
2022年6月12日 v04 ・同期を一時中断するNo Syncモードを追加
・同期を強化したAdd Syncモードを追加
・処理ロジックを見直し(負荷軽減・安定化)
2020年12月10日 v03 ・オブジェクトの選択状態の同期をパラメータで指定できるように改良
・特定手順の操作時に同期処理が行われないバグを解消
2020年10月16日 v02 不具合修正(設定パラメータで同期を無効にしても同期されてしまう不具合を解消)
2020年6月28日 v01 リリース

まとめ

複数のチャート間でラインを同期するインジケーターを紹介しました。

設定パラメータもシンプルにして、できるだけ簡単に導入できるインジに仕上げました。

チャートを何枚か並べてマルチタイムフレーム分析するトレードスタイルの方には便利だと思います。一度お試し下さい。

コメント

この記事へのコメント(31 件)

  • nanaさんより

    フィボナッチに独自でパラメータを追加している場合、
    同期した別の時間足には独自のパラーメータが反映されません。
    (デフォルトの数値で表示されてしまいます。)
    もし可能ならパラメータも反映してほしいのですが、
    MT4の使用として難しいかんじでしょうか?

  • 管理人ですさんより

    nanaさんへ
    コメントありがとうございます。
    私の方で動作確認してみましたが、独自のパラメータ(80.0や200.0などのレベルライン)を追加した場合にも他のチャートに正常に反映されました。
    nanaさんの使用状況がわかればもう少し詳しく調べることができますので、下記3つ教えていただけませんでしょうか。
    1.フィボナッチとは、フィボナッチ・リトレースメントのことでしょうか
    2.「独自のパラメータ」とは例えばどのようなパラメータでしょうか
    3.どのような手順で操作を行ったときにパラメータが反映されなかったのか具体的に教えてください
    お手数をおかけして申し訳ございません。どうぞよろしくお願いいたします。

  • nanaさんより

    ご回答ありがとうございます。
    そうです、フィボナッチ・リトレースメントです。
    でも、このインジケーターだけ入れて試してみたらちゃんと反映されました!
    他のインジケータを少しずつ追加しながら再度試してみようと思います。

  • 管理人ですさんより

    nanaさんへ
    その後のご連絡ありがとうございます。
    本インジ単独の場合に正常動作するということは他のインジとの相性の可能性がありそうですね。

    【2020/12/10追記】
    プログラムの改修作業を行っている最中に、特定操作の場合に同期処理が漏れるバグが見つかりました。nanaさんのおっしゃっていたフィボナッチのパラメータが反映されない症状はこのバグが原因かもしれません。バグは本日のバージョンアップ(v03)にて解消しましたので、お手すきの時にインジを差し替えください。ご迷惑おかけして申し訳ございません。

  • Kさんより

    始めまして。いつも便利に使わせていただいています。
    以下の操作を行った際に、上位足のラインが消えてしまう事象を、可能であれば修正いただけると嬉しいです。

    ■設定
    ・オブジェクトの生成:下位足のみへ同期する

    ■操作
    1.上位足の画面でラインを引く
    2.下位足の画面に切り替え、Deleteキーで誤ってラインを削除
    3.Ctrl+Zでもとに戻す
    4.上位足の画面は消えたまま戻らない

    ⇒上位足もCtrl+Zで戻って欲しい
    ⇒もしくは、上位足で引いて同期されたラインが下位足に切り替えた際に選択状態になっているので、誤削除してしまわないように下位足では非選択状態になるようにして欲しい

    恐れ入りますがご確認のほどよろしくお願いいたします。

  • 管理人ですさんより

    Kさんへ
    ご利用いただきましてありがとうございます。
    また、ご指摘の事象についても理解致しました。ご記載いただいた2つの方法につきましてそれぞれ回答させていただきます。
    ・「上位足もCtrl+Zで戻って欲しい」という方法について → MT4のインジケータープログラムではCtrl+Zによるラインの変化を感知できないため、この方法はMT4の仕様上実現できません。
    ・「下位足では非選択状態になるように」という方法について → 現状の仕様では選択状態も他のチャートに同期するようにしています。次回バージョンアップにて、選択状態を他のチャートに同期するかどうかを設定パラメータにて指定できるように致します。

    プログラムの改修が終わるまでしばらくお待ちくださいませ。

    【2012/12/10追記】
    バージョンアップ(v03)しました。設定パラメータにて選択状態を他のチャートに同期するかどうかを指定できますので、その設定をfalseにすれば選択状態の同期を切ることができます。

  • Kさんより

    管理人様

    ご確認及び迅速なご対応ありがとうございます!

    早速バージョンアップして設定させていただきました。

    今後ともどうぞよろしくお願いいたします。

  • 管理人ですさんより

    Kさんへ
    ご連絡ありがとうございます。
    こちらこそ今後ともどうぞ宜しくお願い致します。

  • トッポさんより

    Mi_Synchronizer【試用版】を使ってみています。上位足、下位足のラインの反映も瞬時で、大変便利なインジだと感激しています。標準版の使用を考えていますが、ひとつお伺いいたします。
    こちらは他の組へのオブジェクトの反映することはできますか?
    例えば、Aという組表示のUSDJPYにトレンドラインを引いたとき、Bの組表示のUSDJPYにも変更が反映されるような機能はありますか?
    どうぞよろしくお願いいたします。

  • 管理人ですさんより

    トッポさんへ
    コメントありがとうございます。
    ご質問の回答ですが、本インジケーターには他の組表示に変更を反映する機能はありません。
    実現する方法がないかとざっと考えてみましたが全く思いつきませんでした。
    ご期待に沿えず申し訳ございません。

  • トッポさんより

    ご返信ありがとうございます!ご検討いただいて感謝いたします(^^)

  • 管理人ですさんより

    トッポさんへ
    ご質問内容が具体的で分かりやすかったので、残念な回答となってしまいましたが、検討しやすかったです^^
    ありがとうございました。

  • Nさんより

    【他時間足にラインが同期できない】
    こんにちは。
    Mi_LineStyle最新版とこのMi_Synchronizerを利用させていただいております。
    私のチャート表示の環境ですが、1画面に複数の時間足を表示し
    1画面で通貨を切り替えれるチャートチェンジャーのインジを使用しております。

    そこで例えば4時間足にラインを引いたものを下位足の1時間、15分などに
    共有できるのですが、別の通貨に移動して、再度ラインを引いた通貨に
    戻ると4時間で引いたライン以外(1時間や15分)のラインが全部消えてしまいます。
    こちらどのような問題が考えられますでしょうか。
    現在、環境認識の作業が止まっており大変困っております。
    ご返答のほどよろしくお願い致します。

  • 管理人ですさんより

    Nさんへ
    こんにちは。インジのご利用ありがとうございます。
    ご記載いただいた状況から推察するに、お使いの「チャートチェンジャーのインジ」が通貨を切替える際にラインを削除する処理などが入っているのではないかと思われます。その場合には解決する方法はなく、そのチャートチェンジャーのインジとの併用をやめるしかありません。
    通貨の切り替えが必要であれば私の制作した「Mi_SymbolChanger」または「Mi_KumiChanger」のインジで代用できるかもしれませんのでもしよろしければお試し下さい。この2つのインジであればMi_Synchronizerと併用可能です。

  • Nさんより

    ご返信いただきありがとうございます。
    チェンジャーのインジをはずしたら機能回復いたしました。
    今後、利用方法を考えて検討したいとおもいます。
    ご対応ありがとうございました。

  • 管理人ですさんより

    Nさんへ
    その後の状況のご連絡ありがとうございます。お使いのチェンジャーと併用できればよかったのですが、それについてはお役に立てず申し訳ございません。また何かありましたらお気軽にご連絡下さい。

  • ほんまさんより

    お世話になっております。
    Mi_Synchronizer_v03の質問をさせて下さい。
    モニターに4時間足、1時間足、15分足の3つのチャートを表示させています。「下位足のみへ同期生成する」に設定し15分足にラインを引くと4時間足、1時間足にもラインが引かれます。この場合、15分足より上の時間足には表示されないと考えていましたがいかがでしょうか。
    PC環境ですが、Mi_LineStyle_v11も利用しています。Mi_LineHide、Mi_KeyToDrawは利用していません。
    ご回答をよろしくお願い致します。

  • 匿名さんより

    先程の質問の件ですが、再ダウンロードで解決しました。
    ご心配をおかけいたしました。

  • 管理人ですさんより

    ほんまさんへ
    コメントありがとうございます。
    ご質問についてですが、「下位足のみへ同期生成する」に設定して15分足にラインを引いた場合には、上位足である4時間足や1時間足にはラインは生成されません。ほんまさんのお考えの通りです。
    上位足チャートにもラインが引かれてしまう場合には、下記2つの設定を見直してみてください。
    ・15分足チャートに適用されているMi_Synchronizer_v03の設定パラメータを開いて「下位足のみへ同期生成する」になっているかどうかを再度ご確認下さい。
    ・Mi_Synchronizerが2つ以上ダブってチャートに適用されていないかご確認ください(4時間足チャート、1時間足チャート、15分足チャートの各チャートにMi_Synchronizer_v03が1つづつ適用されているのが正しい状態です)。

    上記2点をご確認いただいても正しく動作しない場合には、もう少し詳しく状況をお伺いしますのでまたご連絡下さい。
    なお、Mi_LineStyleの使用・不使用は今回の問題とは無関係ですので気にしなくても大丈夫です。

  • 管理人ですさんより

    匿名さんへ(ほんまさんへ)
    コメントが行き違ってしまいました。
    無事に解決されたようで良かったです。ご連絡ありがとうございました。

  • わたるさんより

    MacBook Proでも対応していますか?

  • わたるさんより

    もう2点ほど質問があります。

    組表示をしてお気に入りに保存しておいているのですが、

    例えば 円絡み ドルストレート

    どちらにもドル円が入っています。

    ドルストレートの組表示の方のドル円に線を引くなどすると、

    円絡みの組表示の方のドル円も同じように同期されて線が出るようにしたいと考えています。

    それは可能でしょうか??

    そして、シフトチャートの機能はなしですよね??

    シフトチャートを別でインストールしたとしたら一緒に使うことは出来ますか?

  • 管理人ですさんより

    わたるさんへ
    コメントありがとうございます。ご質問ありがとうございます。残念な返答ばかりとなっていしまいますが以下に回答致します。

    >MacBook Proでも対応していますか?
    →Windows用です。
    >円絡みの組表示の方のドル円も同じように同期されて線が出るようにしたい
    →他の組表示への同期はできません。
    >シフトチャートの機能はなしですよね?
    →ありません。
    >シフトチャートを別でインストールしたとしたら一緒に使うことは出来ますか?
    →試用版でご確認下さい。

  • 匿名さんより

    お返事ありがとうございます。

    Mac用ではないのですね。
    気になりましたが残念です、、

    また機会がありましたらよろしくお願いします

  • 管理人ですさんより

    匿名さんへ
    ご返信ありがとうございます。また機会がありましたらどうぞ宜しくお願い致します。

  • HMさんより

    Mi_LineHideには非対応とのことですが、Mi_VTSelectorも非対応でしょうか?

  • 管理人ですさんより

    HMさんへ
    はい、Mi_VTSelectorも非対応です。
    以下にもうすこし詳細を記載します。ご興味あればお読みください。

    Mi_Synchronizerはオブジェクトの「表示時間足」の操作は何も行いません(補足:ここでは「表示時間足」とはオブジェクトのプロパティの中にある「表示時間足」のことを指します)。
    もしMi_SynchronizerとMi_VTSelectorを併用した場合、各チャートに生成されるオブジェクトの「表示時間足」は各チャートに適用されているMi_VTSelectorの設定パラメータに従ってセットされます。
    分かり難いので下記の例を参考にしてください。

    <Mi_SynchronizerとMi_VTSelectorを併用した場合の例>
    二つのチャートにMi_SynchronizerとMi_VTSelectorがセットされているとして、Mi_VTSelectorのパラメータをそれぞれ下記の様に指定したとします。

    ■日足チャート(A)
    Mi_VTSelectorの設定パラメータを「表示時間足」が日足以下で表示となるように指定したとする

    ■1時間足チャート(B)
    Mi_VTSelectorの設定パラメータを「表示時間足」が1時間足以下で表示となるように指定したとする

    チャートAで水平線を引くとMi_SynchronizerによりチャートBに水平線が複製されます。そのとき、各チャートの水平線の「表示時間足」は、各チャートのMi_VTSelectorの設定によって下記のように自動でセットされます。
    ・チャートAの水平線:「表示時間足」は日足以下で表示となるようにセットされる
    ・チャートBの水平線:「表示時間足」は1時間足以下で表示となるようにセットされる

    ご不明な点がありましたらまたご連絡ください。

  • HMさんより

    チャートB(下位足である1時間足)で水平線を引くと、下位足の水平線にもかかわらず、Mi_SynchronizerによりチャートA(上位足の日足)にその水平線が描画されてしまうということですね?

  • 管理人ですさんより

    HMさんへ
    そこはMi_Synchronizerのパラメータでコントロールできます。
    Mi_Synchronizerのパラメータに「オブジェクト生成の同期」という項目があって、ラインなどを引いた時の複製先を「全時間足のチャート」か「下位足(同時間足含む)のチャート」のどちらかから指定できます。
    ですので、チャートBのMi_Synchronizerの設定パラメータで「オブジェクト生成の同期」を「下位足のみ」に指定すれば、チャートB(1時間足)で水平線を引いても上位足であるチャートA(日足)には水平線は複製されません。

  • ヨシさんより

    お世話になっております。
    昨夜Mi_VTSelectorを購入させて頂いた者です。Mi_Synchronizerの購入も検討していますが上の方々の内容を読むと併用は非対応であることは認識できました。
    >>パラメータの設定でチャートB(1時間足)に水平線を描いてもチャートA(日足)には表示されない←これは理解できました。
    ということは、パラメータ設定ではチャートA(日足)に水平線を描いてもチャートB(1時間足)には複製させることができないということでしょうか?
    理解が届かず申し訳ございません。
    以前あったような体験版のようなものがありましたら試してみたいと思うのですがいかがでしょうか?
    購入しても下位足チャートに複製されないと...
    ご返答頂けるとありがたいです。
    よろしくお願いいたします。

  • 管理人ですさんより

    ヨシさんへ
    コメントありがとうございます。
    >>ということは、パラメータ設定ではチャートA(日足)に水平線を描いてもチャートB(1時間足)には複製させることができないということでしょうか?
    →いいえ、チャートA(日足)に水平線を描いたらチャートB(1時間足)に水平線を複製されますので大丈夫です。

    整理すると、
    ・上位足チャート(日足)→下位足チャート(1時間足)の方向はラインは複製される。
    ・逆に下位足チャート(1時間足)→上位足チャート(日足)の方向はラインを複製するかしないかを設定パラメータで選べる。
    という事です。
    多分実際に操作した方が分かりやすいですね。体験版ご希望であればお問合せへご連絡ください(文面は簡単でかまいません)。