Seasonality and Session Lab は、チャートの銘柄が時間帯・曜日・日付・月ごとに、また特別な日(五十日・月末・第一金曜日)にどう動くか、そしてそのうちどのパターンが厳しい統計の検定に合格するかを示す、MetaTrader 5 用のインジケータです。損切り・利益目標・取引する時間を時刻で決めるトレーダーの方や、時間のパターンの上に戦略を組む前に、そのパターンを確かめたい方に向けたものです。取引はしません。対象はバージョン 1.00 です。
測るもの
- H1 の足から(既定では 5 年分):すべての時間と、曜日×時間のすべてのマスについて、平均の値幅(高値 − 安値)、スプレッド、値動き(終値 − 始値)。
- 日足から:日付ごと・月ごとの一日の平均の値動き。指定した時間の枠の中で:五十日・月末・第一金曜日・月曜日・金曜日の値動きを、それ以外のすべての日と比べます。
- 値はすべてポイントです。どの銘柄・時間足でも使えます。注文・DLL・Web リクエストは使いません。
インストール
- 商品ページでインジケータを購入し、MetaTrader 5 にインストールします:ツールボックス > マーケット > 購入済み > インストール。更新も同じ場所の「更新」から行えます。
- ナビゲータ > Indicators > Market から、調べたい銘柄のチャート(時間足は任意)にドラッグし、「OK」をクリックします。必要な足は自分で読み込みます。
最初の手順
- 最初の結果を待ちます。履歴のダウンロード中は、パネルに読み込み中のメッセージが表示され、毎秒やり直します。
- タイトルの行を確かめます:銘柄、使った期間、H1 の足の本数、タイムゾーン。
- パネルでタイムゾーンを選びます(Server、UTC、NY、London、Tokyo)。時間・曜日・日の種類は、そのタイムゾーンで計算し直されます。
- バーやマスにマウスを合わせると、パネルの最下行にその詳細が表示されます(n、平均の値動き、t、上昇した足の割合、値幅、スプレッド、コスト差し引き後)。
- – ボタンでパネルを最小化し、+ で再び開きます。動かすには、Panel X と Panel Y を変更します。
タブ

- Hours(時間帯):各時間の平均の値幅を示すバー、同じ目盛りで平均のスプレッドを示す線、方向を示す四角(緑は上、赤は下、検定に合格すると星)。現在の時間は枠で囲まれます。右側には Most volatile hours(値動きの大きい時間)、Cheapest hours to trade (spread / range)(取引コストの安い時間)、Direction (after correction)(補正後の方向)が、同じ符号だった年の数とコスト差し引き後の結果とともに表示されます。
- Week map(週の表):曜日×時間のマスを、t 統計量(Direction)または平均の値幅(Volatility)で色分けします。合格したマスの数と、補正をしなければ偶然で合格してしまうマスの数も表示されます。
- Calendar(暦):日付ごと・月ごとの一日の平均の値動きと、日の種類の表(下を参照)。
- Today(今日):今日ここまでの値幅を過去の日と比べた位置、この時間からその日の終わりまでの典型的な値幅、この時間の値動きの大きさの順位、次に値動きが大きくなる時間。

結果の読み方
値幅とスプレッドは単純な平均で、検定するのは方向だけです。多くのマスを比べると、偶然だけで特別に見えるものが出てきます。ふつう使われる 5% の水準では、ランダムなデータでも、曜日×時間の 168 マスのうち約 8 マスが合格してしまいます。そのため、マスに星(★)が付くのは、次の三つの確認すべてに合格したときだけです:
- 補正した検定。t 統計量(平均の値動きをその標準誤差で割った値)が、上向きでも下向きでも、1.96 の代わりに、比べたマスの数に応じた Bonferroni の基準に達すること:24 時間では約 3.08、週の表(120〜168 マス)では 3.53〜3.62、日付では 3.15、月では 2.87。
- 前半と後半の両方。期間を真ん中の日付で二つに分け、どちらの半分でも平均の符号が同じであること。
- 十分なデータ。観測が 30 以上あり、それぞれの半分にも 10 以上あること。

- After cost(コスト差し引き後)は、平均の値動きの大きさから、そのマスの平均のスプレッドと、入力した追加のコストを差し引いたものです。"none" や "eaten by cost"(コストに食われた)は、何も残らないという意味です。
- Years same sign(Hours タブ)は、その時間の足が 20 本以上ある年のうち、合計の値動きが全体の平均と同じ符号だった年の数です。参考情報で、星の条件には含まれません。
例:東京時間の USDJPY では、合格したのは 07:00 だけでした(平均 +22.4 ポイント、t = 6.3、6 年のうち 5 年で同じ符号、その時間のスプレッドを引いて +14.7 ポイント)。星は、お使いの業者の過去の価格を表すもので、そのパターンが続くという約束ではありません。
五十日と暦の効果

