市場の時間をチャートに表示するMT4インジケーター|MarketCrock

MarketCrockアイキャッチ
  • URLをコピーしました!

アジア、ヨーロッパ、アメリカ市場の時間をMT4チャートに表示したいです。

そんなインジケーターはありますか?

ホシノ

FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。

この無料EA不労所得が稼げます
累計テスト120年以上・リアル取引公開2020年~

BBF_MQL5-202401006
リアルトレード公開|EA BBF

このページでわかること・できること

〇MT4チャートに市場ごとの時計を表示するインジケーターの入手

〇市場時計インジケーター「MarketClock」について

目次

MarketClockのダウンロード

インジケーターのファイルはここからダウンロードできる。
ダウンロードするファイルは.ex4ファイルとなっているため、MT4のインジケーターフォルダへ移動すれば使用可能となる。

MarketClockのインストール

ダウンロードしたMarketClockインジケーターはMT4のデータフォルダからindicatorsフォルダを探しファイルを移動する。

ファイル>データフォルダを開く>MQL4>indicators

indicatorsフォルダにMarketClockのファイルを移動し、MT4を再起動するとインストールが完了する。

MarketClockインジケーターとは?

MarketCrockチャート画像
MarketCrockで市場の時間を表示する

このインジケーターMarketClockは、MT4(MetaTrader 4)プラットフォーム上で3つの主要なタイムゾーン(アジア、ヨーロッパ、アメリカ)の現在時刻を表示する。トレーダーはこれを利用し、各市場のオープンやクローズの時間帯を容易に認識できるようになる。

主な機能

  1. 3つのタイムゾーンの現在時刻表示:
    • アジア時間(デフォルトではUTC+7)
    • ヨーロッパ時間(デフォルトではUTC+2)
    • アメリカ時間(デフォルトではUTC-5)
  2. UTCオフセットの設定:
    • 各タイムゾーンのUTCオフセットをパラメーターで設定可能。
  3. 日付表示のオプション:
    • 日付(年-月-日)の表示/非表示を選択可能。
    • 時刻は常に表示される。

インジケーターの設定方法

  1. インジケーターのインストール:
    • インジケーターのソースコード(.mq4ファイル)をMT4のMQL4/Indicatorsフォルダーに保存する。
    • MT4を再起動する。
  2. インジケーターのチャートへの追加:
    • MT4のナビゲーターウィンドウから「インディケーター」フォルダーを開き、インストールしたインジケーターを見つける。
    • インジケーターをチャートにドラッグアンドドロップする。
  3. パラメーターの設定:
    • インジケーターを追加すると設定ウィンドウが表示される。ここで以下のパラメーターを設定できる。
      • ShowDate: 日付を表示するかどうか(デフォルトはtrue)。
      • UTC_Asia: アジア時間のUTCオフセット(デフォルトは7)。
      • UTC_Europe: ヨーロッパ時間のUTCオフセット(デフォルトは2)。
      • UTC_America: アメリカ時間のUTCオフセット(デフォルトは-5)。
MarketCrockパラメーター画面
MarketCrockのパラメーターで設定できる

使用方法

  • インジケーターをチャートに追加すると、右上にアジア、ヨーロッパ、アメリカで各タイムゾーンの現在時刻が表示される。
  • 日付表示を有効にした場合は、時刻の前に年-月-日を表示できる。
  • パラメーターを調整することで、自分の取引スタイルに合わせた各タイムゾーンのオフセットに変更できる。

メリット

  1. 取引タイミングの最適化:
    • 各市場の現在時刻をリアルタイムで確認することで、トレーダーはどの市場が開いているか、または活発に取引されているかを把握しやすくなる。
  2. 市場の重複時間の確認:
    • 市場の重複時間帯(例えばロンドン市場とニューヨーク市場の重複時間)を確認することで、取引量が増加する時間帯を特定できる。
  3. カスタマイズ可能なタイムゾーン設定:
    • パラメーターを通じて各タイムゾーンのUTCオフセットを自由に調整できるため、取引スタイルやニーズに応じたカスタマイズが可能となる。
  4. 視覚的な助け:
    • チャートに直接タイムゾーンの時刻を表示することで、他のチャート分析や取引戦略と組み合わせて使用できる。

UTCとは?

UTC(協定世界時)は、国際的な標準時間を指す。FX市場は24時間オープンしているため、異なるタイムゾーンでトレーダーが取引を行う。UTCはその共通基準として使われ、取引時間の混乱を避けられる。例えば、ニューヨークの取引時間はUTC-5時間、東京はUTC+9時間だ。UTCを基準にすれば、これらの異なる地域の取引時間を簡単に比較できるようになる。

