比較するshift、クロスが成立した方向、通知時刻をそろえると、形成中の変化と確定後の結果を分けられます。
確定足ONとOFFでは、いつのMAクロスを判定するんですか?
確定足ONではバー確定後にshift 1と2、OFFのCurrent Barでは形成中のshift 0と確定済みのshift 1を比べます。
判定対象が違うので、同じチャートでも別の検証記録として扱います。
形成中に見えたクロスが消えたらリペイントで、通知は取引結果を示しますか?
形成中バーのMA値が更新されてクロスが消えることだけでは、確定済みの過去表示を書き換える挙動とはいえません。
通知は2本のMAの位置関係を確認する情報であり、売買成果を保証するものではありません。
ここからは、shift 0・1・2、方向別クロス、初回読み込み、重複抑止、再計算を時系列で確認します。
shift 0・1・2が示すバー
shiftは、現在から何本前のバーかを表します。
| shift |
バーの状態 |
確定足ONでの役割 |
Current Barでの役割 |
| 0 |
形成中 |
判定に使わない |
現在側の判定バー |
| 1 |
直前の確定済み |
現在側の判定バー |
比較する前のバー |
| 2 |
2本前の確定済み |
比較する前のバー |
判定に使わない |
MT4版とMT5版はともに、確定足ONではcurrent=1とprevious=2、OFFではcurrent=0とprevious=1を使います。「現在足」「前の足」だけでは設定によって意味が変わるため、shift番号で記録すると比較しやすくなります。
確定足のみで判定がONの場合
ONでは、直前に閉じたshift 1と、その一つ前のshift 2を比較します。形成中のshift 0で2本のMAが交差して見えても、判定対象には含めません。
バーが閉じた瞬間を単独で捉えるのではなく、新しいバーへ移った後の計算で、確定したshift 1の状態を確認します。検証記録には次を残します。
- 新しいバーの開始時刻
- shift 1とshift 2のバー開始時刻
- 両shiftの短期MAと長期MA
- 上方向・下方向の設定
- 通知が記録された時刻
確定足ONは形成中の一時的な交差を対象外にしますが、通知の発生やその後の相場状態を約束する設定ではありません。
Current Barモードの場合
「確定足のみで判定」をOFFにすると、形成中のshift 0と確定済みのshift 1を比較します。shift 0の価格が更新されるたびに短期MAと長期MAも再計算されるため、同じバーの中で上下関係が変わる場合があります。
時系列では、次のように分けます。
| 時点 |
shift 0 |
確認する内容 |
| バー開始直後 |
新しい価格で形成開始 |
shift 1との上下関係 |
| 形成中 |
価格更新に合わせてMA値も更新 |
クロス条件の成立・不成立 |
| バー確定直前 |
まだ形成中 |
一時的な交差が残っているか |
| 次のバー開始後 |
直前バーがshift 1へ移る |
確定後の上下関係 |
Current Barモードは形成中の状態を早く確認できますが、バーが閉じるまで同じ状態が続くとは限りません。
上方向クロスの成立条件
上方向クロスは、比較する前のバーで短期MAが長期MA以下、現在側の判定バーで短期MAが長期MAより上になったときに成立します。
| 判定 |
条件 |
| 前の判定バー |
短期MA ≤ 長期MA |
| 現在側の判定バー |
短期MA > 長期MA |
確定足ONならshift 2からshift 1、Current Barならshift 1からshift 0への入れ替わりを見ます。2本が近付いただけ、同じ側に並んだまま、過去の交差地点を見ただけでは新しい上方向クロスになりません。
下方向クロスの成立条件
下方向クロスは、比較する前のバーで短期MAが長期MA以上、現在側の判定バーで短期MAが長期MAより下になったときに成立します。
| 判定 |
条件 |
| 前の判定バー |
短期MA ≥ 長期MA |
| 現在側の判定バー |
短期MA < 長期MA |
上方向と下方向は別々に有効化でき、通知済み状態も方向別に保持されます。検証結果には方向を必ず記載してください。
形成中バーでクロスが消える理由
Current Barモードではshift 0のMA値が形成中に更新されます。短期MAが長期MAの反対側へ一度移った後、価格更新によって元の側へ戻れば、画面上のクロス状態も消えます。
これは形成中データを判定対象にしたときの正常な状態変化です。未来のデータで確定済みの過去表示を書き換える挙動とは区別します。次の3時点を連続して記録すると違いを確認できます。
- 交差前
- 形成中に交差した直後
- バー確定直後
通知済みかどうかと、画面上で現在も交差状態かどうかも別項目にします。
初回読み込み時に過去通知しない仕組み
MT4版とMT5版は、チャートへ初めて適用した計算では過去のクロスをまとめて通知しません。履歴上に交差地点やマーカーが見えても、それだけで新しい通知にはなりません。
検証は初回計算が終わった時点を開始点にします。適用直後の画面を残し、その後の価格更新または新しいバーで新たに条件が成立したかを確認してください。
初回読み込みと通常稼働を混ぜると、「過去表示」と「新規通知」を区別できません。適用時刻、初回計算完了後の時刻、最初の通知時刻を分けて残します。
同一バー・同一方向の重複通知を抑止する仕組み
稼働中は、最後に通知したイベント足の時刻を上方向と下方向で別々に保持します。同じ方向・同じイベント足の条件が価格更新ごとに続いても、同じ通知を繰り返さない仕組みです。
| 状態 |
扱い |
| 同じバー・同じ方向 |
再通知を抑止 |
| 同じバー・反対方向 |
別方向の状態として確認 |
| 新しいバー・同じ方向 |
新しい条件が成立すれば確認対象 |
形成中バーで上下関係が行き来する場合も、方向とイベント足を組にして記録します。通知回数だけでは、方向別状態を判別できません。
再適用・時間足変更・端末再起動時の状態
再適用、時間足変更、端末再起動でインジケーターが初期化されると、稼働中に保持していた方向別の通知バー状態は引き継がれません。
一方、初回計算では過去クロスをまとめて通知しません。初期化後の次の価格更新で対象条件が成立している場合は、改めて評価されます。再適用前後を同じ連続区間として数えず、別の検証区間として扱ってください。
比較時は、初期化理由、再開時刻、設定値、対象shift、最初の価格更新、最初の通知を記録します。再適用を通知状態の調整手段には使わないでください。
履歴更新と再計算の確認方法
不足していた履歴データが追加された場合や、接続回復後にバー情報が補われた場合は、MAの計算対象も更新されることがあります。適用直後、時間足変更後、接続回復後は、必要なバー数がそろってから比較します。
履歴更新の前後で次を残します。
- 取得できているバー数と最新時刻
- 短期MA・長期MAの期間、方式、適用価格
- shift 0・1・2のバー開始時刻
- 各shiftの短期MAと長期MA
- 確定足設定
- 通知時刻と方向
brokerごとに配信履歴、銘柄表記、取引時間帯が同じとは限りません。XMTrading、Titan FX、Exness、HFMでの検証は4社の環境で確認した記録であり、画面や結果が完全に同一という意味ではありません。
リペイントと正常な再計算の違い
形成中のshift 0が価格更新に合わせて変わることは、Current Barモードで想定される再計算です。バー確定前の一時的なクロスが消えることだけで、確定済みの過去表示を書き換える挙動とは判断できません。
確定済みバーの表示差を見つけた場合は、設定変更、時間足変更、履歴更新、再適用、端末再起動の前後を分けます。同じ銘柄・時間足・設定で、どのshiftがいつ変わったかを時系列で確認してください。
一般的な違いはインジケーターのリペイントの見分け方と確定足・未確定足のシグナル確認タイミングで確認できます。本記事ではMAクロス通知の2本のMA、方向別クロス、通知状態に限定します。
MT4版とMT5版の実装・確認差
MT4版とMT5版はどちらもVersion 1.000、24入力で、確定足ONはshift 1と2、Current Barはshift 0と1を使います。上方向・下方向の条件、初回読み込み時に過去通知しないこと、方向別に同一イベント足を抑止することも揃っています。
| 確認点 |
MT4版 |
MT5版 |
| 入力数 |
24 |
24 |
| 確定足ON |
shift 1と2 |
shift 1と2 |
| Current Bar |
shift 0と1 |
shift 0と1 |
| 初回の過去通知 |
まとめて通知しない |
まとめて通知しない |
| 同一イベント足の抑止 |
上方向・下方向別 |
上方向・下方向別 |
| MA計算 |
端末のMT4向け関数 |
端末のMT5向けハンドルとバッファ |
| 表示識別 |
MT4向けチャートオブジェクト |
MT5向けチャートオブジェクト |
| 確認画面 |
MT4のExperts・Journal |
MT5のExperts・Journal |
機能仕様が揃っていても、OS、MetaTraderのbuild、broker、銘柄、時間足、MQ4・EX4・MQ5・EX5の配布物、端末UIは別条件です。実機比較ではそれぞれを記録します。
実機スクリーンショットの残し方
実画面は、同一銘柄・同一時間足で次の連続場面を残します。
- shift 0・1・2のバー位置が分かる画面
- Current Barで交差する直前
- 形成中に交差した直後
- バー確定直後
- 再適用前
- 再適用後の初回計算
- その後の最初の価格更新
画像だけでなく、確定足設定、短期MA・長期MA、方向設定、通知時刻、Experts・Journalの該当時刻を同じ検証IDで対応付けます。口座番号、残高、サーバー名、個人情報、ライセンス情報、メールアドレス、端末IDは写さないでください。
実画面を掲載するまでは壊れた画像参照を置かず、撮影条件を台帳で管理します。記事固有Heroは説明用の品質資産として維持し、実機証跡は本文に併存させます。
利用時の注意事項
- 形成中バーのMA値とクロス状態は、バーが閉じるまで変わる場合があります。
- 通知時刻とイベント足の開始時刻を混同しないでください。
- 初回読み込み、通常稼働、再適用後は別の検証区間です。
- 履歴更新や接続回復の前後は、取得バー数も確認します。
- 上方向と下方向は別の通知状態として記録します。
- MT4版とMT5版は機能仕様が揃っていますが、OS、build、broker、配布物、端末UIは別条件です。
- 4社での検証は、各社による公認、推奨、保証、認定、共同開発を示すものではありません。
- 通知は2本のMAの位置関係を確認する情報であり、売買成果や通信到達を保証するものではありません。
- 本記事は一般的な操作・検証情報であり、個別の投資判断を示すものではありません。
正式版の無料ダウンロード
MT4版とMT5版はVersion 1.000で、どちらも24入力です。通常利用はMT4でEX4、MT5でEX5を使用します。内容を確認して再コンパイルする場合は、それぞれMQ4またはMQ5も取得できます。
ダウンロード前に利用条件を確認し、利用するMetaTraderと拡張子を合わせてください。製品の概要と導入前の確認事項はMAクロス通知インディケーターの製品ページにもまとめています。
よくある質問
- 確定足のみで判定をONにすると、どのバーでクロスを判定しますか?
- 直前に確定したshift 1と、その一つ前のshift 2を比較します。形成中のshift 0は判定に使わず、新しいバーへ移った後の計算で直前バーのクロスを確認します。
- Current Barモードでは、どのバーでクロスを判定しますか?
- 形成中のshift 0と、直前に確定したshift 1を比較します。shift 0の価格とMA値はバーが閉じるまで更新されるため、上下関係も形成中に変わる場合があります。
- shift 0・1・2はそれぞれ何を示しますか?
- shift 0は形成中バー、shift 1は直前の確定済みバー、shift 2は2本前の確定済みバーです。確定足ONは1と2、Current Barは0と1を使います。
- 形成中バーで一度出たクロスが消えるのはリペイントですか?
- 形成中のshift 0は価格更新に合わせてMA値も変わるため、バー確定前にクロス状態が消えることがあります。それだけでは、確定済みの過去表示を未来の情報で書き換える挙動とは判断できません。
- 初回読み込み時に過去のクロスがまとめて通知されますか?
- まとめて通知されません。MT4版とMT5版は初回計算で過去通知を行わず、その後の価格更新または新しいバーで条件が成立したかを確認します。
- 同じバーで同じ方向の通知が繰り返されますか?
- 稼働中は最後に通知したイベント足の時刻を上方向と下方向で別々に保持し、同じ方向・同じイベント足での再通知を抑止します。
- 再適用や時間足変更後も重複抑止の状態は引き継がれますか?
- 引き継がれません。再適用、時間足変更、端末再起動で初期化された後は、初回計算で過去通知を行わず、その後の更新で成立した条件を改めて評価します。
- MT4版とMT5版で確定足・未確定足の判定仕様は同じですか?
- 同じです。両版とも確定足ONはshift 1と2、Current Barはshift 0と1を使い、上方向・下方向の条件と方向別の同一イベント足抑止も揃っています。実装API、表示識別、端末UIは異なります。