同じ「期間10」のMcGinley Dynamicを二つのチャートに表示したら、片方は価格へすばやく近づき、もう片方はゆっくり動く。どちらかが壊れているとは限りません。公開されている式には、分母へ係数0.6を入れる形と、入れない形があり、初期値や入力価格もサービスごとに違い得るからです。
McGinley Dynamic(マクギンリー・ダイナミック)は、John R. McGinley氏が考案した再帰型の平滑線です。固定した重みで更新するEMAと違い、価格と直前値の比率を4乗し、毎回の追随率を変えます。本記事では式、係数0.6、価格比、初期値、実装差、相場条件、組み合わせ、注文、撤退、数量、見送り、検証まで一つの手順にします。例の価格と成績は学習用の架空例で、特定銘柄の実績ではありません。
先に結論
- 代表的な式は、直前MDへ「価格との差×可変の追随率」を足す再帰式です。
- 追随率は1÷[k×N×(価格÷直前MD)の4乗]です。公開実装にはk=0.6を含む形と、kを置かない形があります。
- 価格がMDより上なら追随は遅く、下なら速くなる非対称性があります。
- 「相場の速度へ自動調整」は統計的なボラティリティ測定ではなく、価格比による補正です。
- 極端なギャップ、株式分割の未調整データ、直前値ゼロでは式が不安定になります。
- 売買シグナルは追加ルールです。確定足、価格構造、注文、撤退、数量を別に定義します。
McGinley Dynamicは何を解決しようとしたのか
TradingViewの公式ヘルプは、McGinley DynamicをJohn R. McGinley氏が開発した指標とし、従来の移動平均にある遅れを減らし、市場の速度に応じて自動調整する目的を説明しています。期間Nは利用者が設定できます。出典:TradingView「McGinley Dynamic」(2026年9月25日確認)。
ただし「自動調整」という言葉だけでは計算を再現できません。一般に公開される代表形は、MDt=MDt-1+(Pt-MDt-1)÷[k×N×(Pt÷MDt-1)4]です。Pは当期価格、Nは期間、kは定数、MDt-1は一つ前の値です。Investopediaの解説はk=0.6を示し、同指標を売買システムそのものより平滑化・トレンド監視の道具として説明しています。出典:Investopedia「How to Use the McGinley Dynamic Indicator」(2026年9月25日確認)。
本記事では、公開ページで確認できる式を扱い、取得できなかった原典の文言や初出年を断定しません。ウェブ上には年や正規化の異なる説明があるため、「考案者の原式」と安易に呼ばず、使用するプラットフォームの仕様を照合します。
| 記号 | 意味 | 実装で固定する項目 |
|---|---|---|
| MDₜ | 当期のMcGinley Dynamic | 表示精度 |
| MDₜ₋₁ | 直前のMcGinley値 | 初期値 |
| Pₜ | 当期価格 | 終値・典型価格等 |
| N | 期間 | 整数と探索範囲 |
| k | 調整係数 | 0.6・省略等 |
| 4乗 | 価格比の非線形補正 | 指数を変更しない |

