MT5移動平均線のスマホ設定手順と3本表示・期間の選び方

※当サイトはアフィリエイト広告(Amazonアソシエイツ等)を利用しています。

こんにちは。trade-engineer.com 運営者のHです。

MT5の移動平均線をスマホで設定しようとして、Period・MA Method・Apply toの選択肢に迷ったことはありませんか。「とりあえずデフォルトのPeriod=14/Simpleのまま使っている」というトレーダーは少なくないはずです。

この記事では、MT5移動平均線のスマホ設定手順を具体的に解説します。SMA・EMA・WMAの違い、3本同時表示の方法、15分足での期間選び、MQL5でのiMA実装まで、エンジニア視点でまとめています。

記事のポイント
  • MT5スマホアプリで移動平均線を追加・設定する具体的な手順
  • SMA・EMA・WMAの違いと15分足への最適な期間設定
  • 3本の移動平均線を同時表示してクロス手法に活用する方法
  • MQL5でiMAを使って移動平均線値を取得・フィルターに組み込むコード
目次

MT5で移動平均線をスマホ設定する基本手順

スマホ版MT5(iOS・Android)はデスクトップ版とほぼ同じ設定項目を持っています。ただしUIがコンパクトになっているため、操作の場所を事前に把握しておくとスムーズです。ここでは移動平均線の追加方法から各パラメータの意味、複数本表示と期間選びまで順に説明します。

MT5スマホアプリへの移動平均線追加手順

MT5スマホアプリ(iOS・Android共通)で移動平均線を追加する手順を説明します。まずチャート画面を表示した状態でチャートをタップし、画面下部に表示されるメニューから「インジケーター」アイコンを選択します。Androidでは画面右上の「f」マークをタップする場合があります。

「インジケーターの追加」ダイアログが開いたら「トレンド」カテゴリを展開します。そこに「Moving Average」が表示されるのでタップしてください。設定ウィンドウが開き、Period・MA Method・Apply to・Shift・Colorなどが設定できる状態になります。デフォルトはPeriod=14 / Simple / Closeですが、実際のトレードではほぼ変更が必要です。設定値を入力し終えたら「OK」または「チェックマーク」をタップするとチャート上に移動平均線が表示されます。

一度追加したインジケーターを編集したい場合は、チャート上で移動平均線をタップすると「インジケーターの編集」と「削除」の選択肢が出ます。編集をタップすれば設定ウィンドウが再表示されます。スマホでは誤操作でチャートを触ることが多いので、編集モードに入ってしまったときは「キャンセル」で抜けましょう。インジケーターを一時的に非表示にしたい場合は「インジケーターの一覧」から目のアイコンをタップします。設定値を保持したまま他のインジケーターと比較するときに便利です。

MT5のバージョンによってはインジケーターメニューの場所が若干異なる場合があります。画面下部のツールバーに表示されない場合は、チャートを長押しするとコンテキストメニューが出てくることがあります。iOS版とAndroid版でUIが微妙に異なるため、どちらを使っているかで操作が変わる点は覚えておいてください。なお、同じ設定を複数チャートに使い回したい場合は、テンプレート機能を使うと効率的です。テンプレートはPCのMT5で作成してからモバイルで読み込む方法が確実です。

memo

MT5のバージョンアップ後にメニュー位置が変わることがあります。最新版でUIが変わっていた場合は「インジケーター」または「f」マークを画面全体から探してみてください。

移動平均線の設定パラメータ:Period・MA Method・Apply to

MT5の移動平均線設定ウィンドウには主にPeriod・MA Method・Apply to・Shift・Colorの5つのパラメータがあります。それぞれの意味を理解した上で設定することが重要です。

Period(期間)は、移動平均を計算するローソク足の本数です。期間が短いと価格に敏感に反応しますが誤シグナルも増えます。期間が長いと滑らかになりますが遅延が大きくなります。15分足のデイトレードなら5〜25程度、スイングトレードなら50〜200が一般的な出発点です。ただしどの期間が最適かは通貨ペアや相場環境によって変わるため、使う前にバックテストで確認する習慣を持つことをお勧めします。

