English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
preview
移動平均でできること

移動平均でできること

MetaTrader 5 | 2 6月 2022, 09:30
1 301 0
Oleh Fedorov
Oleh Fedorov

はじめに

私はいくつかの実用的な取引システムを持っています。一般的に、ティックごとに計算される指標を使わず、直線を好むのですが、時には、計算を必要とするものの、価格チャートに対する私の認識を改善するか取引のビジョンを完全に変えるようなアイデアに出会うことがあります。

この記事では、最も一般的かつ分かりやすい指標である移動平均線(MA)に関連するアイデアを紹介します。

最も単純なバージョンでは、指標値は次のよく知られた算術平均を用いて算出されます。

MA[i] = (Price[i]+Price[i+1]+...+Price[i+MAPeriod])/MAPeriod

ここで、MA[i]はシーケンスの次の要素であり、曲線上の点です。Price[i]は現在の価格、MAPeriodは平均される要素の数です。

もちろん、始値、終値、高値、安値、加重平均値など、どのような価格を適用するかは自由です。標準的な指標では、計算価格と計算方法の両方を選択することができ、これには単純平均よりも複雑なものも含まれています。例は示しますが、計算方法を選択する機会は残しておきます。ただし、これは検討された方法の背後にあるアイデアを理解する上で重要ではありません。単純移動平均(SMA)、指数移動平均(EMA)、その他のどの移動平均を使っても、すべての例はかなりうまく機能するため、すべてのスクリーンショットと指標の初期設定において、SMAがデフォルトで使用されています。特に明記されていない限り、すべての指標で終値を使用します。これらのパラメータは、自由に弄って改良してください。

単一の曲線について話す場合、私は通常、デフォルトの期間値には10バーを使用します。単一の指標に期間の異なる複数の曲線を使用する場合、最も多く適用される期間は5と8です。期間の異なる3つ以上の曲線は使用しません。

赤は高速、橙は低速です。それ以外のものを使う場合は、本文中に明示します。


テンプレート指標

曲線に対する様々なアプローチを使用した際に発生するシグナルを視覚化するために、いくつかの指標を作成しました。これらは、標準的な例で存在する標準的なMACDによく似ている単一のテンプレートに基づいています。ここでテンプレートのコード全体を表示する意味があるとは思いません。

各指標では、1つ以上の移動平均線を使用し、時には矢印の距離を定義したり、チャネルラインを描くためにATRも使用します。

チャートウィンドウに指標を配置した方がイメージしやすい場合もあれば、別ウィンドウに指標を配置する必要がある場合もあります。これは、プロパティの1つを使用しておこなわれます。次のプロパティは、チャートウィンドウ内の指標に使用されます。

#property indicator_chart_window

指標が別ウィンドウに配置されている場合、次のプロパティが適用されます。

#property indicator_separate_window

この場合、次のプロパティを使ってウィンドウの高さを設定することもあります。

#property indicator_height 100

もちろん、プロパティ値を変更することも可能です。

バッファ名の末尾には「Buffer」が付きます。例えば、標準的な矢印バッファは、ArrowDownBufferおよびArrowUpBufferと呼ばれます。指標で線を描画する場合、バッファにはライン関数に応じた名前が付けられます。

私が定義したグローバル変数には、(それらがバッファでない場合)「ext」という接頭辞が付いています。例えば、extATRDataはATR指標の元データを格納するグローバル変数です。

「シリーズ」モードに切り替えずにバッファを使用することにします。

初期化時に、空の値をすべて0にします。

  PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);
  PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0);
  PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,0);

したがって、矢印や線の表示条件、つまりメインループに残っているものだけを表示すればよいのです。

指標の再描画を避けるため、描画はローソク足ゼロで行い、計算にはすでに閉じているローソク足のデータを使用します。


価格による線の交差(トレンド方向)

最もシンプルなケースでは、「自然な」形のMAの線のみを使用します。皆さんも、同じような画像を画面でご覧になったことがあると思います。

「クリーン」なMA

図1:単純移動平均