アジア

  1. 日本 (Tokyo): UTC+9
  2. 中国 (Beijing): UTC+8
  3. 韓国 (Seoul): UTC+9
  4. シンガポール (Singapore): UTC+8
  5. インド (New Delhi): UTC+5:30
  6. タイ (Bangkok): UTC+7

ヨーロッパ

  1. イギリス (London): UTC+0 (冬時間) / UTC+1 (夏時間)
  2. フランス (Paris): UTC+1 (冬時間) / UTC+2 (夏時間)
  3. ドイツ (Berlin): UTC+1 (冬時間) / UTC+2 (夏時間)
  4. イタリア (Rome): UTC+1 (冬時間) / UTC+2 (夏時間)
  5. スペイン (Madrid): UTC+1 (冬時間) / UTC+2 (夏時間)
  6. ロシア (Moscow): UTC+3

アメリカ

  1. アメリカ合衆国 (ニューヨーク): UTC-5 (冬時間) / UTC-4 (夏時間)
  2. アメリカ合衆国 (シカゴ): UTC-6 (冬時間) / UTC-5 (夏時間)
  3. アメリカ合衆国 (デンバー): UTC-7 (冬時間) / UTC-6 (夏時間)
  4. アメリカ合衆国 (ロサンゼルス): UTC-8 (冬時間) / UTC-7 (夏時間)
  5. カナダ (トロント): UTC-5 (冬時間) / UTC-4 (夏時間)
  6. ブラジル (ブラジリア): UTC-3 (夏時間なし)

これらの時間帯は各国の主要都市の標準時間となる。また、夏時間を採用している国は、季節によって1時間進むため注意が必要。

MarketCrockのプログラム

//+------------------------------------------------------------------+
//|                                                  MarketClock.mq4 |
//|                                     Copyright 2024, FX-Bonus.net |
//|                                            https://fx-bonus.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, FX-Bonus.net"
#property link      "https://fx-bonus.net/"
#property version   "1.00"
#property strict
#property indicator_chart_window
// インジケーターのバッファは使用しない
#property indicator_chart_window

// パラメーター定義
input bool ShowDate = true;          // 年月日の表示
input int UTC_Asia = 7;              // アジア時間のUTCオフセット
input int UTC_Europe = 2;            // ヨーロッパ時間のUTCオフセット
input int UTC_America = -5;          // アメリカ時間のUTCオフセット

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   // オブジェクトを作成・更新するために最初に描画
   DrawTimeLabel();

   // 1秒ごとにタイマーイベントをセット
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| カスタムインジケータクリーンナップ関数                           |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   // タイマーイベントをクリア
   EventKillTimer();

   // オブジェクトを削除
   ObjectDelete("TimeLabel_Asia");
   ObjectDelete("TimeLabel_Europe");
   ObjectDelete("TimeLabel_America");
  }
//+------------------------------------------------------------------+
//| インジケータ計算関数                                             |
//+------------------------------------------------------------------+
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[])
  {
   // 特に何も処理しない
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| タイマーイベント処理関数                                         |
//+------------------------------------------------------------------+
void OnTimer()
  {
   // オブジェクトを更新
   DrawTimeLabel();
  }
//+------------------------------------------------------------------+
//| 時間ラベルを描画する関数                                         |
//+------------------------------------------------------------------+
void DrawTimeLabel()
  {
   // 既存のオブジェクトを削除
   ObjectDeleteIfExists("TimeLabel_Asia");
   ObjectDeleteIfExists("TimeLabel_Europe");
   ObjectDeleteIfExists("TimeLabel_America");

   // 現在の時間を取得
   datetime currentTime = TimeCurrent();
   
   // 各タイムゾーンの時間を計算
   datetime asiaTime = currentTime + UTC_Asia * 3600;
   datetime europeTime = currentTime + UTC_Europe * 3600;
   datetime americaTime = currentTime + UTC_America * 3600;

   // 日付部分のフォーマットを選択
   string dateFormat = ShowDate ? "%Y-%m-%d " : "";

   // 時間部分のフォーマット
   string timeFormat = "%H:%M";

   // フォーマットされた時間文字列を作成
   string timeTextAsia = "アジア: " + TimeToString(asiaTime, TIME_DATE | TIME_MINUTES);
   string timeTextEurope = "ヨーロッパ: " + TimeToString(europeTime, TIME_DATE | TIME_MINUTES);
   string timeTextAmerica = "アメリカ: " + TimeToString(americaTime, TIME_DATE | TIME_MINUTES);

   if (!ShowDate)
   {
      timeTextAsia = "アジア: " + TimeToString(asiaTime, TIME_MINUTES);
      timeTextEurope = "ヨーロッパ: " + TimeToString(europeTime, TIME_MINUTES);
      timeTextAmerica = "アメリカ: " + TimeToString(americaTime, TIME_MINUTES);
   }

   // テキストオブジェクトを作成
   CreateLabel("TimeLabel_Asia", timeTextAsia, 10, 10);
   CreateLabel("TimeLabel_Europe", timeTextEurope, 10, 30);
   CreateLabel("TimeLabel_America", timeTextAmerica, 10, 50);
  }
//+------------------------------------------------------------------+
//| オブジェクトが存在する場合は削除する関数                         |
//+------------------------------------------------------------------+
void ObjectDeleteIfExists(string name)
  {
   if(ObjectFind(0, name) != -1)
      ObjectDelete(name);
  }
//+------------------------------------------------------------------+
//| ラベルオブジェクトを作成する関数                                 |
//+------------------------------------------------------------------+
void CreateLabel(string name, string text, int x, int y)
  {
   ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
   ObjectSetString(0, name, OBJPROP_TEXT, text);
   ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_RIGHT_UPPER);
   ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x);
   ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y);
   ObjectSetInteger(0, name, OBJPROP_ANCHOR, ANCHOR_RIGHT_UPPER);
   ObjectSetInteger(0, name, OBJPROP_COLOR, clrWhite);
   ObjectSetInteger(0, name, OBJPROP_FONTSIZE, 12);
   ObjectSetString(0, name, OBJPROP_FONT, "MS Gothic"); // 日本語対応フォントを設定
  }
