MT4チャートに毎日0時などの区切り線を自動で描画したいと考えたことはありませんか?
本記事では、**1日ごとの垂直ラインを簡単に表示できる無料インジケーター「OneDayLine」**をご紹介します。
設定方法・パラメーターの意味・活用法・ソースコードまで詳しく解説しており、初心者でもすぐに使える内容となっています。
OneDayLineはこのボタンからダウンロードできます
OneDayLineとは?|1日ごとの区切りを表示する無料MT4インジケーター

OneDayLineは、MetaTrader4(MT4)のチャート上に毎日決まった時刻に垂直ラインを自動で描画する無料インジケーターです。
ローソク足の時間経過がひと目でわかるため、トレードタイミングやトレンド分析の精度を高めたいトレーダーに最適です。
デフォルトでは「0:00(サーバー時刻)」でラインが引かれますが、設定を変更すればロンドン時間・NY時間の切り替わりなど、任意の時間帯にも対応できます。
主な機能とできること
- 毎日同じ時刻に垂直ラインを自動描画
- 最大で過去20日分の区切りを表示
- ラインの色・太さ・スタイル・時間を自由にカスタマイズ可能
- 時間指定は「HH:MM」形式(例:”10:30″)で直感的に設定可能
このツールを使うメリット
- 時間軸での価格変動を視覚的に把握しやすくなる
- 1日の高値・安値、値幅が意識しやすくなり、ブレイク戦略の補助になる
- ロンドン・NYオープン時間に垂直線を引くことで、市場ごとの動きを見極めやすくなる
- 他のインジケーター(水平ライン、価格帯ゾーンなど)と組み合わせて相場の視認性を大幅に改善
OneDayLineのダウンロードと導入手順
このセクションでは、OneDayLineインジケーターのダウンロード方法とMT4への導入手順を、初心者でもわかりやすいように解説します。インジケーターは無料で配布されており、面倒なインストール作業は不要です。
ダウンロードリンクと保存先
以下のリンクから、OneDayLineインジケーターのファイル(.ex4
形式)をダウンロードしてください。
🔽【OneDayLineをダウンロード】
このファイルは、MT4のデータフォルダ内にある次のパスに保存します:
MQL4 → Indicators フォルダ
保存手順(Windowsの場合)
- MT4を起動し、メニューの【ファイル】→【データフォルダを開く】をクリック
MQL4
フォルダ →Indicators
フォルダを開く- ダウンロードした
OneDayLine.ex4
ファイルをこの中にコピー&貼り付け - MT4を再起動する(またはナビゲーターで右クリックして「更新」)
MT4へのインストール手順
OneDayLineをダウンロードしたら、次はMT4にインジケーターを組み込みます。以下の手順に従えば、専門的な知識がなくても簡単に設定できます。
✅ Step 1:MT4のデータフォルダを開く
MT4を起動し、画面上部メニューから次を選択します:
[ファイル] → [データフォルダを開く]
✅ Step 2:Indicatorsフォルダへ移動
データフォルダ内で、以下の順にフォルダを開きます:
MQL4 → Indicators
このフォルダが、MT4で使用するインジケーターの格納先です。
✅ Step 3:OneDayLineを格納する
ダウンロードした OneDayLine.ex4
ファイルを、Indicators
フォルダ内にコピー&貼り付けます。
✅ Step 4:MT4を再起動または更新する
ファイルの配置が完了したら、MT4を再起動してください。
または、ナビゲーターウィンドウ内で右クリックし、【更新】を選択しても反映されます。
✅ Step 5:インジケーターをチャートに適用
- 【ナビゲーター】 → 【インディケーター】から「OneDayLine」を探す
- 対象のチャートにドラッグ&ドロップする
- パラメーター設定ウィンドウが表示されるので、必要に応じて設定を調整し「OK」をクリック
OneDayLineの基本的な使い方
OneDayLineは、MT4にインストールするだけで、自動的に日ごとの区切り線を描画してくれるシンプルで便利なツールです。このセクションでは、チャートへの適用方法と表示確認の手順をわかりやすく解説します。
チャートへの適用手順
MT4を起動し、ナビゲーターウィンドウを開く
左側にある「ナビゲーター」パネル内の「インディケーター」カテゴリーを展開します。
「OneDayLine」をチャートにドラッグ&ドロップ
任意のチャート(例:USDJPYなど)へドラッグ&ドロップすることで、インジケーターが適用されます。
プロパティ(設定ウィンドウ)が自動で表示
OneDayLineのパラメーター設定画面が開くので、必要に応じてカスタマイズ可能です(後述)

