
スイングインデックス(SI)とは?ワイルダーが作った1本ごとの指標

SIの意味と生まれ
SIは、ワイルダーが1978年の著書『New Concepts in Technical Trading Systems』で紹介した指標です(出典: TA-Lib Wilder Swing Index (SI))。前の足と今の足の始値・高値・安値・終値から、その足の値動きの強さを、向きの符号つきで1つの数値にします。強く上げて引けた足は大きなプラス、強く下げて引けた足は大きなマイナスになります。
SIとASIの違い
- SI:その足1本分の数値です。0より上なら上げ、下なら下げの足です。
- ASI:SIを足ごとに足し合わせた線です。ワイルダーは、ASIに価格のチャートと同じように線を引いて使いました(出典: TA-Lib Wilder Accumulative Swing Index (ASI))。
- T(リミットムーブ):SIの大きさを決める値です。先物の「1日に動ける上限」が元の意味で、FXにはこの上限がありません。決め方は後の節で測ります。
ASIは、足ごとの値動きを積み上げるので、横軸は時間、縦軸は積み上げた値です。TA-Libの資料には、ASIは要求した範囲の最初の足を0として始めるため、意味を持つのは線の形で、水準そのものではないと書かれています。
アドバイスSIは足1本分、ASIはそれを足し合わせた線だよ。ASIの高さではなく、形を見るんだ。
スイングインデックスの計算式|K・R・Tの意味

式の全体
今の足の始値をO、高値をH、安値をL、終値をC、1本前の足の始値をOy、終値をCyとします。TA-Libの定義では、SIは次の式です(出典: TA-Lib SI)。
- SI = 50 × (N ÷ R) × (K ÷ T) (Rが0のときは0)
- N = (C − Cy) + ½ × (C − O) + ¼ × (Cy − Oy)
- K = aとbの大きい方(a = |H − Cy|、b = |L − Cy|)
Rの場合分け
Rは、a、b、d(d = |H − L|)のうち最大のものによって、次のように決まります。q = ¼ × |Cy − Oy| です。
- aが最大のとき:R = a − ½b + q
- bが最大のとき:R = b − ½a + q
- dが最大のとき:R = d + q
上の図は、米ドル円の日足1本分をこの式で計算したものです。この足は、前日の終値が当日の値幅の内側にあったので、dが最大になり、R = d + q = 202.1pipsです。Nは254.5pips、Kは169.9pipsで、T = 30pipsとするとSIは356.5になります。

前日の終値が当日の値幅の内側にあれば、aとbを足したものがdなので、必ずdが最大になります。FXは取引が続いているため、前日終値と当日の始値のずれが小さく、3通貨ペアの日足では、前日終値が値幅の内側にあった日が96.9〜97.6%でした。FXの日足では、ほとんどの日が「R = d + q」の場合です。
資料によって式の符号が違う
式の出典は一つに決めておく必要があります。調べた範囲では、資料の書き方に違いがありました。
| 出典 | Nの書き方 | この記事での扱い |
|---|---|---|
| TA-Lib SI | (C − Cy) + ½(C − O) + ¼(Cy − Oy) | この式に従う |
| MetaQuotesのASI.mq5(MT5に入っているソース) | TA-Libと同じ向き(Rの書き方は別の形で、数値は一致) | 数値を照合して一致を確認 |
| MQL5コードベースの説明文 | CLOSE(i−1) − CLOSE(i) を先に書く、符号が逆の形 | 従わない |
MetaQuotesのソースは、Rを「TR − 0.5 × ER + 0.25 × SH」の形で書いていますが、上の場合分けと同じ値になります。Dukascopy のティックから作った足で2つの式を計算して比べたところ、最大の差は日足・4時間足とも10−12未満で、数値は一致しました。
アドバイスFXの日足は、ほとんどの日が「R=d+q」だよ。式の符号は資料で違うから、TA-Libの形に合わせたんだ。
スイングインデックスの見方|ASIで高値更新を確認する

ワイルダーの使い方
MetaQuotesのMQL5コードベースのASIの説明は、ワイルダーの著書の文章を次のように引いています(出典: MQL5 Code Base ASI、MetaQuotesによる英訳)。価格のチャートに引いたトレンドラインと同じように、ASIにもトレンドラインを引き、チャート上のラインのブレイクをASIが確認できるかを見ます。チャート上の誤ったブレイクは、ASIでは確認されないことが多い、という考え方です。
同じページは、ASIの標準的な分析として、ブレイク、新高値・新安値、ダイバージェンスを挙げています。ダイバージェンスは、価格が高値を更新したのにASIが更新しない(またはその逆)形のことです。この記事では、ブレイクの確認だけを測りました。
価格だけが更新したとき

