平均足Smoothdのダウンロードと解説|MT4インジケーター

heikenAshiSmoothdアイキャッチ
  • URLをコピーしました!

平均足SmoothdというMT4インジケーターがほしいです。

平均足Smoothdはどんなインジケーターですか?

ホシノ

FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。

この無料EA不労所得が稼げます
累計テスト120年以上・リアル取引公開2020年~

BBF_MQL5-202401006
リアルトレード公開|EA BBF

このページでわかること・できること

〇平均足Smoothdインジケーターのダウンロード

〇平均足Smoothdの詳しい解説

目次

平均足Smoothdのダウンロード

ここからファイルのダウンロードが可能。
ダウンロードするファイルは.ex4ファイルのため、MT4のデータフォルダにあるインジケーターフォルダへファイルを移動すればインジケーターは使用できるようになる。

平均足Smoothdのインストール

ダウンロードしたインジケーターはMT4のデータフォルダからindicatorsフォルダを探しファイルを移動する。

ファイル>データフォルダを開く>MQL4>indicators

indicatorsフォルダにファイルを移動し、MT4を再起動するとインストールが完了する。

平均足Smoothdとは?詳しく解説

平均足Smoothdチャート画像
HeikenAshiSmoothdとローソク足を表示
平均足Smoothdチャート画像 足無し
HeikenAshiSmoothdのみを表示

平均足スムースド(Heikin Ashi Smoothed)は、従来の平均足を改良したものだ。これは価格のトレンドをより明確に視覚化し、市場のノイズを減らせる。以下で平均足スムースドの詳細について説明する。

平均足(Heikin Ashi)の基本

平均足はローソク足チャートに基づいて開発された技術で、価格の変動を滑らかにしトレンドの把握を容易にする。平均足は各ローソク足の始値、高値、安値、終値を計算する方法に独自の特徴がある。

平均足スムースドの構成

平均足スムースドは通常の平均足と異なり、さらに平滑化された値を使用する。これにより、チャートがより滑らかになり、ノイズが減少する。計算には移動平均(MA)が使用される。

基本的な計算式

  1. 始値 (HA Open)
    [math]\text{HA Open} = \frac{\text{前の足の HA Open} + \text{前の足の HA Close}}{2}[/math]
  2. 終値 (HA Close)
    [math]\text{HA Close} = \frac{\text{今の足の始値} + \text{今の足の高値} + \text{今の足の安値} + \text{今の足の終値}}{4}[/math]
  3. 高値 (HA High)
    [math]\text{HA High} = \max(\text{今の足の高値}, \text{HA Open}, \text{HA Close})[/math]
  4. 安値 (HA Low)
    [math]\text{HA Low} = \min(\text{今の足の安値}, \text{HA Open}, \text{HA Close})][/math]

平均足スムースドの利点

  1. トレンドの視覚化: トレンドの方向をより明確に示すため、トレンドの継続や反転を認識しやすくなる。
  2. ノイズの削減: 市場のノイズを減らすことでトレンドを強調し、取引の決定を容易にする。
  3. 視覚的な明瞭性: チャートが滑らかになり、視覚的にわかりやすくなる。

パラメーターについて解説

平均足Smoothdパラメーター画面
HeikiAshiSmoothdのパラメーター

移動平均の方法

  • 説明: 移動平均の計算方法を指定。
  • 選択肢:
    • 0: 単純移動平均(Simple Moving Average, SMA)
    • 1: 指数移動平均(Exponential Moving Average, EMA)
    • 2: 平滑移動平均(Smoothed Moving Average, SMMA)
    • 3: 線形加重移動平均(Linear Weighted Moving Average, LWMA)
  • : MaMethod = 2 は平滑移動平均の使用を意味する。

移動平均の期間

  • 説明: 移動平均を計算するための期間を指定。値が大きいほど移動平均は滑らかになるが、反応が遅くなる。
  • : MaPeriod = 6 は移動平均を6期間で使用することを意味している。

2つ目の移動平均法

  • 説明: 二重平滑化のために使用される2つ目の移動平均の計算方法を指定。最初の移動平均をさらに滑らかにしている。
  • 選択肢:
    • 0: 単純移動平均(Simple Moving Average, SMA)
    • 1: 指数移動平均(Exponential Moving Average, EMA)
    • 2: 平滑移動平均(Smoothed Moving Average, SMMA)
    • 3: 線形加重移動平均(Linear Weighted Moving Average, LWMA)
  • : MaMethod2 = 3 は線形加重移動平均の使用を意味する。

