ZigZagは選択した価格の高値と安値を結び、その間の小さな変動を線から除きます。値動きの波の構造を確認しやすくしますが、価格がさらに進むと最新の端点が移動することがあります。整った過去のジグザグ線からは、各転換点がいつ利用可能になったかを正確には読み取れません。
ZigZag指標が示すもの
この線は、価格変動を事後的に抽出するフィルターです。以前のBrokerCheckガイドでは、スイング取引、トレンドチャネル、エリオット波動分析、支持線と抵抗線、フィボナッチの基準点、ヘッド・アンド・ショルダー、三角持ち合い、ダブルトップやダブルボトムなどのパターンでの用途を説明しています。これらの用途では、選択された値動きの波を解釈します。線自体が将来の価格を計算するわけではありません。
ガイドは感度とノイズの兼ね合いを重視し、明確なトレンド、横ばい相場、資産の変動性、ファンダメンタルズの背景、過去データによる検証を取り上げています。取引への応用は分析手法の説明です。ここでの例は線とその修正を測定し、エントリーや決済の戦略は検証していません。
Depth、Deviation、Backstepの設定
以前のガイドでは、Depthを新しい高値や安値が出ない最小バー数、Deviationを方向転換に必要な変動率、Backstepを高値と安値の間の最小バー間隔と定義しています。例として次の範囲を示しています。
| 設定 | 短期向けの範囲 | 長期向けの範囲 |
|---|---|---|
| Depth | 5–10本 | 12–20本 |
| Deviation | 1–3% | 5–10% |
| Backstep | 1–3本 | 3–5本 |
バー数とパーセントのフィルターを区別する
ガイドでは、最小価格変動のフィルターにも「Depth」を使い、開始範囲を5%–10%、変動性が高い場合を>10%、低い場合を<5%としています。Deviationの説明では、<5%を低め、5–10%を中程度、>10%を高めとしています。リスク管理の例では5%と15%のフィルターを比較しています。ここでは、これらのパーセントの記述を比率のしきい値として維持し、バー数には換算していません。
ダウンロード版では単位を明確にしています。Depthはバー数で表す後方参照の窓、DeviationPercentは未確定端点の価格から測る反転率、Backstepは反対側の端点までの最小バー数です。以下ではこの厳密な規則を使用します。ポイント単位の偏差設定ではなく、他のプラットフォームのZigZagとの一致は前提にしていません。
Backstepと再描画
ガイドのBackstepの表では、1本を高感度、2–3本を均衡的、4–5本を低感度としています。また、Backstepは「再描画を防ぐ」と述べていますが、それ以前の説明ではZigZagが描き直される可能性を警告しています。ここでの計算ではBackstepを間隔の規則としてのみ使います。連続するデータ締切時点の例が示すように、未確定端点は引き続き移動します。
最後に描かれた転換点は候補であり、初めて現れた時点で完結した過去の事実ではありません。
このダウンロード版の正確な計算
例示用の初期値はDepthが12本、DeviationPercentが1%、Backstepが3本です。ガイドで取り上げた値を組み合わせたものであり、最適化した値でも最良の設定として示した値でもありません。
- バーを時系列順に読みます。Depthの窓全体が揃うのを待ち、その中で最も低い安値のうち最初のものを暫定端点の初期値にします。処理は次のバーで続きます。
- 高値候補は、現在のバーを含む後方参照のDepth窓内のすべての高値以上でなければなりません。安値候補は、その窓内のすべての安値以下でなければなりません。
- 同じ種類で厳密により極端な候補が未確定端点を置き換えます。同値なら、以前の端点の時刻を維持します。
- それ以外では、未確定端点からのバー間隔がBackstep以上で、価格の反転幅が以下の比率のしきい値に達する場合に限り、反対側の候補を採用します。
- 採用バーの確定時に古い端点を確定し、新たに採用した反対側の端点は暫定のままにします。変更のない確定済みの履歴を追加するだけの場合、以前に確定した端点は決して移動させません。
しきい値 = 未確定端点価格の絶対値 × DeviationPercent ÷ 百 高値の後:未確定高値 − 安値候補がしきい値に達する必要があります 安値の後:高値候補 − 未確定安値がしきい値に達する必要があります
アウトサイドバー、形成中のバー、履歴の変更
アウトサイドバーは伸長と反転の両方を示すことがあります。高値と安値からはバー内の順序が分からないため、伸長を優先し、変更は各バーにつき最大一回にします。同じ伸長バーでは反対側の転換点を採用しません。ネイティブ指標は呼び出しのたびに利用可能なすべてのバーを再計算します。最新バーはまだ変化し得ますが、以下の過去の例には確定済みのバーのみを含めています。
DepthとBackstepは正の整数のバー数、反転率は正の有限値でなければなりません。高値と安値は正の有限値で、高値は安値以上でなければなりません。履歴が不足すると線は出ません。古いバー、利用可能な履歴、設定が変わると、新しい結果になります。安定性の説明は、以前のデータと設定が同一のまま確定済みバーを追加する場合にのみ当てはまります。
EURUSDの実例
過去の標本には確定済みの時間足バーが5000本含まれ、期間は2025-12-04 15:00から2026-09-24 22:00までです。時刻は端末のバー開始時刻で、取得時に測定した時差はUTC+3です。過去の夏時間の変更は調整していません。取引時間帯間の空白は圧縮してチャート上に示しています。これらの観測値はリアルタイムの気配値ではありません。
確定した値動きの波と未完成の区間

