TEMAのダウンロードと解説|MT4インジケーター

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

TEMAというMT4インジケーターがほしいです。

TEMAはどんなインジケーターですか?

ホシノ

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

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

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

〇TEMAインジケーターのダウンロード

〇TEMAの詳しい解説

目次

TEMAのダウンロード

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

TEMAインジケーターのインストール

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

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

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

TEMAとは?詳しく解説

TEMAチャート画像
TEMA

TEMA(Triple Exponential Moving Average、三重指数移動平均)はトレンドフォロー型のテクニカル指標で、ノイズを減少させるために使用される。TEMAはEMA(Exponential Moving Average、指数移動平均)を3回重ねることで計算され、ラグ(遅延)を最小限に抑えつつ、価格の動きを滑らかにする。

TEMAの計算方法

TEMAの計算は以下のステップ:

  1. 第一のEMA (EMA1) の計算
    • 標準的なEMAの計算を行う。
    • 計算式は次の通り:
      [math]\text{EMA1}[t] = \alpha \cdot \text{Price}[t] + (1 – \alpha) \cdot \text{EMA1}[t – 1][/math]
      ここで、[math]\alpha = \frac{2}{n + 1}[/math]([math]n[/math]は期間)。
  2. 第二のEMA (EMA2) の計算
    • 先に計算したEMA1のEMAを再度計算する。
    • 計算式は次の通り:
      [math]\text{EMA2}[t] = \alpha \cdot \text{EMA1}[t] + (1 – \alpha) \cdot \text{EMA2}[t – 1][/math]
  3. 第三のEMA (EMA3) の計算
    • 次に、EMA2のEMAを計算する。
    • 計算式は次の通り:
      [math]\text{EMA3}[t] = \alpha \cdot \text{EMA2}[t] + (1 – \alpha) \cdot \text{EMA3}[t – 1][/math]
  4. TEMAの計算
    • 最後に、3つのEMAを組み合わせてTEMAを計算する。
    • 計算式は次の通り:
      [math]\text{TEMA}[t] = 3 \cdot \text{EMA1}[t] – 3 \cdot \text{EMA2}[t] + \text{EMA3}[t][/math]

TEMAの特徴

  • ラグの最小化:TEMAは複数のEMAを組み合わせることで、通常のEMAに比べラグを最小限に抑える効果がある。
  • 滑らかさ:ノイズを低減し、価格のトレンドをより滑らかに表現する。
  • 応答性:価格の変動に対してより敏感で、トレンドの変化を迅速に捉えることができる。

TEMAの利用法

TEMAはトレンドの方向を確認し、売買シグナルを発見するために使用される。一般的な使い方は以下の通り:

  1. トレンドの確認
    • TEMAが上昇している場合、上昇トレンドとみなす。
    • TEMAが下降している場合、下降トレンドとみなす。
  2. トレンドの変化の検出
    • 価格がTEMAを上抜けした場合、買いシグナルとみなす。
    • 価格がTEMAを下抜けした場合、売りシグナルとみなす。
  3. 他の指標との併用
    • TEMAは他のテクニカル指標(例:RSI、MACD)と併用することで、より精度の高い売買シグナルを得ることができる。

まとめ

TEMAは、ノイズを減少させつつ、トレンドを迅速に捉えるための強力なテクニカル指標だ。特にラグの少ない移動平均を求めるトレーダーにとっては有用となる。適切な期間設定と他の指標との併用により、効果的なトレード戦略を構築できる。

TEMAのプログラム

//+------------------------------------------------------------------+
//|                                                         TEMA.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
//--- input parameters
input int InpPeriod = 14; // Period

//--- indicator buffers
double TEMA_Buffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   // Indicator buffer mapping
   SetIndexBuffer(0, TEMA_Buffer);
   
   // Set the line style and color to Aqua
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, clrGold);
   SetIndexLabel(0, "TEMA");
   
   // Indicator name
   IndicatorShortName("TEMA("+IntegerToString(InpPeriod)+")");
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i, counted_bars = IndicatorCounted();
   if(counted_bars < 0) return(-1);
   if(counted_bars > 0) counted_bars--;
   int limit = rates_total - counted_bars;

   // Calculate EMA1, EMA2, and EMA3
   double EMA1[], EMA2[], EMA3[];
   ArrayResize(EMA1, rates_total);
   ArrayResize(EMA2, rates_total);
   ArrayResize(EMA3, rates_total);

   int period = InpPeriod;
   double k = 2.0 / (period + 1);

   for(i = 0; i < limit; i++)
     {
      if (i == 0)
        {
         EMA1[i] = close[i];
         EMA2[i] = EMA1[i];
         EMA3[i] = EMA2[i];
        }
      else
        {
         EMA1[i] = (k * close[i]) + ((1 - k) * EMA1[i - 1]);
         EMA2[i] = (k * EMA1[i]) + ((1 - k) * EMA2[i - 1]);
         EMA3[i] = (k * EMA2[i]) + ((1 - k) * EMA3[i - 1]);
        }
     }

   // Calculate TEMA
   for(i = 0; i < limit; i++)
     {
      TEMA_Buffer[i] = (3 * EMA1[i]) - (3 * EMA2[i]) + EMA3[i];
     }

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

ソースコードを詳しく解説

プロパティ設定 (#property)

#property strict
#property indicator_chart_window
  • #property strict: 厳密なコーディング規則を適用する。これにより、コード内のエラーをより早く検出できる。
  • #property indicator_chart_window: インジケーターをチャートウィンドウに表示。

入力パラメーター (input)

input int InpPeriod = 14; // Period
  • InpPeriod: インジケーターの計算に使用する期間を設定する入力パラメーター。デフォルト値は14。

インジケーターバッファー (double型の配列)

double TEMA_Buffer[];
  • TEMA_Buffer[]: TEMAインジケーターの計算結果を格納するバッファー。

カスタムインジケーターの初期化関数 (OnInit)

int OnInit()
  • インジケーターの初期化関数。インジケーターの初期化処理を行う。

バッファーのマッピングとスタイル設定

SetIndexBuffer(0, TEMA_Buffer);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1, clrGold);
SetIndexLabel(0, "TEMA");
IndicatorShortName("TEMA("+IntegerToString(InpPeriod)+")");
  • SetIndexBuffer(): バッファーをインデックス0にマッピングする。
  • SetIndexStyle(): バッファーのスタイルと色を設定。
  • SetIndexLabel(): バッファーのラベルを設定。
  • IndicatorShortName(): インジケーターの名前を設定。

インジケーターの計算関数 (OnCalculate)

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[])
  • インジケーターの計算関数。新しいバーが形成されるたびに呼び出される。

TEMAの計算

// Calculate EMA1, EMA2, and EMA3
// TEMA calculation
  • EMA1EMA2EMA3を計算し、それらを使用してTEMAを計算。

バッファーへの結果の格納

TEMA_Buffer[i] = (3 * EMA1[i]) - (3 * EMA2[i]) + EMA3[i];
  • 計算したTEMA値をTEMA_Buffer[]に格納。

関数の戻り値

return(rates_total);
  • OnCalculate関数の戻り値として、計算に使用されたバーの数 rates_total を返す。

これらの要素が組み合わさって、TEMAインジケーターが正常に計算され、チャート上に描画される。

MT4インジケーターまとめ

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

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

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

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

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

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

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

ポジション監視の時間

集中力は続いてますか?


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


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

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

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

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

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

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

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

オートクローズツール

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

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

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