MA Method(計算方式)はSMA・EMA・SMMA・WMAの4種類です。SMAは単純平均、EMAは直近を重視した指数平均、SMMAは平滑化平均、WMAは重み付き平均です。それぞれの特性は次のH3で詳しく解説します。

Apply to(適用価格)は何の価格に対して平均を取るかを指定します。Close(終値)が最も一般的で、Open・High・Low・Median Price((高値+安値)/2)・Typical Price((高値+安値+終値)/3)なども選べます。基本的にはCloseで問題ありません。Shift(シフト)はインジケーターを左右にずらす設定で通常は0のままです。ColorとラインスタイルはUI上の視認性のための設定です。スマホの小さな画面でも見やすいよう太さを2〜3pxにしておくと確認しやすくなります。

パラメータを変更したら、まずチャートを数日分スクロールして意図した動きをしているか目視確認してください。短期MAがチャートにほぼ張り付いているようなら期間が短すぎ、価格からほとんど離れないなら期間が長すぎる可能性があります。数値で判断するには後述するMQL5のバックテストが最終的な手段です。

SMA・EMA・WMAの違いとMT5での使い分け

MT5で選択できる移動平均の計算方式は4種類ですが、実運用で主に使うのはSMA・EMA・WMAの3つです。それぞれの計算原理と特性を理解することで、目的に合った選択ができます。

SMA(Simple Moving Average)は期間内の終値をすべて等しいウェイトで平均したものです。期間が20なら直近20本のCloseを単純に足して20で割ります。計算がシンプルで直感的に理解しやすく、どの足も等しい重みを持ちます。一方で最新の足と20本前の足が同じウェイトを持つため、直近の価格変化への反応が遅れます。SMA200など大きな数値のラインは多くのトレーダーが意識するため、価格がそのラインに近づいたときにレジスタンス・サポートとして機能しやすい傾向があります。

EMA(Exponential Moving Average)は直近の価格に大きなウェイトをかけた指数移動平均です。ウェイトは指数関数的に減衰し、直近足が最も大きく影響します。SMAより価格変化に素早く反応するため、デイトレードや短期スキャルピングに使われます。ただし素早い反応はダマしのリスクも高めます。MT5でのデフォルトはSMAですが、シグナル検出にはEMAを使うケースが多いです。

WMA(Weighted Moving Average)は直近を最高ウェイトとして線形に重み付けした移動平均です。期間5なら最新足に5、1本前に4、2本前に3…とウェイトをかけて平均を取ります。EMAより直近への反応がさらに強くなりますが、EMAほど広く使われているわけではありません。特定の短期足スキャルピングや実験的な用途に使います。バックテストで比較するなら「同じ期間でSMA・EMA・WMAをそれぞれ検証して最も勝率・期待値が良かった方式を採用する」というアプローチが再現性を保ちます。

MT5スマホで3本の移動平均線を同時表示する手順

MT5では複数のインジケーターを同一チャートに重ねられます。MT5移動平均線を3本表示する場合は、「インジケーターの追加」からMoving Averageを3回追加し、それぞれ異なる期間・色・ラインスタイルを設定します。操作は同じですが追加のたびに別インスタンスとして登録されるので、既存のラインが上書きされることはありません。

よく使われる3本構成の一例として、短期EMA5・中期EMA21・長期SMA200という組み合わせがあります。短期と中期のクロスでエントリーシグナルを検出し、長期MAで大局のトレンド方向を確認するという使い方です。EMA5がEMA21を上抜けかつ価格がSMA200より上にある状態でロングエントリーを検討するイメージです。

スマホ画面では3本の線が密集して視認しにくくなることがあります。これを防ぐには色と太さを明確に区別することが有効です。たとえば短期を白(太さ1px)・中期を黄(太さ2px)・長期を赤(太さ3px)のように設定すると、小さな画面でも識別しやすくなります。長期SMA200はデイトレードの参考線として使う場合、点線にしておくと混乱を避けられます。表示数が増えすぎるとチャートが見づらくなるので、常用するラインは2〜3本に絞ることをお勧めします。スキャルピングでは短期2本、スイングでは中期1本+長期1本が実用的な範囲です。

