コンテンツにスキップ

【移植#01】一目三役好転インジケータ — 最強の売買シグナルを可視化

一目三役好転インジケータの実行結果

一目三役好転インジケータの実行結果

この記事の3行まとめ

  • 📈 三役好転は一目均衡表における最強の買いシグナル
  • 📉 三役逆転はその逆で、最強の売りシグナル
  • 🔔 3つの条件がすべて揃った瞬間を矢印で表示するインジケータを作成

はじめに

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

一目均衡表を使っているトレーダーなら一度は聞いたことがある「三役好転」。 しかし、チャートを見ながら3つの条件を同時に確認するのは意外と大変です。

そこで、条件が揃った瞬間に矢印を表示するインジケータを作成しました。

元ネタ

一目の三役好転をメールする。
https://fai-fx.hatenadiary.org/entry/20090715/1247671778
(2009年7月15日 公開)

Update v1.22 (2026/01/30)

  • 雲の上限・下限が0になる不具合を修正しました。
  • ビジュアライゼーションモードで売りの矢印(三役逆転)が表示されない問題を修正しました。

三役好転とは

3つの条件

三役好転(買いシグナル)は、以下の3条件がすべて揃った状態です:

# 条件 意味
1 転換線 > 基準線 短期トレンドが上向き
2 遅行スパン > 26本前の終値 現在価格が過去価格を上回る
3 終値 > 雲の上限 抵抗帯を完全に突破
graph TD
    A[三役好転] --> B[転換線 > 基準線]
    A --> C[遅行スパン好転]
    A --> D[終値 > 雲]
    B --> E[均衡表の好転]
    C --> F[価格の強さ確認]
    D --> G[トレンド確定]

三役逆転(売りシグナル)

三役好転の逆で、以下の3条件が揃った状態:

# 条件 意味
1 転換線 < 基準線 短期トレンドが下向き
2 遅行スパン < 26本前の終値 現在価格が過去価格を下回る
3 終値 < 雲の下限 サポート帯を完全に割り込み

MQL5での実装ポイント

一目均衡表の取得

MQL5ではiIchimoku()でハンドルを取得し、CopyBuffer()でデータを取得します。

MQL
// ハンドル取得(OnInitで1回だけ)
int ichimokuHandle = iIchimoku(_Symbol, PERIOD_CURRENT, 9, 26, 52);

// データ取得(OnCalculate内で毎回)
double tenkan[], kijun[], senkouA[], senkouB[], chikou[];
CopyBuffer(ichimokuHandle, 0, 0, rates_total, tenkan);  // 転換線
CopyBuffer(ichimokuHandle, 1, 0, rates_total, kijun);   // 基準線
CopyBuffer(ichimokuHandle, 2, 0, rates_total, senkouA); // 先行スパンA
CopyBuffer(ichimokuHandle, 3, 0, rates_total, senkouB); // 先行スパンB
CopyBuffer(ichimokuHandle, 4, 0, rates_total, chikou);  // 遅行スパン

雲の判定

雲は「先行スパンAと先行スパンBの間」です。上限と下限を動的に判定します。

MQL
double cloudTop = MathMax(senkouA[i], senkouB[i]);
double cloudBottom = MathMin(senkouA[i], senkouB[i]);

遅行スパンの比較

遅行スパンは「現在の終値を26本前にプロット」したものです。 比較対象は「遅行スパンがプロットされた位置での終値」になります。

MQL
// 現在足の終値(これが26本前に表示される)
double chikouValue = close[i];
// 26本前の終値(遅行スパンの位置での価格)
double priceAtChikou = close[i - 26];

// 好転判定
bool chikouBullish = (chikouValue > priceAtChikou);

使い方

  1. インジケータをチャートにドラッグ&ドロップ
  2. パラメータを設定(デフォルトは9/26/52)
  3. 三役好転/三役逆転が発生すると矢印が表示されます

パラメータ

パラメータ デフォルト 説明
Tenkan_Period 9 転換線の計算期間
Kijun_Period 26 基準線の計算期間
Senkou_Period 52 先行スパン2の計算期間
EnableAlert true アラートを有効にする
AlertOnce true 同じ足で1回だけアラート

注意点

シグナル発生は稀

三役好転/三役逆転は非常に厳しい条件です。日足でも月に1〜2回程度しか発生しません。

「シグナルが出ない」のは正常です。条件が厳しい分、発生したときの信頼性は高いとされています。

リペイントについて

このインジケータは現在足確定時にシグナルを判定します。 現在足の値動き中はシグナルが変化する可能性があります(正常な動作)。


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

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

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

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

Ichimoku_Sanyaku.mq5 をダウンロード


関連記事・用語


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