- 日付と月のバーは、どのタイムゾーンでも業者の日足(サーバーの日)を使います。
- 日の種類の表は、Window start から Window end まで(選んだタイムゾーン)の値動きを、Gotobi(五十日:5日・10日・15日・20日・25日と月末。前の日本の営業日に繰り上げ)、Month end(月末:月曜〜金曜の最後の営業日)、First Friday(第一金曜日:米国の雇用統計の日)、Monday、Friday の各日について、それ以外のすべての日と比べます。
- Gotobi は日本の日付を使います。日本の銀行休業日(12月31日〜1月3日を含む)はインジケータの中で計算するため、カレンダーのファイルは要りません。
- 日の種類に星が付くのは、t(Welch)の大きさが 2.58 以上(日の種類 5 つでの Bonferroni)で、差がどちらの半分でも同じ符号(それぞれの半分に該当する日が 5 日以上)、そして該当する日が 20 日以上あるときです。After cost は、それらの日の平均の値動きから、窓の始まりの平均のスプレッドと追加のコストを差し引いたものです。
- 窓は、その期間をカバーする履歴がある最も細かい足(M5、M15、M30、H1)に丸められます。表のタイトルに、実際に使った窓が表示されます。始まりと終わりは同じ日の中でなければなりません。
東京仲値を見るには、Tokyo を選び、07:30〜09:55 にします。スクリーンショット(USDJPY、5 年、M30 の足で 07:30-10:00 に丸め)では、五十日の朝はほかの朝より 19.3 ポイント多く上昇しましたが、t = 1.20 は 2.58 を大きく下回るため、星は付きません。このデータでは差を偶然と見分けられない、ということであって、効果がないことの証明ではありません。
タイムゾーンと業者の時計
- Server は業者のチャートの時刻です。New York と London は夏時間に従い、Tokyo は常に UTC+9 です。
- -99 のときは、Server GMT offset を、FX の銘柄(チャートの銘柄、または EURUSD などの主要通貨ペア)のニューヨーク時間の金曜 17:00 の引けから週ごとに検出するので、サーバーの夏時間の切り替えにも対応します。検出できなかった週は、冬は GMT+2、米国の夏時間は GMT+3 を使います。Today タブの下端に、使っているオフセットが表示されます(たとえば "server GMT+3.0 (live + weekly close)")。
- -12〜14 の整数を入れると、期間全体でオフセットを手で固定します。お使いの業者が夏時間に合わせてオフセットを変える場合は、-99 のままにしてください。
入力項目
入力項目は三つのグループに分かれています:Data、Day-type comparison (Calendar tab)、Panel。
| 入力項目 | 既定値 | 内容 |
|---|---|---|
| Years of history (limited by 'Max bars in chart') | 5 | 1〜30。実際に使った期間はタイトルの行に表示されます。 |
| Time zone for hours and days | UTC | Broker server time、UTC、New York(夏時間に対応)、London(夏時間に対応)、Tokyo。 |
| Server GMT offset in hours (-99 = detect automatically) | -99 | または -12〜14 の固定のオフセット。 |
| Extra cost per round trip in points (commission + slippage) | 0.0 | 足の平均のスプレッドに足されます。 |
| Window start in the selected time zone (HH:MM) | 00:00 | 日の種類を比べる窓の始まり。 |
| Window end (HH:MM) | 23:59 | 始まりより後で、同じ日の中。23:59 = その日の終わりまで。 |
| Tab to open first | Hours | Hours、Week map、Calendar、Today のいずれか。 |
| Week map colour | Direction (t-statistic) | または Volatility (average range)(平均の値幅)。 |
| Panel X (pixels) | 12 | チャートの左端から。 |
| Panel Y (pixels) | 28 | チャートの上端から。 |
タブ、タイムゾーンのボタン、Direction/Volatility をクリックすると、パネルはそのチャートでの選択を覚え、対応する入力項目より優先します。
結果の保存
Save CSV は、MQL5\Files\SeasonalitySessionLab\ に、銘柄とタイムゾーンにちなんだ名前で三つのファイルを書き出します。たとえば USDJPY_Tokyo_hours.csv、_weekmap.csv、_daytypes.csv です。パスは「エキスパート」タブに表示され、もう一度保存するとファイルは置き換えられます。列:
- hours: hour, n, mean_ret_pts, t, significant, up_pct, avg_range_pts, avg_abs_ret_pts, avg_spread_pts, first_half_mean, second_half_mean, after_cost_pts
- weekmap: weekday, hour, n, mean_ret_pts, t, significant, avg_range_pts, avg_spread_pts
- daytypes: day_type, window, n_in, mean_in_pts, n_out, mean_out_pts, diff_pts, welch_t, first_half_diff, second_half_diff
ストラテジーテスターでの動作
- 注文を出さないため、テストしても取引は出ません。ビジュアルモードを使ってください。ビジュアルモードでないとパネルは描かれません。統計には、テストの日付より前の足を使います。
- テスターは業者のタイムゾーンを取得できないため、チャートの銘柄の各週末の前の最後の足だけを使い、それがなければ冬は GMT+2、米国の夏時間は GMT+3 を使います。お使いの業者の時計が違う場合は、Server GMT offset にそのオフセットを入力してください。
よくいただく質問
- "Loading H1 history..." のまま変わりません。H1 の足が 480 本以上必要です。かっこ内の数字は、ここまでの本数です。サーバーのタイムゾーンの検出には、最大で約 40 秒かかることがあります。
- 設定した年数より短い期間しか表示されません。履歴は「チャートの最大バー数」(ツール > オプション > チャート)で制限されます。H1 の足 100,000 本で十年以上をカバーします。
- どこにも星が付きません。それがふつうの結果です。方向のパターンのほとんどは雑音です。それでも、各時間の値幅とスプレッドは、損切り・利益目標・取引する時間を決めるのに役立ちます。
- 時間がずれて見えます。タイムゾーンのボタンと、Today タブの下端のオフセットを確かめてください。オフセットが違っていれば、Server GMT offset に入力してください。
- 星の付いたパターンで取引できますか?結果は、お使いの業者の過去の価格の統計です。売買のシグナルではなく、将来を予測するものでもありません。
- 複数のチャートで使えますか?はい。チャートごとにパネルの選択が保たれます。ご購入には 10 回のアクティベーションが含まれます。
商品ページ:Seasonality and Session Lab。ご不明な点があれば、パネルのスクリーンショットと「エキスパート」タブの最後の数行を添えて、MQL5 の個人メッセージでお送りください。