多くの場合、トレーダーはMAの能力を利用してトレンドに追随します。トレンドは、曲線の片側に位置する一連のローソク足として定義することができます。例えば、2本以上のローソク足が線の下にある場合、トレンドは弱気であり、ショートを検討するべきです。終値が曲線より上にあれば、トレンドは強気であり、買い時です。価格が曲線を横切った場合は、トレンドの変化を目撃していることになります。

平均的なブレークスルーを追跡するための条件は、次のようになります。

//--- main cycle
  for(i=start+3; i<rates_total && !IsStopped(); i++)
   {
    ArrowDownBuffer[i]=0;
    ArrowUpBuffer[i]=0;

    //---

    if(
      ((close[i-1]<extMAData[i-1]
        && open[i-1]>extMAData[i-1]
       )
       ||(close[i-2]>extMAData[i-2]
          && open[i-2]>extMAData[i-2]
          && close[i-1]<extMAData[i-1]
          && open[i-1]<extMAData[i-1]
         )
      )

    )
     {
      ArrowDownBuffer[i]=high[i]+extATRData[i]/5;
     }
    else
      if(
        ((close[i-1]>extMAData[i-1]
          && open[i-1]<extMAData[i-1]
         )
         ||(close[i-2]<extMAData[i-2]
            && open[i-2]<extMAData[i-2]
            && close[i-1]>extMAData[i-1]
            && open[i-1]>extMAData[i-1]
           )
        )
      )
       {
        ArrowUpBuffer[i]=low[i]-extATRData[i]/5;
       }
   } // main cycle

始値を確認する代わりに、現在と前のバーの終値のみに注目することもできます。それらが曲線の異なる側に位置していれば、ブレークスルーを目撃していることになります。

指標ファイルはMA-Breaking.mq5です。チャート上で実行すると、次のような画像が得られます(標準曲線の期間が10バーの場合)。

MA - ブレークスルー

図2:平均的なブレークスルー

この方法は、追加の並べ替えなしでは役に立たないと思います。トレンドの領域でも上向き矢印と下向き矢印の数がほぼ一致しているように見えます。MAの期間を長くすると矢印の数は減りますが、トレンドがロールバックせずに急激にブレークスルーすることはかなり稀であるため、あまり意味はありません。多くの場合、急激な動きの前にフラットがあります。では、フィルターを探してみましょう。


支持/抵抗線としてのMA

曲線を使用する次の非常に明白な方法は、それを支持/抵抗線として適用することです。価格が線に触れるが交差しない(同じ側で閉じる)場合、取引シグナルが発生します。例えば、2月17日に、3つの下降ポイントと、追加のフィルターがなければ1つの上昇ポイント(初め)を見ることができます。

もちろん、このルールは最初の取引を開始するときにも、既存の取引に追加するときにも使うことができます。

この概念は、MA-Support.mq5ファイルで実証されています。

//--- main cycle
  for(i=start+3; i<rates_total && !IsStopped(); i++)
   {
    ArrowDownBuffer[i]=0;
    ArrowUpBuffer[i]=0;

    //---

    if(
      (high[i-1]>=extMAData[i-1]
       && close[i-1]<extMAData[i-1]
       && open[i-1]<extMAData[i-1]
      )
    )
     {
      ArrowDownBuffer[i]=high[i]+extATRData[i]/5;
     }

    else
      if(
        (low[i-1]<=extMAData[i-1]
         && close[i-1]>extMAData[i-1]
         && open[i-1]>extMAData[i-1]
        )
      )
       {
        ArrowUpBuffer[i]=low[i]-extATRData[i]/5;
       }
   } // Main cycle end

以下は、コードを実行した結果です。

支持/抵抗線としてのMA

図3:支持/抵抗線としてのMAの使用

これは前のオプションより良さそうです。テイクプロフィットレベルを使うか、あるいは単純に矢印で注文を蓄積し、反対方向の矢印でエグジットすれば(明らかに反転を使用)、利益が出る可能性は高いです。