2つ目の移動平均期間

  • 説明: 二重平滑化のための2つ目の移動平均の期間を指定。
  • : MaPeriod2 = 2 は2期間の移動平均を使用することを意味する。

トレードでの活用方法

平均足スムースドは足色の転換をエントリー判断、及びクローズ判断に使える他、上位足に表示させてフィルターとする使い方も有効だ。

足色の転換でエントリー、クローズする

平均足スムースドの足色が転換するタイミングでエントリー、そしてクローズするという使い方は有効である。
しかし、値動きが小さい状況下では有効ではないため、使用する状況は選ぶ必要がある。

平均足Smoothdトレンドあり
平均足スムースドはトレンドがある場合に有効
平均足Smoothdトレンド無し
トレンドがない状況では足色転換を繰り返す

トレンドが発生していない状況であっても、値動きが大きければ平均足スムースドを使った短期売買は成立する。
トレンドが発生すれば平均足スムースドは足色の転換をトリガーとしたトレードを繰り返すだけで利益のでるサインとなる。

そのため、1,値動きの大きさ、2,トレンドの有無、の2点を把握することが平均足スムースドを生かすために重要となる。
値動きの大きさやトレンドの有無、方向などを他のインジケーターや上位足などを用いて分析することで、平均足スムースドを使ったトレードの精度は向上する。

上位足に表示させてフィルターとして利用する

トレンド発生の有無や、方向を確認する方法として、平均足スムースドを上位足に表示させるのは有効だ。
例えば5分足を監視しているなら1時間足、4時間足などに平均足スムースドを表示させてトレンドの有無や方向を定める。
そして、上位足で定めたトレンド状況に合わせてトレードを実行する。

  • 上位足でトレンドが発生していない
    • トレードをしない
    • 短期売買に徹する
  • 上位足でトレンドが発生している
    • 同じ方向のみのトレードを検討する

上位足でトレンドの有無や方向を把握するだけで、トレードの精度は大きく向上する。

HeikinAshi Smoothdのプログラム

//+------------------------------------------------------------------+
//|                                         Heikin Ashi Smoothed.mq4 |
//|                                     Copyright 2024, FX-Bonus.net |
//|                                            https://fx-bonus.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, FX-Bonus.net"
#property link      "https://fx-bonus.net/"
#property version   "1.00"
#property strict
//---- インジケーターのプロパティ
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_color3 Red
#property indicator_color4 Lime

//---- パラメータ
extern int MaMetod = 2;    // 移動平均の方法
extern int MaPeriod = 6;   // 移動平均の期間
extern int MaMetod2 = 3;   // 二番目の移動平均の方法
extern int MaPeriod2 = 2;  // 二番目の移動平均の期間

//---- バッファ
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];

