コンテンツにスキップ

【移植#04】TickチャートMA — Tickにテクニカル分析を適用する

MT5でティックチャートを表示して移動平均を重ねるには、サブウィンドウにTickデータを描画するインジケーターを使います。 MT4のオフラインチャート方式はMT5では使えないため、この記事ではサブウィンドウ方式で代替しました。1分足では捉えきれない超短期の値動きを確認できます。

TickチャートMAインジケータ

TickチャートMAインジケータの実行結果

この記事の3行まとめ

  • 📊 MT5サブウィンドウでTickデータ+移動平均をリアルタイム表示
  • 🔄 MT4のオフラインチャート方式は廃止 → サブウィンドウ方式で代替
  • ⚡ 1分足では捉えきれない超短期の値動きを可視化

はじめに

この記事は、「とあるMetaTraderの備忘秘録」様のブログ記事をMQL5に移植するシリーズの第4弾です。

MT4のデフォルトTickチャートは非常に貧弱で、テクニカル分析を適用することができませんでした。 そこで、Tickデータにテクニカル分析を適用できる仕組みをMQL5で再現しました。

元ネタ

MT4でTickチャートのテクニカル分析をする
https://fai-fx.hatenadiary.org/entry/20090813/1250090689
(2009年8月13日 公開)


元記事のアプローチ(MT4)

FAI-FXブログでは「TickChartMaker」というインジケータを使って、この問題を解決していました。

TickChartMaker の仕組み(MT4)

graph LR
    A[Tickデータ受信] --> B[オフラインチャートに書き込み]
    B --> C[1Tick = 1バーとして記録]
    C --> D[オフラインチャートを開く]
    D --> E[任意のインジケータを適用]
  1. Tickデータを収集
  2. オフラインチャートファイル(.hst)に書き込む
  3. 1Tickを1バーとして記録(時間軸は1970年から開始)
  4. 生成されたオフラインチャートを開く
  5. ボリンジャーバンド、MACD等の好みのインジケータを適用

元記事の活用例

Tickチャートでのインジケータによる分析状況をGlobal Variablesに書き込み、別のタイムフレームで動かしているEAでそれを読み取り、売買戦略に利用している人も居るそうです。


⚠️ MT4のオフラインチャート方式がMT5で使えない理由

MT4の「オフラインチャート」機能は、MT5では廃止されました。

機能 MT4 MT5
オフラインチャート ✅ サポート ❌ 廃止
.hstファイル書き込み ✅ 可能 ❌ 不可
カスタムシンボル ❌ なし ✅ 新機能

MT5での代替アプローチ

MT5でTickベースのテクニカル分析を実現するには、以下の3つのアプローチが考えられます:

アプローチ 説明 メリット デメリット
A. Custom Symbol Tickデータから合成シンボルを生成 元記事に最も近い動作 実装が複雑、毎回シンボル作成が必要
B. Tickベース指標の独自実装 サブウィンドウでTick版MA/RSI等を自前計算 柔軟性が高い 各指標を個別に実装する必要あり
C. サブウィンドウ描画 Tickラインと基本的なMAをオーバーレイ シンプル、すぐ使える 複雑な指標には対応不可

MT5でティックチャートを表示する方法:サブウィンドウ描画方式

今回は アプローチC(サブウィンドウ描画) を採用しました。

採用理由

  1. シンプルさ — 1ファイルで完結、追加設定不要
  2. 即座に動作 — チャートに適用するだけ
  3. 実用性 — Tickの短期トレンドを把握するには十分

Custom Symbol方式を選ばなかった理由

Custom Symbolを使えば元記事と同様の動作が可能ですが:

  • シンボル作成・管理のオーバーヘッドが大きい
  • MT5再起動時にシンボルを再設定する必要がある
  • スキャルピングの「即時性」と相性が悪い

日常的に使うツールとしては、サブウィンドウ方式の方が実用的と判断しました。


インジケータの機能

表示内容

要素 説明 デフォルト色
Tickライン Bid価格の推移 青 (DodgerBlue)
短期MA 直近Tickの移動平均 オレンジ
長期MA 長期Tickの移動平均 赤

パラメータ

パラメータ デフォルト 説明
MaxTicks 500 保持するTick数
FastMAPeriod 20 短期MA期間
SlowMAPeriod 50 長期MA期間
TickColor DodgerBlue Tickラインの色
FastMAColor Orange 短期MAの色
SlowMAColor Red 長期MAの色

使い方

インストール

  1. 04_TickChart_MA.mq5 をダウンロード
  2. MetaEditorで開いてコンパイル
  3. ナビゲータからチャートにドラッグ&ドロップ

活用例

スキャルピングでの活用

  • MAのゴールデンクロス/デッドクロス でエントリータイミングを判断
  • Tickラインが急騰/急落している最中のエントリーを避ける
  • 1分足では捉えきれない「ぎりぎりの動き」を可視化

注意事項

  • このインジケータはリアルタイムチャート専用です
  • バックテスト環境では正常に動作しません
  • MT5起動時はTickデータが空の状態から始まります

技術的なポイント

Tickデータの管理

C++
//--- 最大数を超えた場合、古いデータをシフト
if(TickCount >= MaxTicks)
{
   for(int i = 0; i < MaxTicks - 1; i++)
   {
      TickData[i] = TickData[i + 1];
   }
   TickData[MaxTicks - 1] = price;
}

MaxTicks(デフォルト500)を超えると、古いデータを自動的に削除してメモリを節約します。

MAの計算

TickデータのMAは、通常の価格バーとは異なり時間軸を持たない点に注意が必要です。 Tick20本分のMAは「直近20回の価格更新の平均」であり、20秒とは限りません。


ソースコードのダウンロード

この記事で紹介したインジケータをダウンロードできます。

ファイルの種類:インジケータ

保存先: MQL5/Indicators/ フォルダ
使い方: MT5のナビゲーターから「インディケータ」を展開し、チャートにドラッグ&ドロップで適用

04_TickChart_MA.mq5 をダウンロード


まとめ

項目 内容
元記事 MT4のオフラインチャート機能でTickにテクニカル分析を適用
MT5での課題 オフラインチャート機能が廃止
今回の解決策 サブウィンドウでTick+MAを直接描画
メリット シンプル、即座に動作、1ファイルで完結

参考文献

  • 元記事: MT4でTickチャートのテクニカル分析をする — とあるMetaTraderの備忘秘録

関連記事・用語


MQL移植シリーズ一覧に戻る

あわせて読みたい記事


前後の記事

前: 【移植#03】JPN_Time_SubZero — 未来時間にもグリッド線を描画 次: 【移植#05】Bollinger Bands-Fibo — ATRバンドをフィボナッチ倍率で描画

— SPONSORED —