MA期間が長いほど、角度が小さくなり、価格から遠い位置にあります。したがって、ブレークスルーとロールバックのシグナルが届く頻度は低くなりますが、支持/抵抗レベルとしての信頼性は高くなります。比較のために期間20のチャートをお見せしましょう。ロールバックの頻度が低くなっていることがわかります。ただし、シグナルの信頼性はたぶん向上しているので、損切り幅を小さくすることができます。

支持/抵抗としてのMA(期間延長)

図4:長期間(20)のMA

例えば、2月17日の午前4時、赤の曲線が買いシグナルを出し、橙色の曲線が売りシグナルを出したので、損失が発生します。ただし、赤線の場合は、午前8時、午前10時、午後3時のシグナルを利用してポジションに追加することが可能です。

MAの期間がより長い場合、シグナルは後で到着し、潜在的な利益の一部を失う可能性がありますが、取引の頻度は低くなる可能性があります。


傾き

線の傾きが急であればあるほど、価格の動きが速く、次のローソク足でトレンドが継続する可能性は高くなります。

傾きを測定する最も簡単な方法は、現在の値と以前の値の差を使うことです。曲線は、差が正の場合は上に移動し、差が負の場合は下に移動します。

MA-Slope.mq5のメインループのコードは以下のようになります。

//--- main cycle
  for(i=start+SlopeShift*2; i<rates_total && !IsStopped(); i++)
   {
    SlopeDownBuffer[i]=0;
    SlopeUpBuffer[i]=0;
    slopeIndex=(extMAData[i-1]-extMAData[i-1-SlopeShift]);

    //---

    if(
      slopeIndex<0

    )
     {
      SlopeDownBuffer[i]=slopeIndex;
     }
    else
      if(
        slopeIndex>0
      )
       {
        SlopeUpBuffer[i]=slopeIndex;
       }
   } // main cycle

ここでSlopeShiftは、現在の価格から通過するバーの数を指定します。デフォルト値は1です。しかし、この値を大きくすることで、例えば2本または3本のバーのMA値の差を利用するなど、かなり面白い結果を得ることができます。

その結果得られる曲線はヒストグラムとして表示されるべきだと思います。結果は以下のとおりです。

MA - 傾きヒストグラム

図5:曲線の傾きヒストグラム

この画像はなかなか面白いものです。

まず、ランダムな動きの揺らぎを簡単に追跡し、並べ替えることができることは明らかです。実際、1本、2本、3本のバーで曲線の方向が変わるだけなら、トレンドの変化というには時期尚早でしょう。とにかく、これを見逃さないように細心の注意を払う必要があります。

第二に、変化率の変化がすぐにわかります。ご覧のとおり、図で列の高さが特定の値よりも低い場合は、おそらくフラットに直面しています。したがって、2〜3バーより長い期間でMAが少し傾いたとしても、その方向に取引するのは不合理です。

第三に、トレンドセグメントの曲線はほぼ単調に上昇または下降しているように見えるにもかかわらず、実際の変化率はバーごとに大きく異なっています。これは、ある種の相対的な価値を示唆しており、まだ見ることのできない何かが見えてくるのでしょう。

試してみます(MA-Slope-Index-First.mq5)。次がコードです。

//--- main cycle
  for(i=start+SlopeShift*3; i<rates_total && !IsStopped(); i++)
   {
    SlopeDownBuffer[i]=0;
    SlopeUpBuffer[i]=0;
    slopeIndex=(extMAData[i-1]-extMAData[i-1-SlopeShift]+Point()/100)
               /(extMAData[i-2]-extMAData[i-2-SlopeShift]+Point()/100);
    //---

    if(
      slopeIndex<0
    )
     {
      SlopeDownBuffer[i]=slopeIndex;
     }
    else
      if(
        slopeIndex>0
      )
       {
        SlopeUpBuffer[i]=slopeIndex;
       }
   } // main cycle

割る数と割られる数に小さな値(Point()/100)を加えても結果はあまり変わりませんが、ゼロ除算のエラーを回避することができます。

図は以下の通りです。

