【移植#65】アンディの雲をMTF化 — 確定H1をM15へ安全に重ねる¶

この記事の3行まとめ
- H1で計算したアンディの雲を、時刻対応を取ってM15チャートへ重ねる
- 形成中のH1足は使わず、確定済みの上位足だけで階段表示または補間表示する
- 26本先への移動をM15の104本へ換算し、実チャートの雲と全描画バッファを検証する
原典はアンディの雲のMTF対応版¶
2010年3月10日の原典では、前日に作られたアンディの雲をマルチタイムフレーム対応にしています。例は、H1の雲をM5へ表示するものでした。通常の階段表示に加え、階段の角を線で結ぶ補間表示も選べる点が特徴です。
元記事の配布ファイルは公開停止となり、第三者による再配布も禁止されています。そのため、今回のMQL5版は元ファイルを転用せず、公開されている表示仕様と一目均衡表の計算式から独立して実装しました。
H1の時刻をM15へ対応づける¶
配布インジケーターは、各M15バーの開始時刻をiBarShift()へ渡し、その時刻を含むH1バーを求めます。ただし、対応したH1バーそのものは形成中だった時点があるため、標準設定では一つ前の確定済みH1バーを使用します。
計算する2本の境界は、前回と同じです。
転換線 = 過去9本の最高値と最安値の中間
基準線 = 過去26本の最高値と最安値の中間
先行スパンA = (転換線 + 基準線) / 2
先行スパンB = 過去26本の最高値と最安値の中間
H1の1本はM15の4本に相当します。そのため、H1で26本先へ移動する表示は、M15では26 × 4 = 104本先へ移動します。時間足を変えたときも秒数の比率から換算し、上位時間足が現在足の整数倍にならない組み合わせは受け付けません。
階段表示と補間表示¶
InpInterpolate=falseが標準です。同じ確定H1値を4本のM15バーへ割り当てるため、掲載画像のような階段状になります。どのH1値を参照しているかが分かりやすく、まずはこちらをおすすめします。
InpInterpolate=trueにすると、一つ古い確定H1値から直近の確定H1値までを、M15バーの終了位置に応じて直線補間します。使うのはどちらも確定済みの値で、未来の価格を予測する処理ではありません。滑らかになりますが、上位足本来の段差を観察したい場合は補間を切ってください。
雲はDRAW_FILLINGで緑と紫に塗り分け、2本の境界線も重ねています。
65_Andy_Kumo_MTF_Confirmed_v1_00.mq5 をダウンロード
主なパラメーター¶
| パラメーター | 初期値 | 役割 |
|---|---|---|
InpSourceTimeframe | H1 | 雲を計算する上位時間足 |
InpTenkan | 9 | 転換線の期間 |
InpKijun | 26 | 基準線と先行スパンBの期間 |
InpShiftSourceBars | 26 | 上位時間足で右へ移動する本数 |
InpInterpolate | false | 確定値の間を滑らかにつなぐか |
InpClosedSourceOnly | true | 確定済み上位足だけを使うか |
補間を有効にするときは、確定済み上位足だけを使う設定が必須です。形成中のH1を補間へ混ぜ、過去チャートが後から整って見える構成にはしていません。
検証結果¶
専用MT5(Build 6090、EURUSD・M15、参照時間足H1)で、インジケーターと独立検証EAを各0エラー・0警告でコンパイルしました。撮影前にインジケーターを実チャートへ追加し、4つの描画バッファを各600本取得しています。
先行スパンA・Bは各600本すべてが有効値で、2本の境界に差がある区間は548本、H1値がM15へ階段状に続く区間は494か所でした。さらに12地点をH1の高値・安値から別計算し、不一致0を確認してから撮影しています。画像取得エラーは0で、注文・ポジション操作もありません。
注意点¶
上位時間足の区切りはブローカーのサーバー時刻に依存します。別業者のH1と比較すれば、同じ式でも雲の形がずれる場合があります。また、先行表示は計算済みの値を右へ置く描画方法であり、未来の価格を示すものではありません。
MTF表示は相場の方向や収益性を保証しません。階段の色が変わったことだけで売買せず、価格との位置関係、時間足、リスク管理を別に検討してください。
まとめ¶
MTF化では、計算式よりも「どの時刻の上位足を下位足へ割り当てるか」が重要です。確定済みH1だけを使い、時間足の比率から先行移動を換算すれば、アンディの雲をM15へ再現性のある形で重ねられます。まずは階段表示で対応関係を確認し、必要なときだけ補間を使うのが安全です。
前後の記事¶
前: 【移植#64】アンディの雲をMT5へ — 一目の雲を平行移動して描く
次: 【移植#66】点在シグナルを線で結ぶ — DRAW_SECTIONとDRAW_NONEの安全な切替