複数インジケーターを追加した後に順番を変えたい場合は、「インジケーターの一覧」画面でドラッグして並び替えられます。インジケーター同士の視覚的な重なりが気になる場合はShift値を微調整することもできますが、通常は0のままで十分です。

15分足でのMT5移動平均線の期間設定と3本使いの実践例

15分足(M15)はデイトレーダーが使う代表的な時間足です。1日のロンドン・ニューヨークセッション合計のトレード可能時間が約10〜12時間として、15分足1本はその約1/40〜1/48にあたります。この時間足に対して短期・中期・長期の3本を使う場合の典型的な期間設定を説明します。

短期ラインは価格の直近の勢いを把握するためのもので、EMA5またはEMA8が多く使われます。中期ラインはトレンド方向の確認に使い、EMA21またはEMA25が定番です。長期ラインはデイトレにおける大局フィルターとして機能し、SMA75またはSMA100が使われるケースがあります。「MT5移動平均線 3本 15分」で調べると期間5・25・75の組み合わせを推奨している情報もありますが、この組み合わせが普遍的に優れているわけではありません。

実際の検証例として、USDJPY M15でEMA5・EMA21・SMA75の3本構成を使ったクロス手法を試したことがあります。EMA5がEMA21を上抜けかつ価格がSMA75より上にある条件でのロングエントリーを検証したところ、2023年1月〜2024年6月(N=318回)で勝率52.8%・期待値+1.2pipsという結果でした。スプレッドコストを考慮すると収支トントンに近い水準で、単独のクロス手法としてはフィルタリングが必要だと判断しました。詳しいバックテストの取り方についてはバックテストを取って勝率を確認する方法の記事も参考にしてください。

移動平均線の期間は「正解がある」わけではなく、使う通貨ペア・時間足・相場環境によって最適解が変わります。「この期間が効く」という情報を鵜呑みにせず、自分でバックテストを回して数値を確認する姿勢が基本です。まず1つの期間で検証し、それを基準として前後の値と比較することで最適解を絞り込む方法が再現性の高いアプローチです。

MT5移動平均線を活用したトレード戦略とMQL5実装

移動平均線の設定方法を理解したら、次はトレードへの応用です。確定足ベースでのクロス判断の注意点から、MQL5でのiMA実装、他の指標との組み合わせによる精度改善まで解説します。

クロス手法の基本と確定足ベース判断が重要な理由

移動平均線の代表的な使い方はクロス手法です。短期MAが長期MAを上抜けたタイミングでロング、下抜けたタイミングでショートを検討するシンプルな手法ですが、実装上の重要な注意点があります。

最も重要なのは「確定足ベースでのクロス判定」です。ローソク足が未確定の状態(ティックが来るたびに動いている状態)では、クロスが発生しても次のティックで解消される場合があります。これをリペイントといい、「クロスが出た!」とエントリーしても実際にはクロスしていなかったという誤判定の原因になります。特にMT5スマホ版でチャートをリアルタイム監視している場合、足確定前のクロスに騙されやすいです。

スマホでチャートを目視確認する場合のルールは「ローソク足が完全に確定してからクロスを確認する」ことです。足が形成途中でクロスしているように見えても、確定するまでは無視してください。15分足なら毎時0・15・30・45分に足が確定します。確定タイミングに合わせてチャートを確認する習慣を付けることで、リペイントによる誤判定を減らせます。

また、クロスの有効性はトレンド相場とレンジ相場で大きく変わります。強いトレンドが出ているときのクロスは有効なシグナルになりやすいですが、レンジ相場ではダマしが連続することが多いです。このためクロス手法単体で運用するのは難しく、後述するフィルタリングとの組み合わせが実用上必要です。MQL5コードで自動化する場合は次のH3で示すiMAとCopyBufferの実装が基本になります。