MA - 相対的な傾き

図6:平均勾配の相対インデックス

接合部には鋭いピークが見られます。チャートを左にバー数本分移動させると、その差はさらに鮮明になります。

MA - 左に移動された相対インデックス

図7:MAの傾きの相対インデックス(左に移動)

図7は、ピーク値がかなり強い動きの境目を示していることを鮮明に示しています。残りのデータ配列とのピーク値の差はかなり大きいです。「ピーク」のサイズが非常に異なるという事実、およびピークと他のデータとの違いが非常に大きいという事実は、次のステップにつながります。方向転換が顕著なので、相対的な傾きインデックスのヒストグラムを分析する意味はないと思います。その代わり、出力をバイナリにすることで、より大まかな表現にすればいいだけです。次は例です(MA-Slope-Index-Bin.mq5)。

//--- main cycle
  for(i=start+SlopeShift*3; i<rates_total && !IsStopped(); i++)
   {
    SlopeDownBuffer[i]=0;
    SlopeUpBuffer[i]=0;
    slopeIndex=(extMAData[i-1]-extMAData[i-1-SlopeShift]+Point()/100)
               /(extMAData[i-2]-extMAData[i-2-SlopeShift]+Point()/100);
    //---

    if(
      slopeIndex<=-SlopeThreshold
    )
     {
      SlopeDownBuffer[i]=-1;
     }
    else
      if(
        slopeIndex>=SlopeThreshold
      )
       {
        SlopeUpBuffer[i]=1;
       }
   } // Main cycle


ここで、SlopeThresholdは直前のダイアグラムのバーの高さの閾値であり、この値でシグナルがトリガーされます。画像上では、パラメータ値は5に相当します。

相対的MAの傾き(バイナリ)

図8:平均勾配の相対インデックス (バイナリ):SlopeThreshold=5

以下は、SlopeThreshold=15とした場合の画像です。

相対勾配インデックス、SlopeThreshold=15

図9:平均勾配の相対インデックス (バイナリ):SlopeThreshold=15

このストライプにはより詳細にみる価値があります。

どうやら、このようなマーカーは、現在のローソク足、あるいはマークされたローソク足より2~3本後、あるいはもっと後のローソク足の方向転換を示すようです。いずれにせよ、マーカー色の組み合わせ、メイン方向、実際のローソク足にトレンドが依存することは明らかです。もちろん、例えば、「」稿で説明したような方法で、スプレッドシートの統計を取るべきです。ここで提供されている他の方法と組み合わせると、指標はすでに有望に見えます。

もちろん、ヒストグラムのバイナリストライプは、前の指標と同様に矢印に簡単に置き換えることができます。


単一の移動平均に基づくチャネル

値動きのボラティリティを考慮するために、上記の方法に加えて移動平均に基づくチャネルを構築することができます。選択肢は数多くありますが、ここでは2つだけ検討します。

最初のものは、標準的なMA指標を使用するだけなので、非常に簡単です。チャート上に指標を追加する際に、単純にレベルを追加すればよいのです。唯一の注意点は、時間軸ごとにレベルがあるということです。時間軸を切り替えるたびに入力しなくてよいように、それらを1つの「パッケージ」にまとめました。画像はJPYの場合、以下のようになります。

シンプルチャネル - MA

図10:チャネルレベル一覧

H1での最終的な画像は以下のようになります。

レベルで構成されたチャネル

図11:レベル外観(H1)

レベルはここでロールバック用に設定されています。よって、ローソク足があるレベルに触れて、そこからロールバックした場合(あるいはかなり接近した場合)、トレンドに逆らってエントリーします。例えば、スクリーンショットのチャネルは、2月22日に売りのタイミングがあったことを示しています。注文はシグナルローソク足の真ん中か終わりに設定できます(ここで、ロールバック後にエントリーする場合、注文はシグナルローソク足の安値(115.100)、ストップレベルは115.265に設定される可能性があります)。当面の目標は平均値に触れることであり、最終的な目標は同じチャネルの反対側の境界に触れることです。