式を追随率αへ分ける
式は、r=Pt÷MDt-1、αt=1÷(k×N×r4)と置くと、MDt=MDt-1+αt(Pt-MDt-1)になります。EMAも「直前値+α×差」の形ですが、EMAのα=2÷(N+1)は固定です。McGinleyはrが変わるたびにαも変わります。
価格と直前MDが等しいr=1では、k=0.6、N=10ならα=1÷6=約0.1667です。固定αのEMAへ機械的に換算すると、2÷(L+1)=0.1667からL=11に相当します。一方、kを置かない式でN=10ならα=0.1、EMA換算はL=19です。同じ「10」でも反応が大きく違います。換算はr=1付近だけの目安で、価格が離れれば対応関係も変わります。
Investopediaの用語ページにはkを置かず、N×(価格÷直前MD)の4乗を分母とする形も掲載されています。出典:Investopedia「McGinley Dynamic Indicator: Definition, Uses, and Formula」(2026年9月25日確認)。一つの媒体内にも正規化の異なる公開式がある以上、「期間10」という表示だけで実装を推測してはいけません。
| 実装 | r=1、N=10のα | EMA換算の目安 | 記録名例 |
|---|---|---|---|
| k=0.6 | 16.67% | 約11期間 | MD(k0.6,N10) |
| kなし | 10.00% | 約19期間 | MD(k1,N10) |
| EMA(10) | 18.18% | 10期間 | EMA(N10) |
| 線 | 更新方法 | 追随率 | 主な実装差 |
|---|---|---|---|
| SMA | 有限窓の均等平均 | 固定ではない | 入力・窓 |
| EMA | 前値+固定α×差 | 固定 | 初期値・α定義 |
| HMA | 複数WMAの差を平滑化 | 有限窓 | 期間丸め |
| McGinley | 前値+可変α×差 | 価格比で可変 | k・初期値・入力 |
上では遅く、下では速い:4乗が作る非対称性
直前MDが100、N=10、k=0.6とします。価格102ならr=1.02、rの4乗は約1.08243、分母は約6.4946です。差2を分母で割ると約0.3079なので、新しいMDは100.3079です。追随率αは約15.40%になります。
価格98ならr=0.98、4乗は約0.92237、分母は約5.5342です。差-2を割ると約-0.3614、新しいMDは99.6386、αは約18.07%です。直前値から上下へ同じ2%離れても、下側の価格へより速く追随します。これは式の非対称性であり、「下落を予知した」わけではありません。
比率の4乗は、ATRや標準偏差のように過去の変動幅を測るものではありません。現在価格と一つ前のMDの距離を、比率で非線形に補正します。価格がMDより上へ離れるほど分母は大きくなり、上向きの追随は遅くなります。価格がMDより下へ離れるほど分母は小さくなり、下向きの追随は速くなります。