同じバーに異なる比率のしきい値を適用する

未確定端点の再描画を観察する

| このバーまでのデータを利用 | 未確定端点のバー | 端点価格、EUR当たりUSD |
|---|---|---|
| 2026-09-23 18:00 | 2026-09-23 17:00 | 1.13830 |
| 2026-09-23 19:00 | 2026-09-23 19:00 | 1.13752 |
| 2026-09-23 20:00 | 2026-09-23 20:00 | 1.13696 |
| 2026-09-23 21:00 | 2026-09-23 20:00 | 1.13696 |
各行では、その締切時点までに利用可能なバーのみを、バー確定時点で使います。端点が動くと、以前に描かれた点は消えます。接続区間は新しい極値まで描き直されます。この例は、確定点の集合が変わらないまま未確定端点が繰り返し変化するという条件を満たす、最も新しい連続締切時点の系列です。その後の収益率によって選んだものではありません。
ZigZagを値動きの波の構造に使う
高値の切り上げは確定高値を直前の確定高値と比較し、安値の切り上げは確定安値を直前の確定安値と比較します。高値や安値の切り下げには逆向きの厳密な比較を用います。同値は同じ水準の波であり、切り上げでも切り下げでもありません。途中にある同種の転換点は飛ばしません。
これらの例で上昇構造とするには、最新の高値と安値の両方が、それぞれ同種の直前の点を上回る必要があります。下降構造では両方が下回る必要があります。他の組み合わせは混在です。分類が利用可能になるのは、対象となる最後の転換点が確定する、印を付けたバーの確定時だけです。それ以前の極値時点ではありません。
高値と安値の切り上げ

高値と安値の切り下げ