上の図は、終値は直前20本の最高値を超えたのにASIは届かなかった日です。ワイルダーの考え方なら「確認されていないブレイク」ですが、この例では10本後に上がっていました。これは2024年の価格だけの更新から選んだ1例で、全体の傾向を示すものではありません。全体は、次の節の実測で見ます。
一方、TA-Libの資料は、ワイルダーの合図を「価格がまだ確認していないASIのブレイク」と書いています。ASIが先に更新し、価格が追いつかない場合を使う読み方で、確認に使う読み方と向きが違います。どちらの読み方も、実測の表に入れています。
アドバイスASIでブレイクを確かめる読み方と、ASIが先に動く場面を見る読み方があるよ。どちらも後の節で測ってるんだ。
スイングインデックスのTの決め方|FXでは上限がない

Tは何を表す値か
Tは、SIの大きさをそろえるための値です。先物には1日に動ける上限(リミットムーブ)があり、CQGのヘルプにも、銘柄ごとの上限を調べて入れると書かれています(出典: CQG Accumulative Swing Index)。TA-Libの資料では、動きが上限の範囲内なら、SIは−100〜+100に収まります。ただし、上限を超える足では100を超え、値は切り詰められません。
FXにはこの上限がないので、Tは自分で決める値になります。MetaQuotesのASIの初期値は300で、5桁表示の通貨ペアでは30pipsです。
Tを変えるとSIはどう変わるか
日足では、1日の値幅の中央値が米ドル円83pips、ユーロドル71pips、ポンドドル95pipsでした。T = 30pipsだと、SIの絶対値が100を超えた日が26〜37%あります。15pipsでは49〜60%、60pipsでは6〜14%、直前20本の平均値幅を使うと2〜4%でした。4時間足では、T = 30pipsで100を超えた割合が約4〜9%でした。
Tを固定の値にすると、SIはどの足でも同じ倍率で変わるだけなので、ASIの形は変わりません。T = 15pipsと30pipsのASIの相関は1.0000でした。ASIの形が変わるのは、Tを足ごとに変える場合です。

Tを「直前20本の平均値幅」にしたSIは、T = 30pipsのSIとの相関が0.92〜0.97でした。60本ごとのASIの変化の相関は0.93〜0.98で、10年の長い形は、Tの決め方が違ってもよく似ています。細かい動きと、100を超える日の割合は、Tで変わります。
FXでの始値の扱い

SIの式には、始値と前日の始値が入ります。FXでは前日の終値と当日の始値がほぼ連続しているため、始値のずれの中央値は0.15〜0.25pipsで、日足の値幅の0.2〜0.3%でした。前日終値を始値とみなしても、SIの相関は3通貨ペアとも0.998です。
ただし、小さな差でも足し合わせると開きます。ポンドドルのASIの最終値は、Aが−1,836、Bが−3,521でした。ASIの水準を比べたり、特定の値を基準にしたりするときは、始値の扱いと日足の区切りをそろえます。この記事の日足は、日本時間6:00(UTC21:00)区切りです。
アドバイスFXにはリミットムーブがないから、Tは自分で決めるよ。固定ならASIの形は変わらないんだ。
スイングインデックスの実測|ASIで確認した高値更新の10本後

測り方
- データ:Dukascopy のティックから作った足。2016年1月〜2025年12月、USDJPY・EURUSD・GBPUSD。日足(日本時間6:00区切り)と4時間足。足の始値は、その足の最初の値です。
- SI:T = 30pipsのTA-Libの式。ASIはその合計です。
- 更新:終値が直前20本の終値の最高値を超える(または最安値を割る)ことを「価格が更新」、ASIが直前20本のASIの最高値を超える(または最安値を割る)ことを「ASIが更新」とします。
- 3つに分けます:価格もASIも更新(両方更新)、価格だけ更新、ASIだけ更新。
- 1件:条件を満たした足1本を1件とし、更新した足の終値で更新の向きに入り、10本後の終値で決済した値幅です。保有の期間は件どうしで重なります。
- 費用:スプレッドを1件につき1回引きます。USDJPY 0.57、EURUSD 0.40、GBPUSD 1.13pips。
日足の結果
日足の「両方更新」は、米ドル円が+2.4pips(556件)、ユーロドルが−10.9pips(529件)、ポンドドルが−37.1pips(573件)でした。「価格だけ更新」は、米ドル円が+74.6pips(44件)、ユーロドルが−48.7pips(40件)、ポンドドルが+35.5pips(46件)と、通貨ペアで符号がそろいませんでした。件数が40件台と少なく、標準誤差は20〜32pipsあります。