| 価格 | r | r⁴ | α | 新MD |
|---|---|---|---|---|
| 102 | 1.02 | 1.08243 | 15.40% | 100.3079 |
| 100 | 1.00 | 1.00000 | 16.67% | 100.0000 |
| 98 | 0.98 | 0.92237 | 18.07% | 99.6386 |
| 90 | 0.90 | 0.65610 | 25.40% | 97.4595 |
| 50 | 0.50 | 0.06250 | 266.67% | −33.3333 |
極端なギャップでは、平滑線が価格を飛び越える
直前MD100に対して価格50なら、r=0.5、rの4乗は0.0625、k×N×rの4乗は0.375です。αは2.6667、更新量は-133.333となり、MDは-33.333です。正の株価をならす線が負になるのは、極端な比率でαが1を超えたためです。通常の日次変動では稀でも、株式分割の未調整データ、誤配信、上場直後の欠損、値が飛ぶ商品では起こり得ます。
これを避けるため、分割調整済み価格の使用、異常値検査、MDt-1がゼロまたは非正の場合の停止、αが1を超えたバーの監査を入れます。αを勝手に1へ丸めれば別の指標になるため、採用するなら「clipped版」と明記し、原実装と別に検証します。負価格になり得る商品やゼロ近辺の商品では、価格比自体の意味を再検討します。
前日比50%のような架空例を「日常的な弱点」と誇張する必要はありません。しかし再帰式は一度の異常値が次の値へ引き継がれます。チャートの見た目が戻っても、履歴を再計算しない限り汚染が残る点が重要です。
| 検査 | 条件例 | 処理例 | 記録 |
|---|---|---|---|
| 分割 | 企業行動日 | 調整済み系列で再計算 | 調整係数 |
| ゼロ除算 | 直前MD≤0 | 計算停止 | 欠損理由 |
| 極端α | α>1 | 警告・対象外 | α最大値 |
| 誤配信 | 価格変化が閾値超 | 原データ照合 | 訂正時刻 |
| 欠損 | 価格なし | 前値埋めせず欠損 | 欠損本数 |
初期値とウォームアップで線は変わる
McGinleyは再帰式なので、最初のMDが必要です。初日の価格をそのまま置く、最初のN本のSMAを置く、EMAを種にする、といった方法があります。同じ式・N・kでも、開始直後の値は一致しません。十分な履歴があれば差は小さくなる傾向がありますが、銘柄の上場期間や大きなギャップで収束速度も変わります。線を信じて動く前に、その線の出発点が同じかを知る。私には、この地味な確認が大事に思えます。
検証期間の初日から計算を始めず、少なくとも数倍のNを前に付けます。期間10だから10本で十分と決めず、100本、250本など複数の前履歴で検証開始日の値が実務上同じになるか確認します。プラットフォーム比較でも、同じ開始日ではなく、同じ価格履歴・調整・タイムゾーンを使います。
日足の終値、典型価格(高値+安値+終値の3分の1)、加重終値ではPが違います。時間外取引を含むか、週足の締めがいつか、分割や配当をどう調整するかも線を変えます。設定画面の「source」とデータ提供元を保存します。
| 初期化 | 最初の有効値 | 長所 | 注意 |
|---|---|---|---|
| 最初の価格 | 1本目 | 簡単 | 開始点依存が大きい |
| SMA(N) | N本目 | 平均から開始 | 初期N本は欠損 |
| EMA(N) | 定義次第 | 既存実装へ合わせやすい | EMA自体の初期化 |
| 十分な前履歴 | 検証前に計算 | 本番へ近い | 取得期間を保存 |
| 照合項目 | 固定する内容 | 不一致の原因 |
|---|---|---|
| 式 | kあり・なし | 正規化違い |
| 期間 | N | 表示名だけの比較 |
| 入力 | 終値等 | source違い |
| 初期値 | 価格・SMA等 | 開始点違い |
| 株価調整 | 分割・配当 | 系列違い |
| 時間 | 市場・タイムゾーン | 足の締め違い |
| 精度 | 内部小数 | 途中丸め |
期間設定:同じ数字をEMAからコピーしない
Nを大きくすると分母が大きくなり、通常は追随が遅くなります。しかしkの有無が反応速度へ直結するため、EMA(20)で使った20をそのままMcGinleyへ移しても同じ平滑度にはなりません。k=0.6の式でr=1なら、N=10はEMA約11、N=20はEMA約23のαに相当します。価格が離れればこの近似も崩れます。
期間は「日足の数週間の流れ」「5分足の場中トレンド」など役割から候補を絞ります。5、8、10、14、20、25、50を全部試し、最も成績のよい一本だけを残すと過剰適合しやすくなります。少数候補を設計期間で決め、未見期間と別銘柄群で頑健性を確認します。
| N | k=0.6、r=1のα | EMA換算目安 | 想定する役割例 |
|---|---|---|---|
| 5 | 33.33% | 約5 | 非常に短い反応 |
| 10 | 16.67% | 約11 | 短期 |
| 20 | 8.33% | 約23 | 数週間 |
| 25 | 6.67% | 約29 | 中短期 |
| 50 | 3.33% | 約59 | 環境認識 |
| 短いN | 長いN |
|---|---|
| 転換へ早く反応 | 小さな揺れをならす |
| 売買候補が増えやすい | 候補が減りやすい |
| 費用の影響が増えやすい | 大きな転換に遅れやすい |
| 異常値の影響が強い | 履歴依存が長い |
売買ルールはMcGinleyの外側に作る
McGinley Dynamicの役割を「平滑化された方向」と決め、価格が線を上抜いたら買い、線が上向いたら買い、といった判断は別ルールとして定義します。価格とのクロスは価格自身から作った線との比較なので、独立した二つの証拠ではありません。クロス直後に価格が戻るレンジでは往復損失が増えます。
候補例は、①長めのMDが上向き、②価格が直近高値を終値で超える、③支持帯までの撤退幅が許容内、④次の抵抗まで利益余地がある、⑤売買代金が基準以上、⑥決算直前でない、です。MDの傾きはSlopet=MDt-MDt-1で定義できます。差が呼値程度なら、2本連続やATR比の最小傾きを別案として検証します。
横ばい除外にはCHOP、速度の異なる平滑線との比較にはHMA、基礎的な違いには移動平均線とEMA・WMAを参照できます。ただし指標を増やしても、すべて同じ価格由来なら情報源は重複します。
| 用途 | 条件例 | 確認 | 見送り |
|---|---|---|---|
| 方向 | MDが2本連続上向き | 確定足 | 傾き極小 |
| 突破 | 終値が直近高値超え | 価格構造 | 上ヒゲだけ |
| 押し目 | 支持帯上で反発 | 安値切上げ | 支持割れ |
| 環境 | 上位足MD上向き | 週足確定 | 週途中 |
| 横ばい除外 | CHOP等を事前定義 | 閾値固定 | 後付け変更 |
| 状態 | MDの見え方 | 誤読 | 追加判断 |
|---|---|---|---|
| 上昇 | 価格下で上向き | 必ず支持 | 実際の安値 |
| 下降 | 価格上で下向き | 必ず抵抗 | 戻り高値 |
| レンジ | 価格と頻繁に交差 | 毎回売買 | 支持抵抗 |
| 急落 | 下へ速く追随 | 底打ち | 価格の反転 |
| ギャップ | 一度に大きく変化 | 通常足と同じ | イベント・α |
確定足から注文へ:同じ終値には買えない
日足終値でMDとシグナルを計算するなら、その終値は引けるまで確定しません。バックテストでシグナル日の終値へ買いを置かず、次の始値、上限指値、直近高値を超える買いストップなど実行可能な注文へ変えます。現在足の価格が動けばMDも動くため、場中の一時的なクロスを確定信号として扱いません。
Investor.govは、成行注文は執行を優先する一方で価格を保証せず、指値注文は価格を制御する一方で約定を保証しないと説明しています。ストップ注文は基準価格へ達すると成行となり、急変時にはストップ価格と約定価格が離れる可能性があります。出典:Investor.gov「Types of Orders」(2026年9月25日確認)。
東京証券取引所では基準値段に応じて一日の制限値幅があります。ストップを置いても、特別気配や値幅制限で希望価格に約定できるとは限りません。出典:日本取引所グループ「制限値幅」(2026年9月25日確認)。逆指値や有効期限の具体的な仕様は利用する証券会社で確認します。
| 注文 | 使い方 | 利点 | 保証されないこと |
|---|---|---|---|
| 翌日成行 | 確定後の次取引時 | 参加優先 | 価格 |
| 上限指値 | 追随できる最大価格 | 買値制御 | 約定 |
| 買いストップ | 高値超えで発動 | 突破確認 | 発動価格 |
| 押し目指値 | 支持帯へ戻る場合 | リスク縮小 | 反発・約定 |
| 取消 | 期限・条件崩れ | 古い注文防止 | 再機会 |
架空例:ギャップ後に50株なら、100株へ切り上げない
口座100万円、1回の許容損失0.8%=8,000円、売買単位100株とします。長めのMDが上向き、終値2,050円が直近高値を超え、支持帯の下に撤退候補1,987円を置いたとします。手数料と滑りの保守的見積りは往復4円/株です。
次の取引時に2,055円で買えるなら、1株リスク=2,055-1,987+4=72円です。8,000÷72=111株なので、100株へ切り下げます。予定損失は7,200円です。翌朝2,140円へギャップアップした場合は、1株リスク=157円、理論数量は50株です。100株へ切り上げると15,700円となり予算を超えるため、採用数量は0株です。
撤退価格はMDの線そのものではなく、買い仮説を否定する支持帯や直近安値から決めます。MDが下向くまで待つと、急落時には損失が拡大し得ます。買値が上がれば数量を減らし、最小単元を持てなければ見送ります。注文中に支持帯を割った場合は約定前でも取消条件です。
| 項目 | 通常 | 上方ギャップ |
|---|---|---|
| 想定買値 | 2,055円 | 2,140円 |
| 撤退候補 | 1,987円 | 1,987円 |
| 費用等 | 4円/株 | 4円/株 |
| 1株リスク | 72円 | 157円 |
| 理論数量 | 111株 | 50株 |
| 採用数量 | 100株 | 0株 |
| 予定損失 | 7,200円 | 0円 |