ただし、この場合、狭いチャネルを突破する取引も可能です。例えば、2月22日に9時間足のローソク足が狭いチャネル境界線を上抜いて閉じています。2本の強気ローソク足が平均値を上回り、その間にある弱気ローソク足が下限を超えずに閉じています。MAの傾きは明らかに減少しています(これは、MA-Slopeを設定したチャートを見ると最も明確に分かります)。これらはすべて、明確な買いシグナルとして利用できます。ストップレベルは114.570に設定できます。エントリポイントは、レベルを使用して計算できます。115.230に設定します。または、ローソク足によるトレーリングストップや、その他の方法を使うこともできます。

なお、期間中は、一番内側のチャネルと、少し大きめのチャネルの2つしか見ることができません。上位時間軸(例えばD1)に切り替えると、+-50のチャネルはほとんど隠れてしまい、+-300と+-1500が操作チャネルになる可能性があります。月間チャネルも時々見ることができてシグナルが提供されることもありますが、最も見やすいチャネルをメインに使っています。

マルチチャンネル(D1)

図12:レベル外観 (D1)

週足/月足でも同様のイメージを見ることができます。4番目のチャネルが最適ですが、3番目のチャネルは内部チャネルおよび補助チャネルとして使用できます。

最も内側にあるチャネルは、М1~М15用に設計されています。

調整の原則は明らかです。必要な時間軸に切り替え、レベルのサイズを選択して、接触点の数を最小限に抑えながら、それらの間の振幅を最大にするということです。最も簡単な方法は、現在の時間軸で本質的な修正の振幅を測定し、それを2で割ることです。下のアニメーションは、その様子を表したものです。

チャネルサイズの測定

図13:チャネルのボラティリティを測定する (D1)

大まかな見積もりをした後、より精密にサイズを調整する必要があるかもしれませんが、これはかなり簡単です。


2本の移動平均線に基づくチャネル(ATR3x5)

上記のようなチャネルも良いのですが、いくつかの欠点があります。

まず、時間軸と銘柄ごとにチャネルサイズを手動で選択しなければならないので、プロセスの自動化作業が難しいようであるということです。

次は、レベルはバッファに格納されないため、プログラムで使用するのは困難だということです。

移動平均線とATRに基づくチャネルには、そのような欠点がありません。アイデアはシンプルです。ここでは、期間が3である2つの移動平均指標を取り上げます。1つはHigh(高値)に適用され、もう1つはLow(安値)で使用されています。次に、得られた線を適切な方向に期間5ATRの距離にシフトします(下の線が下に動き、上の線が上に動きます)。

チャネルの準備ができました。ブレークスルーは非常にまれであるため、どの銘柄にも完全に適合し、ほとんどの場合ロールバックで機能します。チャネル境界への接触を検出するための矢印も追加しました。

//--- main cycle
  for(i=start+3; i<rates_total && !IsStopped(); i++)
   {
    ArrowDownBuffer[i]=0;
    ArrowUpBuffer[i]=0;

    //---

    MAUpBuffer[i]=extMAUpData[i]+extATRData[i]*DistanceCoefficient;
    MADownBuffer[i]=extMADownData[i]-extATRData[i]*DistanceCoefficient;

    if(
      (high[i-1]>=MAUpBuffer[i-1]
       && close[i-1]<MAUpBuffer[i-1])
      ||(
        close[i-2]>MAUpBuffer[i-2]
        && close[i-1]<MAUpBuffer[i-1]
      )
    )
     {
      ArrowDownBuffer[i]=high[i]+extATRData[i]/5;
     }
    else
      if(
        (low[i-1]<=MADownBuffer[i-1]
         && close[i-1]>MADownBuffer[i-1])
        ||(
          close[i-2]<MADownBuffer[i-2]
          &&close[i-1]>MADownBuffer[i-1]
        )
      )
       {
        ArrowUpBuffer[i]=low[i]-extATRData[i]/5;
       }
   }// main cycle