他の指標、時間足、市場の背景
以前のガイドでは、トレンドの方向と交差に移動平均、勢いとダイバージェンスにMACD、ダイバージェンスと70超/30未満の値にRSI、価格水準の比較にフィボナッチ・リトレースメントを、ZigZagと組み合わせています。出来高の増加、ファンダメンタル分析、異なる情報の組み合わせも論じています。これらの補助計算はこのダウンロード版に含まれず、複合シグナルや確率もここでは測定していません。
最適と呼ばずに設定を調整する
ガイドは、変動性が高い場合はDepthとDeviationを増やし、変動性が低い場合や取引期間が短い場合は減らすことを論じています。短い反転が省かれる場合にはBackstepを下げることを提案しています。時間足の表では、外国為替や暗号資産の1–15分足と、株式の日足や週足を比較しています。また、外国為替の24時間サイクル、株式の取引時間帯、商品のサイクルを背景として挙げています。計算例はすべてEURUSDの1時間足のままです。
変更を調べるには、データと他の設定を固定し、残る転換点を比較して、連続する締切時点を確認します。区間が少ないチャートが示すのは、別のフィルター処理済み履歴だけです。ガイドは過去データによる検証とデモでの試行を勧めています。このガイドは記述的な計算を提供するもので、最適なパラメーターや戦略の成績の証拠ではありません。
ストップ、目標、事後的な波の限界
ガイドは、波の安値より下や反転点の先にストップを置くこと、最近の高値や投影点の近くに目標を置くこと、新たな転換点の形成に合わせて注文を調整することを論じています。規律ある判断や損失を受け入れる心理的な難しさも強調しています。これらは波の水準の利用案です。ここには注文配置、ポジション量の決定、目標投影のアルゴリズムは実装していません。
未確定安値は、後からさらに下へ移動する可能性があります。過去の転換点の時刻も、その確認時刻より前です。別途取引検証を行うなら、最終的な過去の線を即座に利用できたシグナルとして扱わず、その時点で利用可能だった情報を使う必要があります。
過去の価格極値を結ぶ整った線は、エントリー価格、決済価格、将来の結果を確定するものではありません。
指標と過去の例をダウンロードする
MQL5指標は、パーセント方式のZigZagを価格に重ねます。注文、通知、補助指標はありません。ネイティブの線は単一の描画形式を使いますが、最後の区間は暫定です。別の過去チャートでは破線で区別しています。ネイティブチャートへの適用と描画は未検証です。
ネイティブ計算は、空でないバッファ値330433個について参照計算と一致し、最大絶対差は0.0でした。これは算術と転換点の配置を確認するもので、取引成績の検証ではありません。
- コンパイル済みファイルをプラットフォームのカスタム指標フォルダーに置くか、プラットフォームのエディターでソースコードをコンパイルします。
- カスタム指標の操作項目から適用し、目的のチャート時間足を選択します。
- DepthとBackstepには正のバー数、DeviationPercentには正の値を入力します。別のZigZagと比較する前に単位を確認してください。
- バーが追加される際の未確定端点を観察し、その時刻と確定時刻を区別します。
例から確認できること
- 最後の端点は暫定です。
- 確定は採用バーの確定時に属し、それ以前の極値時点ではありません。
- 設定と履歴が、選択される値動きの波を決めます。
チャートは、固定した過去のデータ配信に特定の比率ベースの規則を適用したものです。ダウンロードしたCSVは全履歴の最終結果を含み、各時点のチャート表示を再現したものではありません。締切時点の表が、その限定的な再現例を提供します。取引コスト、エントリー、決済、収益率、勝率、予測精度は測定していません。規則、データ配信、履歴の開始点、設定が違えば、異なる波が生じ得ます。
よくある質問
ZigZagは再描画されますか?
未確定端点は後の極値に移動し、以前の点を消すことがあります。この計算では、変更のない確定済みの履歴を延長する際、すでに確定した端点は固定されたままです。
転換点はいつ確定しますか?
条件を満たす反対側の端点が採用されたとき、その採用バーの確定時に確定します。極値の時刻は、その確認が利用可能になる時刻より前です。
Deviationはポイント単位ですか?
このダウンロード版は未確定端点の価格に対する比率を使います。ポイント方式のZigZagは別の単位を使うため、一致は前提にしていません。
ここでのDepthは何を意味しますか?
バー数で表す後方参照の候補窓で、例示用の初期値は12です。ガイドはパーセントのフィルターも論じていますが、それらはバー数ではありません。
Backstepはすべての再描画を止めますか?
いいえ。この計算では、反対側の端点までのバー間隔を制限します。未確定端点は引き続き移動し得ます。
高値と安値の切り上げとは何ですか?
連続する確定高値同士と確定安値同士の間の、同値を含まない上昇です。上昇構造の例では、両方の比較が必要です。
これが最良の設定ですか?
最適な設定や取引成績は確立していません。例は選んだ規則を過去データ上で説明するもので、価格変動を予測するものではありません。
レバレッジ商品は短期間で損失が生じるおそれがあります。日本でFXを提供する事業者には登録が必要です。




