【移植#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()でデータを取得します。
// ハンドル取得(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の間」です。上限と下限を動的に判定します。
double cloudTop = MathMax(senkouA[i], senkouB[i]);
double cloudBottom = MathMin(senkouA[i], senkouB[i]);
遅行スパンの比較¶
遅行スパンは「現在の終値を26本前にプロット」したものです。 比較対象は「遅行スパンがプロットされた位置での終値」になります。
// 現在足の終値(これが26本前に表示される)
double chikouValue = close[i];
// 26本前の終値(遅行スパンの位置での価格)
double priceAtChikou = close[i - 26];
// 好転判定
bool chikouBullish = (chikouValue > priceAtChikou);
使い方¶
- インジケータをチャートにドラッグ&ドロップ
- パラメータを設定(デフォルトは9/26/52)
- 三役好転/三役逆転が発生すると矢印が表示されます
パラメータ¶
| パラメータ | デフォルト | 説明 |
|---|---|---|
| Tenkan_Period | 9 | 転換線の計算期間 |
| Kijun_Period | 26 | 基準線の計算期間 |
| Senkou_Period | 52 | 先行スパン2の計算期間 |
| EnableAlert | true | アラートを有効にする |
| AlertOnce | true | 同じ足で1回だけアラート |
注意点¶
シグナル発生は稀
三役好転/三役逆転は非常に厳しい条件です。日足でも月に1〜2回程度しか発生しません。
「シグナルが出ない」のは正常です。条件が厳しい分、発生したときの信頼性は高いとされています。
リペイントについて
このインジケータは現在足確定時にシグナルを判定します。 現在足の値動き中はシグナルが変化する可能性があります(正常な動作)。
ソースコードのダウンロード¶
この記事で紹介したインジケータをダウンロードできます。
ファイルの種類:インジケータ
保存先: MQL5/Indicators/ フォルダ
使い方: MT5のナビゲーターから「インディケータ」を展開し、チャートにドラッグ&ドロップで適用