ここで、DistanceCoefficientは指標パラメータで、チャネルの境界までの距離を変更して、特定の条件に合わせて指標を調整できるようにします。パラメータには任意の分数値を使用できます。ただし、2を超えると矢印がほぼ完全に消えて取引が行われないため、あまり意味がありません。

ART3x5チャンネル

図14:ATR3x5チャンネル

もちろん、この指標は、ここで説明されている(または説明されていない)他の指標と組み合わせて使用することもできます。

画像を見るときは、価格が指標の上下とどのように相互作用するかに注目してください。参考になるかもしれません。


期間の異なる複数の指標

ここまで、市場の売買シグナルを受信するために単一のMAラインを使用することを検討しました。ただし、多くのトレーダーは、別の指標を1つ以上追加することで、エントリーの精度を大幅に向上させることができると考えています。

そこで、5本と8本のバーを期間とする2本のカーブでチャートを作成してみましょう。期間はFiboシリーズから取得されます。期間の1つは「高速」ラインを表し、あと1つは「低速」ラインを表します。

同時に表示される2つのMA

図15:1つのチャート上の2つのMA

すでに検討されている機能に加えて、曲線の相対位置とその「同一方向性」(または発散)を確認できるようになりました。MA間の距離も表示されます。

各パラメータは、それぞれの曲線によって表示されるいくつかの動きの属性を強めたり弱めたりするだけでなく、独立したエントリ―シグナルを提供できる場合があります。


相対位置:MAの交差

高速MAが低速MAを上回る場合、おそらく強気トレンドが目撃されており、次のローソク足が強気である可能性が非常に高くなります。また、例えばシグナルラインの傾きなど、他のパラメータも考慮する必要があります。

高速MAが低速MAを下回る場合は「グローバル」(現在の時間軸のために)弱気トレンドがあるため、ピークに到達するまで、その後の各ローソクが弱気である確率が大幅に増加します。

高速MAが低速MAを突破した場合、トレンドの変化を認めることができます。

MAの交差に対応する指標を開発してみましょう。また、誤ったエントリーを減らすためにフラットも検討する必要があります。これは、例えば、高速MAの傾きのサイズを考慮することで実現できます。この場合、シグナルを検索するために次のコードを使用できます(MA2-Breaking)。

//--- main cycle
  for(i=start+3+SlopeShift*2; i<rates_total && !IsStopped(); i++)
   {
    ArrowDownBuffer[i]=0;
    ArrowUpBuffer[i]=0;

    //---

    if(
      extMAFastData[i-1]<extMASlowData[i-1]
      && extMAFastData[i-2]>=extMASlowData[i-2]
      && MASlope(extMAFastData,i-1)<-SlopeThreshold
      && MASlope(extMASlowData,i-1)<SlopeThreshold/SlowDelimiter
    )
     {
      ArrowDownBuffer[i]=high[i]+extATRData[i]/3;
     }
    else
      if(
        extMAFastData[i-1]>extMASlowData[i-1]
        && extMAFastData[i-2]<=extMASlowData[i-2]
        && MASlope(extMAFastData,i-1)>SlopeThreshold
        && MASlope(extMASlowData,i-1)>-SlopeThreshold/SlowDelimiter
      )
       {
        ArrowUpBuffer[i]=low[i]-extATRData[i]/3;
       }
   } // main cycle

ここで、MASlopeは、「傾き」の項で提供されている例と同様の方法でMASlopeを計算する関数で、必要な曲線のデータ配列と、計算の対象となるバーインデックスをパラメータとして受け取ります。

SlopeTreshold - 高速MAの傾きを示す図の閾値。覚えておいでかもしれませんが、交差する瞬間に高速MAの傾きが小さすぎる場合は、フラットを扱っている可能性が高くなります。フラットは通常、膨大な数の誤検知に悩まされ、最終的には損失を引き起こします。

SlowDelimiter - 低速MA傾き閾値の区切り。時々、高速MAがすでに下向きに傾いており、低速MAは、反転に近いもののまだ反転していない場合、かなり良いシグナルが得られることがありますが、つまり、エントリー

