チャートに入れ直すと増えるサインは、後出しです — 通貨強弱サインを「その足の時点のデータだけ」で作り直した話【CP-Signal for MT5】
MT4/MT5のインジケーターを開発している lab.aiueo です。
この記事では、シグナル系インジケーターの「後出し」がなぜ起きるのか、とくに通貨強弱のサインで起きやすい理由と、その確かめ方を書きます。最後に、それを見直して作った CP-Signal for MT5 を紹介します。
GBPUSD H1 に入れた CP-Signal。①〜⑥の番号で画面の読み方を入れています
朝、入れ直したら矢印が増えていた
夜のうちにチャートを見たときは、サインは出ていなかった。
朝、時間足を切り替えて戻ってきたら、昨夜の時間帯にきれいな矢印が増えている。しかも、その矢印からは値が素直に伸びている。
この矢印は、昨夜の時点では出ていませんでした。チャートに入れ直したときにだけ現れるサインは、後出しです。その後の値動きを知っている計算がどこかに混ざっているので、過去のチャートではたいてい上手に見えます。
通貨強弱に、後の値が混ざる4つの入り口
通貨強弱のインジケーターは、表示しているペア以外に28ペアの値を使います。チャートに入れた瞬間に過去のサインを並べるには、過去の1本1本について「その足の時点の強弱」を計算し直す必要があり、ここに後の値が混ざる入り口が少なくとも4つあります。
| 入り口 | 何が起きるか | CP-Signal MT5版 |
|---|---|---|
| 1. ほかのペアを「本数」で読む | あるペアだけ足が1本少ないと、そのペアの「100本前」はチャートの100本前より後の足になる | 時刻で合わせて読む |
| 2. 過去の時間帯を「今の時差」で判定する | 夏(GMT+3)の時差を1月の足に当てると1時間ずれる。入れた季節で過去のサインが変わる | 足ごとにその日の夏時間・冬時間で判定 |
| 3.「普段のばらつき」を最新の500本で決める | 起動時に1回だけ計算して過去にも使うと、過去の判定に「その後の値動き」が入る | その足より前の500本だけで計算 |
| 4. 最新の1本しか判定しない | 回線が切れて戻る・早送りすると足が何本も進み、飛ばした足のサインは入れ直したときだけ出る | 飛ばした足をすべて判定 |
2つ目を数字で書くと、こうなります。
目で見ても、違いは分からない
どれが混ざっていても、チャートの見た目はほとんど変わりません。矢印が1本ずれる、ある時期だけ1件多い、という程度です。
そこでMT5版の開発では、直近500本の各足を「その足が最新だった時点のデータ」に切り詰めて判定し直し、チャートに入れたときの再現と、方向・TP/SL・サインの一覧まで突き合わせる自動テストを作りました。
CP-Signal の判定は3ステップ
| ステップ | 何を見るか | 既定値 |
|---|---|---|
| 1. 方向 | 2通貨の強弱の差が普段より大きく、トレンドEMAも同じ向きか | 1.5σ以上、EMA50の傾き |
| 2. 時間帯 | その足がロンドンかニューヨークの時間帯か | GMT 07:00〜16:00 / 12:00〜21:00 |
| 3. 押し目 | 押し目EMAに触れ、方向どおりの実体で引けたか | EMA20 |
3つがそろった確定足に1回だけ矢印を出し、その後は既定で8本のクールダウンを置きます。差が小さい間は「方向なし」として何も出しません。
画面の読み方
左上のパネル。8通貨の強弱ランキングと、サインが出ない理由(Status)
パネルには8通貨を強い順に並べ、表示中のペアの2通貨に の印を付けます。なぜ買いなのか・売りなのかをその場で確かめられます。
| Status | 状態 |
|---|---|
session closed | ロンドン・ニューヨークの時間外 |
strength gap low | 強弱の差がしきい値に届いていない |
EMA direction mismatch | 強弱の向きとトレンドEMAの傾きが逆 |
cooldown (8 bars) | 直前のサインの後。この本数目に確定する足から、またサインを出せる |
watching EMA touch | 方向が決まり、押し目EMAまでの戻りを待っている |
チャートには、サインの矢印と、最新のサインの TP(緑の点線)・SL(赤の点線)、ロンドン(濃い青)・ニューヨーク(濃い茶)の時間帯の帯を表示します。SLは ATR×1.5 と直近10本の高値・安値までの距離の遠い方、TPは SLまでの距離×RR(既定1.0)です。
勝ち負けの数え方
過去のサインには、TP・SLのどちらに先に届いたかを ✓ と × で付けます。
- 1本の足で TP と SL の両方に届いたときは、負けとして数える(足の中でどちらが先かは分からないため)
- 判定はチャートの価格(Bid)の高値・安値で行い、スプレッドや約定のずれは含まない
パネルの勝率は、お使いのチャートの過去の値動きに当てはめた結果の記録です。将来も同じになるとは限らないので、この記事でも数字は出していません。
BT-Replay の検証用チャートでも動く
過去の相場を1本ずつ再生する検証ツール BT-Replay(MT5用)の検証用チャートでも動きます。ほかのペアの値もチャートの確定した足の時刻までしか読まないので、再生中の時刻より先の値でサインを出すことはありません。巻き戻したときはその時刻までのサインに作り直し、再生中はアラートを鳴らしません。
この製品がやらないこと
注文は出しません。EAではなく、チャートに表示するインジケーターです。勝率の数字を宣伝に使いません。商品ページにも、この記事にも書いていません。
使い方の流れ
- 方向を確かめる … BIAS と強弱ランキングで、2通貨のどちらが強いかを見る
- 待つ … watching EMA touch の間は押し目待ち。戻らずに伸びる相場ではサインは出ない
- サインを見る … TP・SL の位置が、自分の考える節目と合っているかを確かめてから検討する
- 振り返る … ✓ と × で、その通貨ペア・時間足でサインがどう終わってきたかを見る
時間足は M15・M30・H1・H4 が使いやすいです。H4 ではサインがかなり少なくなり、D1 以上では足の時刻が時間帯に入らないためサインは出ません。
パラメータの画面。項目名は日本語で表示されます
動作環境
| 対応プラットフォーム | MetaTrader 5(Windows版) |
| 対応通貨ペア | 主要8通貨(USD・EUR・GBP・JPY・AUD・NZD・CAD・CHF)でできる28ペア |
| 時間足 | M1〜H4(推奨 M15 / M30 / H1 / H4) |
| リペイント | しない(確定した足だけで判定) |
| DLLの使用 / 外部インジケーター | なし / 不要 |
28ペアのデータは自動で取り寄せ、初めて入れたときも数秒ほどで過去500本ぶんのサインと勝ち負けが表示されます。銘柄名に接尾辞がつく業者でも、接尾辞を自動で見つけます。業者によって価格の仕入れ先やサーバーの時刻が違うため、強弱の値やサインは業者ごとに少しずつ変わります。
なぜ作ったか
MT5版は、SMC-Signal(MT5版)を買ってくださった方からの「CP-Signal のMT5版を期待しています」というメールがきっかけです。国内業者のMT4提供終了(JFXは2026年8月、OANDA証券は2026年11月)も進んでいます。
移植のために1行ずつ読み直す中で、上の4つの入り口を見直しました。自動テストでは、GBPUSD H1 で1件だけ合わない結果が出ました。その時点のデータで判定し直すと12件、チャートに入れたときの再現では11件。クールダウンの本数を「チャートの最新の足」から数えていたのが原因で、数え方をその時点の足に揃えて一致させました。
「後出しをしない」は、書くのは簡単で、確かめるのが難しい。今回いちばん強く感じたことです。
MT4版をお持ちの方へ。判定のしかたとパラメータは同じですが、別製品として買い直す形になります。また、MT4とMT5は同じ業者でも別のサーバーから価格を受け取るため、サインの位置は完全には一致しません。
本製品は、通貨の強弱と時間帯にもとづいて相場を分析するための補助ツールです。投資助言や運用成果の保証を行うものではありません。
表示されるサイン・TP/SL・勝率は、過去および現在の価格から機械的に算出した目安であり、将来の値動きを予測するものではありません。勝ち負けの判定にはスプレッドや約定のずれを含みません。本製品を利用した取引によって生じたいかなる損害についても、制作者は責任を負いません。投資判断はご自身の責任において行ってください。