4時間足の結果
4時間足は件数が多く、「両方更新」は3通貨ペアとも3,300件を超えます。平均は米ドル円−2.9pips、ユーロドル−4.8pips、ポンドドル−3.5pipsで、すべてマイナスでした。「価格だけ更新」は米ドル円+9.1pips、ユーロドル−6.0pips、ポンドドル−1.4pipsで、日足と同じく符号がそろいません。

3通貨ペアを合わせた結果
3通貨ペアの件数を合算すると、日足の「両方更新」は1,658件で平均−15.5pips(標準誤差5.4)、4時間足の「両方更新」は10,087件で−3.7pips(標準誤差0.9)です。どちらもスプレッドを引いた後はマイナスで、平均が標準誤差の約3倍、約4倍ほどマイナス側にあります。
「価格だけ更新」は、日足が130件で+22.8pips(標準誤差17.0)、4時間足が811件で+0.8pips(標準誤差3.4)で、ゼロと区別できません。ワイルダーの合図とされる「ASIだけ更新」も、日足が297件で−4.4pips(標準誤差12.8)、4時間足が2,131件で−1.7pips(標準誤差1.9)で、ゼロと区別できませんでした。
この結果から分かるのは、この条件(20本の高値更新・10本後に決済・スプレッド差引後)では、ASIで確認できたブレイクの方が有利、とは言えないということです。ワイルダーの「チャート上の誤ったブレイクはASIでは確認されないことが多い」という考え方は、この測り方では支持されませんでした。なお、件の保有期間は重なっており、標準誤差は実際より小さく出ている可能性があります。Tを変えたり、決済の本数を変えたりした場合は測っていません。この記事の数字は過去のデータの集計で、将来の成績を示すものではなく、投資の助言でもありません。
アドバイスASIで確認できた場合と、できなかった場合で、10本後の結果に決まった差は出なかったよ。件数が少ない組み合わせは、ばらつきも大きいんだ。
スイングインデックスをMT4・MT5で使う|ASIとiCustom

MT5とMT4で何が違うか
MT5には、MetaQuotesのASIが標準のインジケーターのExamplesフォルダに入っています(ソースはコードベースにもあります)。入力はTだけで、初期値は300です。バッファは0がASI、1がSI、2がTRです。
MT4の標準のテクニカル指標の一覧(MetaTrader 4 ヘルプ)にはASIがありません。MetaQuotesのASI.mq4を別にダウンロードして使います。Tの初期値は300、バッファは0がASI、1がSIです。
iCustomで値を取る
EAからは、iCustomでインジケーターを呼び出します(MQL4 iCustom、MQL5 iCustom)。MQL4は値を返し、最後の2つの引数がバッファ番号とシフトです。MQL5はハンドルを返すので、CopyBufferで取り出します。
// MQL4: 直前に確定した足(シフト1)のASI(バッファ0)
double asi = iCustom(NULL, 0, "ASI", 300.0, 0, 1);
// MQL5: ハンドルを作り、バッファ0(ASI)を取り出す
int h = iCustom(_Symbol, _Period, "Examples\ASI", 300.0);
double a[];
CopyBuffer(h, 0, 1, 1, a);シフト0は動いている足なので、判断には確定した足のシフト1を使います。ASIの値は最初の足からの積み上げなので、計算を始める位置で水準が変わります。
アドバイスMT5にはASIが入っているけど、MT4は別に入れるよ。EAでは確定した足のシフト1で読もう。
スイングインデックスのインジケーターのダウンロード|シストレ.COM配布版