MQL5でiMAを使って移動平均線値を取得する方法

MQL5でMT5移動平均線インジケーターを作成したり、EAに組み込んだりする際の基本関数はiMAです。iMAでインジケーターのハンドルを取得し、CopyBuffer関数で実際の値を取り出すパターンを覚えると、ほぼすべてのMA系処理に対応できます。

以下はEMA21のハンドルを取得して確定足の値を読み出す基本的な実装例です。

int maHandle;
double maBuffer[];

int OnInit()
{
    // EMA21のハンドルを取得(現在のチャート・現在の時間足・期間21)
    maHandle = iMA(NULL, PERIOD_CURRENT, 21, 0, MODE_EMA, PRICE_CLOSE);
    if(maHandle == INVALID_HANDLE)
    {
        Print("iMA handle error: ", GetLastError());
        return INIT_FAILED;
    }
    ArraySetAsSeries(maBuffer, true);
    return INIT_SUCCEEDED;
}

void OnDeinit(const int reason)
{
    IndicatorRelease(maHandle);  // 必ずリリース
}

void OnTick()
{
    // 直近3本分の値を取得(index 0=未確定, 1=直前確定, 2=2本前確定)
    if(CopyBuffer(maHandle, 0, 0, 3, maBuffer) < 3) return;
    
    double ma_confirmed = maBuffer; // 確定足のEMA21値
    double close_prev   = iClose(NULL, PERIOD_CURRENT, 1); // 前足終値
    
    if(close_prev > ma_confirmed)
        Print("価格がEMA21より上: ", close_prev, " > ", ma_confirmed);
}

CopyBufferでindex 1を参照することで確定足のMA値を得られます。EA内でエントリー判断をする際はmaBufferを使うのが原則です。maBuffer[0]を使うとリペイント問題が発生します。iMAのOnInit内での初期化とOnDeinit内でのIndicatorReleaseはセットで必ず実装してください。OnTick内で毎回iMAを呼ぶと処理負荷が増大し端末がフリーズする原因になります。カスタムインジケーター作成の基礎についてはカスタムインジケーターの作成から導入までの記事で詳しく解説しています。

caution

iMAハンドルはOnInit内で一度だけ生成し、OnDeinit内でIndicatorRelease(maHandle)を呼んで解放してください。OnTickやOnCalculate内で毎回iMAを呼ぶと処理負荷が増大します。

移動平均線トレンドフィルターをEAに組み込む実装例

EAに移動平均線をトレンドフィルターとして組み込む典型的なパターンを示します。「現在の価格がSMA200より上にある場合のみロングエントリーを許可する」という方向フィルターです。

int sma200Handle;
double sma200Buffer[];

int OnInit()
{
    sma200Handle = iMA(NULL, PERIOD_CURRENT, 200, 0, MODE_SMA, PRICE_CLOSE);
    if(sma200Handle == INVALID_HANDLE) return INIT_FAILED;
    ArraySetAsSeries(sma200Buffer, true);
    return INIT_SUCCEEDED;
}

void OnDeinit(const int reason)
{
    IndicatorRelease(sma200Handle);
}

bool IsBullTrend()
{
    if(CopyBuffer(sma200Handle, 0, 0, 2, sma200Buffer) < 2) return false;
    double closePrev = iClose(NULL, PERIOD_CURRENT, 1); // 確定足の終値
    return (closePrev > sma200Buffer);               // 確定SMA200値と比較
}

void OnTick()
{
    if(IsBullTrend())
    {
        // ロングエントリーロジックをここに実装
    }
}

IsBullTrend関数では確定足のクローズ価格(iClose shift=1)とSMA200確定値(buffer)を比較しています。これにより現在進行中のローソク足に引きずられない安定したフィルタリングが実現できます。SMA200のようなメジャーなラインは多くのトレーダーが意識しているため、その上下でポジション方向を制限するフィルターは一定の根拠があります。ただし、どの期間のMAをフィルターにするかはバックテストで確認するのが原則です。感覚で決めず、少なくとも200〜300回のサンプルで勝率・期待値を検証してから本番運用に移してください。MT5インジケーターの自動売買システムへの組み込み方についてはMT5インジケーターのインストールと設定手順の記事も参考になります。