バックテスト:実装差を戦略差と取り違えない
検証では、銘柄、足、入力価格、株価調整、N、k、指数4、初期値、ウォームアップ、内部精度、確定時刻を保存します。信号日の終値と注文可能な次バーを分け、手数料、スプレッド、滑り、指値未約定、ストップのギャップ超過を反映します。公開コードを使う場合も、式の分母へ0.6があるかを読みます。
kありとkなし、価格クロス、傾き転換、2本確認を別戦略として比較します。一つの戦略を途中で都合よく混ぜません。設計期間、検証期間、最後の未見期間を分け、上場廃止を含む当時の母集団を使います。勝率だけでなく、期待値、平均利益・平均損失、最大ドローダウン、保有期間、売買回数、回転率、未約定率、ギャップ超過損失を確認します。
N=10だけが突出し、9や11で崩れるなら過剰適合を疑います。上昇、下降、横ばい、高・低ボラティリティ、決算期に分け、McGinleyが役に立たない環境も記録します。係数や閾値を何十通りも試した場合は試行回数を残し、最良値だけを報告しません。
| 検証項目 | 保存値 | 防ぐ誤り |
|---|---|---|
| 計算 | 式・k・N・指数 | 実装差の混同 |
| 初期化 | seed・前履歴 | 開始点依存 |
| 信号 | 確定日時 | 未確定足 |
| 発注 | 次バー・上限 | 同終値約定 |
| 費用 | 手数料・滑り | 理想約定 |
| 母集団 | 当時の上場銘柄 | 生存者偏向 |
| 評価 | 期待値・DD・回転 | 勝率偏重 |
| 比較案 | 変えるもの | 変えないもの |
|---|---|---|
| A | k=0.6 | 母集団・費用 |
| B | kなし | 同上 |
| C | 傾き2本確認 | 計算式 |
| D | 価格構造を追加 | 注文・撤退 |
| E | EMAへ置換 | 注文・撤退・数量 |
見送る条件を先に決める
式やkが確認できない、初期値が不明で再現できない、αが異常、未調整の企業行動が疑われる場合は、線を売買判断に使いません。チャート上で滑らかに見えても、計算根拠が再現できないなら検証対象外です。
売買面では、レンジ中央、傾きが呼値程度、抵抗が近い、決算直前、低流動性、スプレッド拡大、上方ギャップで最小単元を持てない、未確定足の場合に見送ります。McGinleyは価格から作る平滑線であり、実際に売買が集中した支持抵抗や企業情報を置き換えません。
| 見送り条件 | 理由 | 再検討 |
|---|---|---|
| 式不明 | 再現不能 | 仕様確認 |
| α異常 | データ汚染 | 原系列訂正 |
| レンジ中央 | 交差が往復 | 端へ接近 |
| 傾き極小 | 刻み程度 | 2本確認 |
| 決算直前 | ギャップ超過 | 発表後 |
| 低流動性 | 表示値で約定困難 | 売買代金回復 |
| 単元超過 | 損失予算違反 | 0株 |
| 未確定足 | 値が変わる | 引け後 |
実践チェックリスト
| 時点 | 確認 | 記録 |
|---|---|---|
| 導入 | kあり・なし | 数式 |
| 設定 | N・入力価格 | パラメータ |
| 初期化 | seed・前履歴 | 開始方法 |
| データ | 分割・欠損・時刻 | 提供元 |
| 計算 | r・α・異常値 | 監査ログ |
| 候補 | 確定足の傾き | 信号時刻 |
| 環境 | 支持抵抗・イベント | 見送り理由 |
| 注文 | 成行・指値・期限 | 上限 |
| 撤退 | 仮説否定価格 | 1株リスク |
| 数量 | 予算÷リスク | 単元切下げ |
| 終了後 | 実約定・費用 | 逸脱 |
まとめ:期間より先に、式と係数を見る
McGinley Dynamicは、直前値へ価格との差を足す再帰型の平滑線です。追随率は価格÷直前MDの4乗で変わり、価格が線より上では遅く、下では速くなります。これは価格比による非対称な補正であり、将来予測や統計的な変動率ではありません。
公開式にはk=0.6を含む形と、kを置かない形があります。r=1、N=10でも追随率は16.67%と10%に分かれます。期間だけをメモせず、式、k、入力価格、初期値、株価調整、時間軸、ウォームアップを保存します。極端なギャップや未調整の分割ではαが1を超え得るため、異常値検査も必要です。
線の上向きや価格クロスは候補であって、注文ではありません。確定足の後に実行可能な注文を置き、実際の買値と仮説否定価格から数量を計算します。ギャップで最小単元を持てなければ0株です。McGinleyを使う価値は名前の珍しさではなく、可変追随率を再現し、使わない場面まで決められるかで判断します。追いかける速さが変わるところはおもしろいですが、私の損切りが早すぎる癖を助けるかはまた別です。名前の新しさへの期待と、自分に合うかの検証を分けたいと思います。
資料確認・更新日:2026年9月25日。図表・数値例は当ブログ作成です。
免責事項
本記事は情報提供を目的とし、特定銘柄、売買手法、金融商品を推奨するものではありません。McGinley Dynamic、移動平均、価格クロスは将来の値動きや利益を保証しません。急変、ギャップ、値幅制限、売買停止、未約定、滑りにより想定以上の損失が生じる場合があります。投資の最終判断はご自身の責任でお願いいたします。記載の数値は、本文中に示した日付時点の決算短信・会社のIR資料などの公開情報に基づきます。最新の情報は各社の開示でご確認ください。
広告・PR:この記事にはアフィリエイト広告が含まれます。リンク経由の申込みなどにより、運営者が報酬を受け取る場合があります。