シストレ.COM会員なら無料でダウンロードできます
以下のボタンから、MT4版「SwingIndex_systre.ex4」とMT5版「SwingIndex_systre.ex5」をまとめてダウンロードできます(ZIP形式)。別ウィンドウにSIの線を描くインジケーターで、ASIは描きません。入力はリミットムーブ(式のTに当たる値)の1つです。0のままにすると300ポイント(5桁表示の通貨ペアで30pips)を使い、この記事の測定と同じ値になります。
MT4への導入手順
- ダウンロードしたZIPを解凍し、
MT4フォルダのSwingIndex_systre.ex4を取り出す - MT4のデータフォルダの「MQL4」→「Indicators」フォルダにコピーする
- MT4を再起動する
- ナビゲーターから
SwingIndex_systreをチャートにドラッグ&ドロップして使用開始
MT5の場合:ZIP内の MT5 フォルダの SwingIndex_systre.ex5 を「MQL5」→「Indicators」フォルダに配置してください。手順はMT4と同様です。
値幅と出来高から相場の動きやすさを測る方法は、Ease of Movement(EOM)の使い方と分析法で解説しています。
注意事項
- SwingIndex_systreはシストレ.COMの登録口座でご利用いただけます。認証が行われていない口座ではご使用いただけません。
- 無料配布のサンプルです。商用利用・再配布は禁止とさせていただきます。
アドバイス配布版はSIの線を描くものだよ。使える口座の条件を確かめてから使ってね。
要点
・SIは、前の足との比べ方を1つの数値にした指標で、ASIはその合計。ワイルダーが1978年に紹介
・式はSI = 50 × (N ÷ R) × (K ÷ T)。資料で符号の向きが違うため、この記事はTA-Libの形に従った
・FXの日足は、ほとんどの日(96.9〜97.6%)で前日終値が値幅の内側にあり、R = d + q になる
・Tを固定してもASIの形は変わらない。FXには上限がないので、T = 30pipsだと日足の26〜37%でSIが100を超える
・実測(3通貨ペア・10年)では、ASIで確認できたブレイクの10本後は、スプレッドを引くと日足−15.5pips、4時間足−3.7pips。確認できないブレイクとの差は見えなかった
・MT5はASIが標準で入り、MT4はASI.mq4を別に入れる。EAでは確定した足のシフト1で読む
スイングインデックスのよくある質問
スイングインデックス(SI)とは何ですか?
ワイルダーが1978年に紹介した、1本の足を前の足と比べて1つの数値にする指標です。前の足の始値・終値と、今の足の始値・高値・安値・終値から計算し、強い上げはプラス、強い下げはマイナスになります。
スイングインデックスの計算式は?
SI = 50 × (N ÷ R) × (K ÷ T) です。Nは終値と始値の変化、Kは前日終値からの高値・安値の大きい方、Rは値幅に応じた3つの場合分け、Tはリミットムーブです。資料により符号の向きが違うため、この記事はTA-Libの定義に従っています。
ASI(累積スイングインデックス)とは何ですか?
SIを足ごとに足し合わせた線です。ワイルダーは、価格のチャートと同じようにASIにトレンドラインを引き、価格のブレイクをASIが確認するかを見ました。水準は始める位置で変わるため、線の形を見ます。
FXではTをいくつにしますか?
決まった値はなく、自分で決めます。MetaQuotesのASIの初期値は300ポイント(5桁表示で30pips)です。日足でT = 30pipsだと、SIが100を超える日が26〜37%ありました。Tを固定にしても、ASIの形は変わりません。
MT4・MT5でスイングインデックスは使えますか?
MT5はASIが標準で入っています。MT4は標準にないので、ASI.mq4を別に入れます。どちらもiCustomでEAから値を取れます。MT4はバッファ0がASI、1がSIです。
ASIで確認できた高値更新は、勝ちやすいですか?
この実測では、確認できた場合の方が有利とは言えませんでした。3通貨ペア・10年・直前20本の高値更新で、10本後の平均はスプレッドを引くと日足−15.5pips、4時間足−3.7pipsでした。ASIで確認できない場合は、ゼロと区別できない結果でした。
スイングインデックスのまとめ
スイングインデックスは、ワイルダーが1978年に紹介した、前の足との比べ方を1つの数値にする指標で、その合計がASIです。式の符号は資料で違うため、この記事はTA-Libの定義に従いました。FXには値幅の上限がないので、Tは自分で決める値になり、固定ならASIの形は変わりません。3通貨ペア・10年の実測では、ASIで高値更新を確認できた場合も、スプレッドを引くと10本後の平均はマイナスで、確認できない場合との差は見えませんでした。ここに載せた数字は、過去のデータを集計した結果です。
⚠ リスクに関する注意事項
本記事は情報提供を目的としており、特定の金融商品の売買を推奨するものではありません。FX取引はレバレッジ取引の特性上、預託した証拠金以上の損失が生じる可能性があります。取引の際は、ご自身の判断と責任において行ってください。詳しくは特定商取引法に基づく表記をご確認ください。