初期設定と表示の確認
OneDayLineを適用すると、チャート上に過去数日分の垂直ラインが表示されます。デフォルトでは以下のように設定されています:
- 表示本数: 過去20日分(パラメーターで変更可能)
- ラインの時間: サーバー時刻で「00:00」
- 色とスタイル: グレーの点線(STYLE_DOT)
- 太さ: 幅1ピクセル
正しく表示されない場合のチェックポイント:
- チャートの時間足が**日足より小さい(1時間足・15分足など)**であることを確認
- 時間形式(LineTime)が
"00:00"
のように正しく入力されているか確認 - MT4再起動またはナビゲーターウィンドウで【更新】を行ったか確認
パラメーターの詳細解説とカスタマイズ方法
OneDayLineインジケーターでは、垂直ラインの表示に関する複数のパラメーターを自由に設定できます。
自分のトレードスタイルや視認性に合わせてカスタマイズすることで、チャート分析の精度と快適さが大きく向上します。
ラインの色・スタイル・太さ
描画される垂直ラインは、色・線の種類・太さを以下のように調整できます。
✅ 色(LineColor)
- 設定方法: カラーパレットから色を選択
- 初期値:
clrGray
(グレー) - 補足:
clrRed
やclrBlue
などの定数、または RGB 指定も可能です - 用途例: 複数のインジケーターと併用する際に見分けやすい色に変更
✅ スタイル(LineStyle)
- 設定方法: ドロップダウンで選択
- 初期値:
STYLE_DOT
(点線) - 選べるスタイル:
STYLE_SOLID
(実線)STYLE_DASH
(破線)STYLE_DOT
(点線)STYLE_DASHDOT
(破点線)STYLE_DASHDOTDOT
(破点点線)
✅ 太さ(LineWidth)
- 設定方法: 数値入力(例:1、2、3)
- 初期値:
1
- 補足: 数値を上げるほどラインが太く表示される(最大5程度までが視認性に適しています)
表示する時間と本数の設定
垂直ラインの描画タイミングと過去表示する本数も、柔軟に調整できます。
✅ ラインを引く時間(LineTime)
- 形式:
"HH:MM"
(例:"00:00"
、"09:00"
、"15:30"
) - 初期値:
"00:00"
(サーバー時間基準) - 注意点: 入力ミス(例:
24:00
や9:0
)があると描画されないため、必ず2桁+コロン形式で入力する
✅ 過去の表示本数(DaysToDraw)
- 設定方法: 整数入力(例:5、10、20)
- 初期値:
20
- 補足: 値が大きいほど過去の日数分のラインを表示
- 例:
5
を設定すれば、過去5日分だけに絞ってラインを描画できる
これらのパラメーターを調整することで、**「いつの区切りをどう表示するか」**をトレーダー自身が自由に設計できます。
例えば、「ロンドン市場の開始時刻(16:00日本時間)にラインを引いて監視したい」といったニーズにも柔軟に対応可能です。
1日ごとに区切ったラインの活用方法と分析ポイント
OneDayLineを活用することで、チャート上で「1日」という時間の単位が明確になり、相場の構造を視覚的に把握しやすくなります。
ここでは、トレードに直結する3つの具体的な活用方法を紹介します。
トレンドの視覚化と判断材料に
1日ごとに区切られたラインを見ることで、日をまたいだ値動きの流れや方向性(トレンド)がより明確に見えるようになります。
- 上昇傾向が続いているか、レンジ相場か、反転の兆候があるかを一目で判断可能
- 戻り売りや押し目買いのエントリーポイントを検討する際の補助線として活用できる
- トレンド発生後の継続性や強さを、日単位で視覚的に把握できる
このように、「時間で相場を区切る」ことで、裁量判断に役立つ情報が増え、感情に頼らない客観的なトレード判断がしやすくなります。
高値・安値の視認性向上
垂直ラインで日ごとに区切ると、各日の高値・安値が把握しやすくなり、チャート分析の精度が向上します。
- 昨日の高値・安値を目安にブレイクアウトや反発ポイントを探る
- サポートラインやレジスタンスラインの起点として使える
- 水平線やゾーンと組み合わせて、より信頼性の高いラインが引ける
特にスキャルピングやデイトレードでは、「前日高値・安値からの距離」がエントリー判断の重要な要素になります。
日足ボラティリティの把握と戦略立案
1日ごとに値幅(高値−安値)を区切って確認することで、過去のボラティリティを定量的に評価できます。
- 値動きが大きい日と小さい日の違いが明確に見える
- 直近の値幅平均から、次のストップロスや利確ラインを設計できる
- 方向感がない小動きの相場を事前に見抜き、無駄なエントリーを回避できる
たとえば、前日が50pips程度の値幅であれば、当日の利確ターゲットもその範囲内に収めるなど、戦略的な資金管理にも応用できます。
垂直ラインと組み合わせて使えるおすすめMT4ツール
OneDayLineだけでもチャートの可視性は大きく向上しますが、他のインジケーターやスクリプトと併用することで、より高精度なトレード環境を構築できます。
ここでは、特に相性の良い2つの無料ツールをご紹介します。
時間帯別のブレイクアウトライン
市場時間ごとの高値・安値を自動で色分けして表示するインジケーターです。
ロンドン市場やニューヨーク市場など、特定時間帯に絞った値動きを視覚的に把握できるため、OneDayLineの垂直ラインと組み合わせると以下のような分析が可能になります:
- ロンドン時間開始(例:16:00)にOneDayLineでラインを引く
- そこからのブレイクアウトや反転を、高値・安値ラインと照らし合わせて判断
- 時間帯ごとのボラティリティ比較や、トレードの優位性分析がしやすくなる
このツールは、時間的な区切り+価格的な区切りという2軸での分析を可能にし、短期トレーダーに特におすすめです。
👉時間帯別を色分けするスクリプト「MarketZone」はこちらです
ラウンドナンバーの水平ライン
「10.000」や「135.000」など、キリの良い価格に自動で水平ラインを引いてくれるスクリプトです。
相場では、ラウンドナンバーが心理的節目として意識されやすく、反発やブレイクが発生しやすいポイントです。
OneDayLineと組み合わせることで:
- 時間と価格の交差点を見つけやすくなる(=高確率なエントリーポイント)
- 各日で「ラウンドナンバー付近での反発」がどれだけ起こっているかを検証可能
- エントリー・利確・損切りのライン設計にも活用しやすい
ラウンドナンバーは、裁量トレードにおける「視覚的な相場の重心」をつかむための強力な補助線になります。
👉ラウンドナンバーを自動で引けるスクリプト「RoundNumber」はこちらです
これらのツールはすべて無料で利用でき、MT4標準機能では難しい視覚補助を簡単に実現してくれます。OneDayLineとの併用で、より論理的かつ直感的なトレード分析が可能になります。
この記事で紹介したインジケーターのように、取引効率を上げる無料ツールをお探しの方へ。
当サイトの無料EA一覧ページでは、実用性の高い自動売買ツールを多数紹介しています。
👉 無料EAを探す
OneDayLineのソースコードと学習用解説(MQL4)
このインジケーターは、MetaTrader4(MT4)の標準言語「MQL4」で開発されています。
ここでは、OneDayLineのソースコードを使って、インジケーターの仕組みやカスタマイズ方法を学べるように分かりやすく解説します。
MQL4の基礎学習にも役立つので、これから自作インジケーターを作ってみたい方にもおすすめです。
ヘッダ部とパラメーター定義
#property indicator_chart_window
#property strict
input color LineColor = clrGray;
input ENUM_LINE_STYLE LineStyle = STYLE_DOT;
input int LineWidth = 1;
input string LineTime = "00:00";
input int DaysToDraw = 20;
✅ 解説:
#property indicator_chart_window
→ インジケーターをチャート本体に表示する設定#property strict
→ 厳密な記述ルールを適用。コードの安全性が高まるinput
で始まる各行は、ユーザーがパラメーターを自由に変更できる設定です
初期化関数(OnInit)
int OnInit() {
return(INIT_SUCCEEDED);
}
✅ 解説:
- MT4でインジケーターを読み込んだときに最初に一度だけ実行される関数
- 今回は特に初期処理が不要なため、そのまま成功コード(INIT_SUCCEEDED)を返すだけ
描画処理(OnCalculate)
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[]) {
// 既存のライン削除
for (int i = 0; i < DaysToDraw; i++) {
string lineName = "MidnightLine" + IntegerToString(i);
if (ObjectFind(0, lineName) != -1) ObjectDelete(0, lineName);
}
// 時間文字列を秒に変換
int lineTimeSeconds;
if (!StringToTimeFormat(LineTime, lineTimeSeconds)) return(rates_total);
// ライン描画処理
for (int i = 0; i < DaysToDraw; i++) {
datetime timeToDraw = iTime(NULL, PERIOD_D1, i) + lineTimeSeconds;
string lineName = "MidnightLine" + IntegerToString(i);
ObjectCreate(0, lineName, OBJ_VLINE, 0, timeToDraw, 0);
ObjectSetInteger(0, lineName, OBJPROP_COLOR, LineColor);
ObjectSetInteger(0, lineName, OBJPROP_STYLE, LineStyle);
ObjectSetInteger(0, lineName, OBJPROP_WIDTH, LineWidth);
}
return(rates_total);
}
✅ 解説:
- **
OnCalculate
**はチャート更新ごとに自動で実行される関数(心臓部) - まず既存ラインを削除し、最新のラインだけを描画することで重複表示を防止
iTime(NULL, PERIOD_D1, i)
で各日の日付に基づく時間を取得- そこに
lineTimeSeconds
(設定時間の秒数)を加算して、正確な描画タイミングを決定
時間変換関数(StringToTimeFormat)
bool StringToTimeFormat(string strTime, int &timeResult) {
int hour, min;
if (StringLen(strTime) != 5 || StringSubstr(strTime, 2, 1) != ":") return(false);
hour = StringToInteger(StringSubstr(strTime, 0, 2));
min = StringToInteger(StringSubstr(strTime, 3, 2));
if (hour < 0 || hour > 23 || min < 0 || min > 59) return(false);
timeResult = hour * 3600 + min * 60;
return(true);
}
✅ 解説:
"HH:MM"
形式の文字列(例:"09:30"
)を、1日の秒数に変換する自作関数- 時間のバリデーション(形式や数値の範囲)も含まれており、入力ミスによる描画エラーを防止
- 変換後は、
lineTimeSeconds
としてライン描画タイミングに使用される
このように、OneDayLineは非常にシンプルかつ安全性を考慮したMQL4コードで構成されており、初学者にも理解・改良しやすい作りになっています。
安全にインジケーターを使うための注意点
OneDayLineは、比較的シンプルで安全性の高いインジケーターですが、誤った使い方やMT4環境によっては表示されない・動作が不安定になる場合があります。
ここでは、トラブルを防ぎ、安心して活用するために知っておくべき注意点を解説します。
時間形式とエラーハンドリング
✅ 正しい時間形式を使用する
OneDayLineでは、「垂直ラインを引く時間(LineTime)」を文字列で指定しますが、「HH:MM」形式でなければ正しく動作しません。
- OK例:
"00:00"
、"09:30"
、"16:00"
- NG例:
"24:00"
、"9:0"
、"9:60"
、空欄
入力ミスがあると、何も描画されず無反応になります。
コード内部でチェック処理(バリデーション)を行っていますが、念のため入力値は慎重に確認してください。
✅ 表示されない場合の対処
- 時間形式が正しいか確認
- チャートの時間足がD1以下であることを確認(例:H1、M15など)
- ナビゲーターの「更新」またはMT4の再起動を試す
- エラー表示が出ないかターミナルの「エキスパート」タブを確認
MT4環境や他インジケーターとの干渉リスク
✅ インジケーターが表示されない原因の例:
- MT4のチャートが一部壊れている(履歴データ不足や内部エラー)
- 他のインジケーターやスクリプトとオブジェクト名が重複している
- OneDayLineは
MidnightLine0
〜MidnightLineN
の名前でラインを描画します - 他のツールが同じ名前を使っていると、上書きや削除が発生する恐れあり
- OneDayLineは
✅ 対策・推奨事項:
- 複数のインジケーターを併用する場合は、オブジェクト名の衝突に注意
- 検証用として別のチャートウィンドウを開いて動作を確認すると安全
- VPSやMacでMT4を運用している場合は、Wine環境や互換性設定にも留意
OneDayLineは軽量で安定したインジケーターですが、「設定ミス」や「MT4の状態」が原因で動作しないケースも少なくありません。
本番運用の前には、デモ口座やテストチャートで動作確認を行うことを強く推奨します。
よくある質問(FAQ)
- OneDayLineがチャートに表示されません。原因は何ですか?
-
以下の点を確認してください。
- 時間形式が
"HH:MM"
で正しく入力されているか(例:"09:30"
) - チャートの時間足が 日足以下(H1、M30など) になっているか
- インジケーターのインストール先が正しいか(
MQL4 → Indicators
) - 他のインジケーターとオブジェクト名が衝突していないか
- MT4を再起動またはナビゲーターを【更新】したか
- 時間形式が
- 表示される垂直ラインの時間を、東京時間に合わせることはできますか?
-
OneDayLineは MT4のサーバー時間に基づいて描画されます。
そのため、東京時間とMT4サーバー時間に時差がある場合は、意図した時間になるよう調整(例:"07:00"
→"00:00"
のサーバー時間)してください。 - 垂直ラインの本数を減らすことはできますか?
-
可能です。パラメーター
DaysToDraw
の数値を変更すれば、過去の表示本数を調整できます。
例:5
に設定すれば、直近5本分だけが表示されます。 - ラインの色や線の種類を変えるにはどうすればよいですか?
-
チャートにOneDayLineをセットすると表示されるパラメーター画面で、以下を変更できます:
LineColor
:色(例:グレー、赤、青)LineStyle
:線の種類(例:点線、実線、破線)LineWidth
:太さ(1~5など)
- EAや他のインジケーターと一緒に使っても大丈夫ですか?
-
基本的に問題はありませんが、「同じオブジェクト名(MidnightLineなど)」を使う他ツールと併用する場合は注意が必要です。
オブジェクトが削除・上書きされる可能性があります。心配な場合は別のチャートウィンドウで動作確認することをおすすめします。 - モバイル版MT4でも使えますか?
-
いいえ、OneDayLineはPC版MT4でのみ使用可能です。モバイルアプリ版ではインジケーターの追加・表示はできません。
まとめ|OneDayLineで日々の値動きをわかりやすく可視化しよう
OneDayLineは、MT4チャートに日ごとの区切りを自動で描画するシンプルかつ実用的なインジケーターです。
使い方も簡単で、トレンドの確認・値幅の把握・ブレイクアウトの検証など、日々の相場分析をより直感的に行えるようになります。
本記事で紹介したように、ラインの色やスタイル、描画時間も自由にカスタマイズできるため、初心者から上級者まで幅広いトレーダーにとって有効なツールです。
さらに、他のインジケーター(ラウンドナンバー・時間帯別高値安値ライン)と組み合わせれば、チャートの視認性や戦略の立案力も飛躍的に向上します。
✅ こんな方におすすめ
- 毎日のトレードでチャートの区切りを明確にしたい方
- 前日との比較やトレンド分析を視覚的に行いたい方
- 短期トレードで反発・ブレイクの判断をより正確に行いたい方