テクニカルEA化
移動平均線の「傾き」をEAにどう理解させるか
公開 2026.06.15最終確認 2026.06.15
チャートの見た目の「角度」はEAには伝わらない。移動平均線の「傾き」を使ってトレンドの有無と強さを数値化し、EAのフィルターとして組み込む方法を整理する。
裁量トレードの解説動画を見ていると、よくこんな言葉が出てくる。
「移動平均線が上を向いてきましたね。角度も急なので、強いトレンドです」
人間の目には、チャートに引かれた線の「角度」がはっきりと見える。上を向いているか、横ばいか、下を向いているか。
しかし、EAのコードを書こうとすると手が止まる。
「上を向いている」って、プログラムでどう書けばいいんだ?
「現在価格が移動平均線より上にある」ことと、「移動平均線が上を向いている(傾きがプラス)」ことは違う。
価格が急落して移動平均線を下抜けても、移動平均線自体はまだ上を向いていることはよくある。
EAに「傾き(トレンドの勢い)」を認識させるには、視覚的な角度ではなく、純粋な「数値の差分」に変換する必要がある。
「角度」はチャートの拡大縮小で変わる嘘の数字
初心者がやりがちな勘違いがある。「移動平均線の角度(何度か)を計算しよう」としてしまうことだ。
これは無意味だ。
MT5のチャートの縦軸(価格)と横軸(時間)の縮尺を変えれば、移動平均線の「見た目の角度」は30度にも60度にも変わる。
EAに「角度が45度以上なら」と指示することはできない。
必要なのは、価格ベースの「差分(pips)」だ。
傾き = 「今のMA」 - 「N本前のMA」
EAにおける「傾き」の計算は非常にシンプルだ。
傾き = 現在の移動平均線の値(MA[0]) - N本前の移動平均線の値(MA[N])
たとえば、「現在の1時間足のSMA20」が150.50で、「3本前のSMA20」が150.20だったとする。
差分は +30pips(0.30円)。
この「+30pips」という数字こそが、EAにとっての「上向きの傾き」だ。
この値がプラスなら上向き、マイナスなら下向き、ゼロ近辺なら横ばい(レンジ)と判定できる。
Nの取り方(どれくらい前の値と比較するか)
「N本前」をいくつにするかが、EAの性格を決める。
- 1本前(MA[0] - MA[1])
一番感度が高いが、ノイズに弱すぎる。少し価格が上下しただけで「上向き」「下向き」の判定がコロコロ変わり、フィルターとして機能しにくい。
- 3〜5本前(MA[0] - MA[3]など)
適度に滑らかになり、ノイズを吸収しつつトレンドの初動にも反応できる。私がよく検証で使うのはこのあたりだ。
- 10本以上前
大きなトレンドの波は掴めるが、反応が遅れる。
横ばい(レンジ)をどう定義するか
傾きの計算ができたら、次に行うのが「閾値(しきいち)」の設定だ。
差分が「+0.1pips」でも計算上はプラス(上向き)だが、実質的には横ばいだ。ここで「0.1pipsでもプラスなら買い」とすると、レンジ相場でダマシに引っかかる。
「差分が +5pips以上なら上昇トレンド、-5pips以下なら下降トレンド、それ以外(-4.9〜+4.9)は横ばい(レンジ)」
このように閾値を設けることで、移動平均線の傾きを強力な「トレンド/レンジ判定フィルター」として使えるようになる。
この記事のメモ
「見た目を数値に翻訳する」
これが、裁量手法をEA化する時の最大の壁であり、一番面白いところでもある。
人間の目は優秀すぎるから、無意識のうちに「緩やかな上向き」とか「急角度」とかを判別してしまう。でもそれをそのままEAにやらせることはできない。
「傾き」を差分(pips)で計算し、閾値を設ける。
これを実装できるようになると、移動平均線の使い方が「ただのライン」から「相場の勢いを測るセンサー」に変わる。
チェックリスト
- [ ] 傾きの計算を「見た目の角度」ではなく「N本前との差分(価格)」で行っているか
- [ ] 1本前との比較ではなく、ノイズを吸収できる期間(3〜5本前など)で比較しているか
- [ ] 微小なプラス/マイナスを無視するための「閾値(横ばい判定の幅)」を設定しているか
- [ ] 対象銘柄のボラティリティに合わせて閾値のpips数を調整しているか(ゴールドと通貨ペアでは閾値の桁が違う)
FAQ
Q: 閾値(横ばいと判定するpips数)はどう決めればいいですか?
固定のpips数にすると、相場のボラティリティが変わった時に機能しなくなります。高度なEAでは、閾値自体を「ATRのX%」のように動的に設定して、相場環境に追従させる設計もあります。
Q: SMAとEMA、傾きを測るならどちらがいいですか?
トレンドの勢い(直近の変化)を早く捉えたいならEMA、大きな方向性をノイズを排して見たいならSMAが適しています。目的に応じて使い分けてください。
免責
本記事は個人の検証メモであり、投資助言ではありません。計算ロジックの実装結果は相場環境によって異なります。