//+------------------------------------------------------------------+
//| カスタムインジケーター初期化関数                                 |
//+------------------------------------------------------------------+
int init()
{
   //---- インジケーターバッファとスタイルの初期化
   IndicatorBuffers(8);
   
   // ヒストグラム
   SetIndexBuffer(0, ExtMapBuffer1);
   SetIndexStyle(0, DRAW_HISTOGRAM, 0, 1, Aqua);
   
   SetIndexBuffer(1, ExtMapBuffer2);
   SetIndexStyle(1, DRAW_HISTOGRAM, 0, 1, Red);
   
   SetIndexBuffer(2, ExtMapBuffer3);
   SetIndexStyle(2, DRAW_HISTOGRAM, 0, 3, Aqua);
   
   SetIndexBuffer(3, ExtMapBuffer4);
   SetIndexStyle(3, DRAW_HISTOGRAM, 0, 3, Red);
   
   // ライン
   SetIndexBuffer(4, ExtMapBuffer5);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)

   SetIndexBuffer(5, ExtMapBuffer6);
   SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexBuffer(6, ExtMapBuffer7);
   SetIndexStyle(6, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexBuffer(7, ExtMapBuffer8);
   SetIndexStyle(7, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexDrawBegin(0, 5);

   return (0);
}

//+------------------------------------------------------------------+
//| カスタムインジケーター終了関数                                   |
//+------------------------------------------------------------------+
int deinit()
{
   //---- TODO: 必要に応じて終了コードを追加
   return (0);
}

//+------------------------------------------------------------------+
//| カスタムインジケーター実行関数                                   |
//+------------------------------------------------------------------+
int start()
{
   double maOpen, maClose, maLow, maHigh;
   double haOpen, haHigh, haLow, haClose;
   
   // 最低バー数のチェック
   if (Bars <= 10)
      return (0);

   int counted_bars = IndicatorCounted();
   if (counted_bars < 0)
      return (-1);
   if (counted_bars > 0)
      counted_bars--;
   int limit = Bars - counted_bars;
   if (counted_bars == 0)
      limit -= 1 + MathMax(1, MathMax(MaPeriod, MaPeriod2));

   // メイン計算ループ
   for (int pos = limit - 1; pos >= 0; pos--)
   {
      maOpen = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_OPEN, pos);
      maClose = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_CLOSE, pos);
      maLow = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_LOW, pos);
      maHigh = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_HIGH, pos);
      
      haOpen = (ExtMapBuffer5[pos + 1] + ExtMapBuffer6[pos + 1]) / 2;
      haClose = (maOpen + maHigh + maLow + maClose) / 4;
      haHigh = MathMax(maHigh, MathMax(haOpen, haClose));
      haLow = MathMin(maLow, MathMin(haOpen, haClose));
      
      if (haOpen < haClose)
      {
         ExtMapBuffer7[pos] = haLow;
         ExtMapBuffer8[pos] = haHigh;
      }
      else
      {
         ExtMapBuffer7[pos] = haHigh;
         ExtMapBuffer8[pos] = haLow;
      }
      
      ExtMapBuffer5[pos] = haOpen;
      ExtMapBuffer6[pos] = haClose;
   }

   // 配列上の移動平均を計算
   for (int i = 0; i < limit; i++)
   {
      ExtMapBuffer1[i] = iMAOnArray(ExtMapBuffer7, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer2[i] = iMAOnArray(ExtMapBuffer8, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer3[i] = iMAOnArray(ExtMapBuffer5, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer4[i] = iMAOnArray(ExtMapBuffer6, 0, MaPeriod2, 0, MaMetod2, i);
   }

   return (0);
}
//+------------------------------------------------------------------+

ソースコードの詳細

インジケーターのプロパティ

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_color3 Red
#property indicator_color4 Lime
  • #property indicator_chart_window: インジケーターをメインチャートウィンドウに表示。
  • #property indicator_buffers 8: インジケーターには8つのバッファ(データの保存領域)が必要。
  • #property indicator_color1, #property indicator_color2, #property indicator_color3, #property indicator_color4: インジケーターの各バッファの色を指定。

パラメータ

extern int MaMetod = 2;    // 移動平均の方法
extern int MaPeriod = 6;   // 移動平均の期間
extern int MaMetod2 = 3;   // 二番目の移動平均の方法
extern int MaPeriod2 = 2;  // 二番目の移動平均の期間
  • MaMetod: 最初の移動平均線の計算方法(0: 簡単移動平均 (SMA)、1: 指数移動平均 (EMA)、2: 平滑移動平均 (SMMA)、3: 線形加重移動平均 (LWMA))。
  • MaPeriod: 最初の移動平均線の期間。
  • MaMetod2: 二番目の移動平均線の計算方法。
  • MaPeriod2: 二番目の移動平均線の期間。

バッファ

double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];
  • 各バッファは、インジケーターのデータを保存するための配列。

カスタムインジケーター初期化関数

int init()
{
   //---- インジケーターバッファとスタイルの初期化
   IndicatorBuffers(8);
   
   // ヒストグラム
   SetIndexBuffer(0, ExtMapBuffer1);
   SetIndexStyle(0, DRAW_HISTOGRAM, 0, 1, Aqua);
   
   SetIndexBuffer(1, ExtMapBuffer2);
   SetIndexStyle(1, DRAW_HISTOGRAM, 0, 1, Red);
   
   SetIndexBuffer(2, ExtMapBuffer3);
   SetIndexStyle(2, DRAW_HISTOGRAM, 0, 3, Aqua);
   
   SetIndexBuffer(3, ExtMapBuffer4);
   SetIndexStyle(3, DRAW_HISTOGRAM, 0, 3, Red);
   
   // ライン
   SetIndexBuffer(4, ExtMapBuffer5);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)

   SetIndexBuffer(5, ExtMapBuffer6);
   SetIndexStyle(5, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexBuffer(6, ExtMapBuffer7);
   SetIndexStyle(6, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexBuffer(7, ExtMapBuffer8);
   SetIndexStyle(7, DRAW_LINE, STYLE_SOLID, 1, clrNONE);  // カラーなし(透明)
   
   SetIndexDrawBegin(0, 5);

   return (0);
}
  • IndicatorBuffers(8): インジケーターに8つのバッファを割り当てる。
  • SetIndexBuffer: 各バッファをインジケーターに設定。
  • SetIndexStyle: 各バッファの描画スタイルを設定。DRAW_HISTOGRAM はヒストグラム、DRAW_LINE はラインを描画。clrNONE は透明(表示なし)を意味する。

カスタムインジケーター終了関数

int deinit()
{
   //---- TODO: 必要に応じて終了コードを追加
   return (0);
}
  • インジケーターの終了時に必要なコードを追加。

カスタムインジケーター実行関数

int start()
{
   double maOpen, maClose, maLow, maHigh;
   double haOpen, haHigh, haLow, haClose;
   
   // 最低バー数のチェック
   if (Bars <= 10)
      return (0);

   int counted_bars = IndicatorCounted();
   if (counted_bars < 0)
      return (-1);
   if (counted_bars > 0)
      counted_bars--;
   int limit = Bars - counted_bars;
   if (counted_bars == 0)
      limit -= 1 + MathMax(1, MathMax(MaPeriod, MaPeriod2));

   // メイン計算ループ
   for (int pos = limit - 1; pos >= 0; pos--)
   {
      maOpen = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_OPEN, pos);
      maClose = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_CLOSE, pos);
      maLow = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_LOW, pos);
      maHigh = iMA(NULL, 0, MaPeriod, 0, MaMetod, PRICE_HIGH, pos);
      
      haOpen = (ExtMapBuffer5[pos + 1] + ExtMapBuffer6[pos + 1]) / 2;
      haClose = (maOpen + maHigh + maLow + maClose) / 4;
      haHigh = MathMax(maHigh, MathMax(haOpen, haClose));
      haLow = MathMin(maLow, MathMin(haOpen, haClose));
      
      if (haOpen < haClose)
      {
         ExtMapBuffer7[pos] = haLow;
         ExtMapBuffer8[pos] = haHigh;
      }
      else
      {
         ExtMapBuffer7[pos] = haHigh;
         ExtMapBuffer8[pos] = haLow;
      }
      
      ExtMapBuffer5[pos] = haOpen;
      ExtMapBuffer6[pos] = haClose;
   }

   // 配列上の移動平均を計算
   for (int i = 0; i < limit; i++)
   {
      ExtMapBuffer1[i] = iMAOnArray(ExtMapBuffer7, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer2[i] = iMAOnArray(ExtMapBuffer8, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer3[i] = iMAOnArray(ExtMapBuffer5, 0, MaPeriod2, 0, MaMetod2, i);
      ExtMapBuffer4[i] = iMAOnArray(ExtMapBuffer6, 0, MaPeriod2, 0, MaMetod2, i);
   }

   return (0);
}
  • Bars <= 10: バー(チャートのローソク足)が10本以下の場合、計算を行わない。
  • IndicatorCounted(): 既に計算されたバーの数を取得。
  • iMA: 指定された期間と方法で移動平均を計算。
  • haOpen, haClose, haHigh, haLow: 平均足の値を計算。
  • iMAOnArray: バッファ配列上で移動平均を計算。

まとめ

このページで平均足スムースドのダウンロードが可能で、ファイルのソースコードも確認できる。
平均足スムースドは単体でのエントリーも可能だが、トレンドや値動きの有無が重要となる。
他のインジケーターや上位足をフィルターとして使用し、トレンドや値動きの大きさを把握することで、平均足スムースドを生かしたトレードが可能となる。

  • URLをコピーしました!
  • URLをコピーしました!

このEAを使って、将来の見通しが立ちました

収入を増やしたい、将来のための資産が欲しい、支払いに縛られない自由な生活がしたい

このEAを使うと将来が見通せます。

22年以上で無敗の安定取引。リスク0%運用も可能なロジック。年利100%越えの上級者向け取引も可能。

マネーマシンとして育て上げることで大きな不労所得を得られます。

BBF-Girl
ドリームEA_BBF 無料ダウンロード
BBF_MQL5-202401006
リアルトレード公開|EA BBF

ポジション監視の時間

集中力は続いてますか?


オートクローズツールを使ってポジション管理を自動化


自動ポジション管理だから万が一でも大丈夫

あなたは空いた時間を自由に、効率的に使えます

自動決済ルールは独自にカスタム可能

ストップ、リミット変更にも対応。

エントリー後のポジション管理をすべて自動化できるトレーディングサポートツール。

トレード中のちょっとした離席など、念のためセットといった使い方も可能。

MT4用自動決済ツール【AutoCloseTool】は無料で入手できます。

オートクローズツール

取引ごとにキャッシュバックが発生します

もらわないだけ損している
取引ごとに毎回発生する現金のキャッシュバック
海外FXのキャッシュバックはメリットしかないサービスです

取引ごとにキャッシュバック
目次