//+------------------------------------------------------------------+

ソースコードの詳細を解説

  1. プロパティ設定:
    #property strict #property indicator_chart_window
    • #property strict: ストリクトモードを有効にし、コードの安全性を高める。
    • #property indicator_chart_window: インジケーターをチャートに表示するためのプロパティ。
  2. パラメーター定義:input bool ShowDate = true; input int UTC_Asia = 7; input int UTC_Europe = 2; input int UTC_America = -5;
    • ShowDate: 年月日の表示を制御するブール型のパラメーター。
    • UTC_Asia, UTC_Europe, UTC_America: アジア、ヨーロッパ、アメリカの各タイムゾーンのUTCオフセットを設定するパラメーター。
  3. 初期化関数 OnInit():
    • インジケーターの初期化時に呼び出される。
    • オブジェクトを作成・更新するための DrawTimeLabel() 関数を呼び出す。
    • 1秒ごとにタイマーイベントをセットします。
  4. クリーンナップ関数 OnDeinit():
    • インジケーターが削除されるときに呼び出される。
    • タイマーイベントをクリアし、オブジェクトを削除する。
  5. 計算関数 OnCalculate():
    • チャートデータが更新されるたびに呼び出される。
  6. タイマーイベント処理関数 OnTimer():
    • タイマーイベントが発生するたびに呼び出される。
    • オブジェクトを更新するための DrawTimeLabel() 関数を呼び出す。
  7. 時間ラベル描画関数 DrawTimeLabel():
    • アジア、ヨーロッパ、アメリカの各タイムゾーンの時間を計算し、それぞれの時間をテキストオブジェクトとして描画する。
    • オブジェクトを削除してから新しいオブジェクトを作成することで、時間を更新する。
  8. オブジェクト削除関数 ObjectDeleteIfExists():
    • 指定された名前のオブジェクトが存在する場合に削除。
  9. ラベルオブジェクト作成関数 CreateLabel():
    • 指定された名前、テキスト、位置でテキストオブジェクトを作成。

MT4インジケーターまとめ

  • URLをコピーしました!
  • URLをコピーしました!

このEAを使って、将来の見通しが立ちました

収入を増やしたい、将来のための資産が欲しい、支払いに縛られない自由な生活がしたい

このEAを使うと将来が見通せます。

22年以上で無敗の安定取引。リスク0%運用も可能なロジック。年利100%越えの上級者向け取引も可能。

マネーマシンとして育て上げることで大きな不労所得を得られます。

BBF-Girl
ドリームEA_BBF 無料ダウンロード
BBF_MQL5-202401006
リアルトレード公開|EA BBF

ポジション監視の時間

集中力は続いてますか?


オートクローズツールを使ってポジション管理を自動化


自動ポジション管理だから万が一でも大丈夫

あなたは空いた時間を自由に、効率的に使えます

自動決済ルールは独自にカスタム可能

ストップ、リミット変更にも対応。

エントリー後のポジション管理をすべて自動化できるトレーディングサポートツール。

トレード中のちょっとした離席など、念のためセットといった使い方も可能。

MT4用自動決済ツール【AutoCloseTool】は無料で入手できます。

オートクローズツール

取引ごとにキャッシュバックが発生します

もらわないだけ損している
取引ごとに毎回発生する現金のキャッシュバック
海外FXのキャッシュバックはメリットしかないサービスです

取引ごとにキャッシュバック
目次