MASlope(extMASlowData,i-1)>-SlopeThreshold/SlowDelimiter

は、低速MAの傾きは、小さな負の値(わずかにではあるが下向き)、ゼロ、正の値のいずれかであることができるが急激な負の値にはなれないということを意味しています。

指標を「明確な」形で使用する場合、閾値と区切りはツールや時間軸ごとに個別に選択する必要があります。以下は、USDJPY H1において、SlopeTreshold=0.017、SlowDelimiter=5とした場合の結果です。

傾きを考慮したMA交差シグナル

図16:傾きを考慮したMA交差シグナル

画像では、矢印がより鮮明に見えるように、曲線を描画していません。適切なテイクプロフィット値(またはレベルによるエグジット)を選択し、損をしすぎないストップレベルを設定すれば、ほぼすべての矢印から利益を得ることができます。

下の画像は、同じチャートをより詳細に表示したものです(拡大表示)。

MAの交差(拡大表示)

図17:傾きを考慮したMAの交差(拡大表示)

覚えておいでかもしれませんが、シグナルゼロのローソク足で到着します。ただし、分析されるのは前の間隔です。そこで、矢印を描く理由を理解するために、緑の線から左のバーまでの間隔を見てみることにしましょう。

右側に2つの矢印がないのはなぜでしょうか。低速MAでも高速MAでも傾きが閾値を超えない場合は、この区間をフラットと見なします。しかし、この領域でこれらのシグナルで取引した場合、トレンドがさらに上昇し、より良い価格で売れるようになったので、不平を言う理由はほとんどないでしょう。

MAの交差 - トレンド継続

図18:交差シグナル:トレンド継続


結論

この件に関しては、まだ言いたいことがあるのですが、これは別の記事でおこないます。

この記事では、MAに関連する基本的な事柄と、一般的な値動きの方向性を追跡することを可能にすることについて考えました。

さらに、取引の意思決定を行うための主要なMAパラメータの使用を示す指標のコードをグラフィカルに表示しました。

よく知られた指標の特性を組み合わせて適用することで、取引戦略を改善する方法を紹介しました。

次回は、移動平均線とそこから派生した指標に関するデータをもとに、ローソク足ごとのポジションを計算する方法を明らかにしたいと思います。

この記事は、ここに含まれる情報が読者の取引に役立つことを保証するものではありません。

利益を保ちましょう。

MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/10479

添付されたファイル |
jx-Breaking.mq5 (5.56 KB)
h9-Support.mq5 (5.22 KB)
lw-Slope.mq5 (4.66 KB)
ATR3x5.mq5 (7.34 KB)
wr2-Crossing.mq5 (6.5 KB)
単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I) 単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)
プログラミングはできなくても創造性に富んだ素晴らしいアイデアを持っている人はたくさんいます。しかし、プログラミングの知識がないため、これらのアイデアを実行に移すことができないのです。MetaTrader5のプラットフォームそのものをIDEのように使って、Chart Tradeを作成する方法を一緒に見てみましょう。
エンベロープによる取引システムの設計方法を学ぶ エンベロープによる取引システムの設計方法を学ぶ
この記事では、バンドで取引する方法の1つを紹介します。今回はエンベロープについて検討し、それに基づいてストラテジーを作成するのがいかに簡単であるかを見ていきます。
モメンタムによるトレーディングシステムの設計方法を学ぶ モメンタムによるトレーディングシステムの設計方法を学ぶ
前回は、価格の方向性であるトレンドを見極めることの重要性について述べました。この記事では、最も重要な概念と指標の1つであるモメンタム指標を紹介します。このモメンタム指標に基づいたトレーディングシステムの設計方法を紹介します。
プロのプログラマーからのヒント(第III部): ロギングSeqログ収集および分析システムへの接続 プロのプログラマーからのヒント(第III部): ロギングSeqログ収集および分析システムへの接続
エキスパートログに出力されるメッセージを統合および構造化するためのLoggerクラスの実装。Seqログ収集および分析システムへの接続。オンラインでのログメッセージの監視。