移動平均線の限界とATR・RSIフィルターの組み合わせ

移動平均線は遅行指標(lagging indicator)であるため、価格の転換点に対して常に遅れて反応します。これはレンジ相場において特に問題になります。価格が一定のレンジ内で上下するとき、短期MAが中期MAを何度も上抜け・下抜けしてダマしのクロスが連続します。このダマしを減らすためにフィルターを追加することが実践的なアプローチです。

ATR(Average True Range)は価格の変動幅を数値化した指標です。ATRが低い状態(レンジ相場)ではクロスシグナルを無視し、ATRが高い状態(トレンド発生中)のみシグナルを有効とするフィルターを設けることでダマしを削減できます。MQL5ではiATR関数でATR値を取得でき、iMAと同じハンドル+CopyBufferのパターンで実装できます。ATRの閾値は通貨ペアと時間足によって変わるため、こちらもバックテストで数値を決める必要があります。

RSI(Relative Strength Index)は過買い・過売りを示す指標で、移動平均線との相性が良いフィルターです。たとえばEMAクロスでロングシグナルが出た場合でも、RSIが70以上(過買い圏)であれば見送るルールを追加することで高値掴みのリスクを下げられます。逆にRSIが40〜60の中立圏でクロスが発生した場合はトレンドの初動を捉えている可能性が高いです。

USDJPY M15でのバックテスト例として、EMA5/21クロス単体(フィルターなし)とEMA5/21クロス+ATRフィルター(期間14の値が前20本の平均ATRを超える条件)を比較しました。フィルターなしで勝率52.8%(N=318)、フィルターありで勝率59.4%(N=127)という結果でした。サンプル数は減りましたが勝率と期待値が改善しています。複合条件に移行する場合は必ずサンプル数が統計的に意味のある水準(最低でも100件以上)を確保してください。少ないサンプルでの高勝率は過学習の可能性があります。

MT5移動平均線設定のまとめ

ここまでMT5移動平均線のスマホ設定から、MQL5での実装、フィルタリングの考え方まで解説しました。要点を整理します。

スマホ設定については、MT5アプリからインジケーター→トレンド→Moving Averageの順に追加します。Period・MA Method・Apply toの3つが基本パラメータです。3本表示したい場合は同じ操作を3回繰り返し、それぞれ異なる期間・色を設定してください。15分足での3本構成はEMA5・EMA21・SMA75またはEMA5・EMA21・SMA200が実用的な出発点です。ただしこれらはあくまでも検証の出発点であり、自分のトレードスタイルと対象通貨ペアに合わせてバックテストで調整することが前提です。

計算方式の選択は用途に応じて変わります。トレンドの方向確認にはSMAのメジャーライン(100・200)、シグナル検出にはEMAが基本的な使い分けです。WMAやSMMAは実験的な用途に限定するのが最初のうちは無難です。いずれの方式でも「どの計算方式を使ったか」をバックテスト記録に明記することが再現性の確保につながります。

MQL5でMT5移動平均線を扱う場合は、OnInit内でiMAハンドルを初期化し、OnTick内でCopyBufferを使ってindex 1の確定足値を読み出すパターンを覚えることが出発点です。OnDeinit内でIndicatorReleaseを忘れずに呼ぶことと、エントリー判断には必ずindex 1以降の確定足データを使うことが実装上の2大ルールです。フィルター組み合わせ(ATR・RSI)でダマしを削減しながら、サンプル数を担保した上でパラメータを最適化していく作業が、トレードエンジニアとしての本質的な取り組みになります。

point

移動平均線のパラメータに「正解」はありません。通貨ペア・時間足・相場環境ごとに最適値は変わります。まずデフォルト値で検証し、そこから前後の値と比較して改善するサイクルを回すことが再現性のある手法開発につながります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次