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

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

T3というMT4インジケーターが欲しいです。

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

ホシノ

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

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

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

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

〇T3の使い方や計算方法などについて

目次

T3のダウンロード

ここからT3インジケーターのダウンロードが可能。
ダウンロードするインジケーターファイルは.ex4ファイルとなる。
MT4のインジケーターフォルダへ移動すれば使用可能だ。

T3のインストール

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

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

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

T3インジケーターとは?

T3チャート画像
T3

T3インジケーターは、平均線を滑らかに表示するために設計されたテクニカル指標だ。John F. Ehlersによって開発されたこのインジケーターは、通常の移動平均(MA)よりも滑らかなラインを生成することが特徴。T3インジケーターは、価格の変動をより滑らかに表現し、ノイズを減らすことでトレンドの識別を容易にしている。

T3インジケーターは、以下の公式に基づいて計算される
[math]T3(i) = c1 \cdot e6(i) + c2 \cdot e5(i) + c3 \cdot e4(i) + c4 \cdot e3(i)[/math]

e1からe6は各段階の平滑化ステップを表し、c1からc4は平滑化係数を表す。これらの係数は、スムージングパラメータbによって決まる。

T3インジケーターの使用方法

T3インジケーターは、トレンドの方向を特定し、トレンドの反転点を見極めるために使用される。以下は、T3インジケーターを使う際の一般的なアプローチだ。

トレンドの識別

  • 上昇トレンド: T3インジケーターが上昇している場合、価格は上昇トレンドにある。この状況では買いポジションを検討する。
  • 下降トレンド: T3インジケーターが下降している場合、価格は下降トレンドにある。この状況では売りポジションを検討する。

トレンド反転の特定

  • ゴールデンクロス: T3インジケーターが価格を下から上にクロスする場合、上昇トレンドの開始を示すシグナルとして使用。
  • デッドクロス: T3インジケーターが価格を上から下にクロスする場合、下降トレンドの開始を示すシグナルとして使用。

ストップロスと利益確定

  • ストップロス: 直近の安値または高値を基準にストップロスを設定する。T3インジケーターがトレンドの反対方向に反転した場合、ポジションのクローズを検討する。
  • 利益確定: トレンドの強さやボラティリティに応じ、固定ピップス、サポート/レジスタンスレベル、またはトレイリングストップを使用して利益を確定する。

T3インジケーターの設定

  • 期間 (T3Period): 通常は14に設定されるが、市場の特性やトレーダーのスタイルに応じて調整が可能。短い期間はより敏感なシグナルを提供し、長い期間はより滑らかなシグナルを提供する。
  • スムージング係数 (b): 通常は0.7に設定される。この値を変更することで、インジケーターの滑らかさが調整できる。高い値はより滑らかなラインを生成し、低い値はインジケーターが価格に対してより敏感になる。

まとめ

T3はトレンドの識別と反転の特定に有効なインジケーターだ。ノイズの少ない滑らかなラインを提供するため、トレーダーは市場の方向性をより明確に理解できるようになる。適切な設定と併用することで、T3インジケーターはトレードの意思決定において重要な役割を果たす。

T3のプログラム

//+------------------------------------------------------------------+
//|                                                           T3.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 1
#property indicator_color1 Red

//--- input parameters
input int T3Period = 14;
input double b = 0.7;

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

//--- initialization function
int OnInit()
  {
   // Indicator buffer mapping
   SetIndexBuffer(0, T3Buffer);
   SetIndexStyle(0, DRAW_LINE);
   // Indicator short name
   IndicatorShortName("T3("+IntegerToString(T3Period)+","+DoubleToString(b,1)+")");

   return(INIT_SUCCEEDED);
  }

//--- deinitialization function
void OnDeinit(const int reason)
  {
  }

//--- calculation 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[])
  {
   if (rates_total < T3Period) return(0);

   double c1 = -b * b * b;
   double c2 = 3 * b * b + 3 * b * b * b;
   double c3 = -6 * b * b - 3 * b - 3 * b * b * b;
   double c4 = 1 + 3 * b + b * b * b + 3 * b * b;

   double e1[], e2[], e3[], e4[], e5[], e6[];

   ArraySetAsSeries(e1, true);
   ArraySetAsSeries(e2, true);
   ArraySetAsSeries(e3, true);
   ArraySetAsSeries(e4, true);
   ArraySetAsSeries(e5, true);
   ArraySetAsSeries(e6, true);
   ArraySetAsSeries(T3Buffer, true);

   ArrayResize(e1, rates_total);
   ArrayResize(e2, rates_total);
   ArrayResize(e3, rates_total);
   ArrayResize(e4, rates_total);
   ArrayResize(e5, rates_total);
   ArrayResize(e6, rates_total);

   for (int i = rates_total - 1; i >= 0; i--)
     {
      if (i == rates_total - 1)
        {
         e1[i] = close[i];
         e2[i] = close[i];
         e3[i] = close[i];
         e4[i] = close[i];
         e5[i] = close[i];
         e6[i] = close[i];
         T3Buffer[i] = close[i];
        }
      else
        {
         e1[i] = (1 - b) * close[i] + b * e1[i + 1];
         e2[i] = (1 - b) * e1[i] + b * e2[i + 1];
         e3[i] = (1 - b) * e2[i] + b * e3[i + 1];
         e4[i] = (1 - b) * e3[i] + b * e4[i + 1];
         e5[i] = (1 - b) * e4[i] + b * e5[i + 1];
         e6[i] = (1 - b) * e5[i] + b * e6[i + 1];

         T3Buffer[i] = c1 * e6[i] + c2 * e5[i] + c3 * e4[i] + c4 * e3[i];
        }
     }

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

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

ヘッダー

#property strict
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
  • #property strict:
    • コードの厳密なチェックを有効にし、より厳格なエラーチェックが行われる。
  • #property indicator_chart_window:
    • インジケーターをチャートウィンドウに表示する。別のウィンドウではなく、価格チャートと同じウィンドウに描画される。
  • #property indicator_buffers 1:
    • 1つのバッファを定義する。このバッファがインジケーターの値を格納するために使用される。
  • #property indicator_color1 Red:
    • インジケーターのラインの色を赤に設定。

入力パラメータ

input int T3Period = 14;
input double b = 0.7;
  • T3Period:
    • T3インジケーターの計算に使用する期間を指定する。デフォルトは14。
  • b:
    • スムージング係数。デフォルトは0.7。

インジケーターバッファ

double T3Buffer[];

  • インジケーターの値を格納するためのバッファを定義する。

初期化関数

int OnInit()
  {
   // Indicator buffer mapping
   SetIndexBuffer(0, T3Buffer);
   SetIndexStyle(0, DRAW_LINE);
   // Indicator short name
   IndicatorShortName("T3("+IntegerToString(T3Period)+","+DoubleToString(b,1)+")");

   return(INIT_SUCCEEDED);
  }
  • OnInit() 関数はインジケーターの初期化時に呼び出される。
    • SetIndexBuffer(0, T3Buffer):
      • T3Bufferをインジケーターの0番目のバッファにマッピングする。
    • SetIndexStyle(0, DRAW_LINE):
      • インジケーターをラインとして描画するスタイルを設定。
    • IndicatorShortName("T3("+IntegerToString(T3Period)+","+DoubleToString(b,1)+")"):
      • インジケーターの短い名前を設定する。この名前はチャート上に表示される。

終了関数

void OnDeinit(const int reason) { }

  • OnDeinit() 関数はインジケーターが削除される際に呼び出される。

計算関数

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[])
  {
   if (rates_total < T3Period) return(0);

   double c1 = -b * b * b;
   double c2 = 3 * b * b + 3 * b * b * b;
   double c3 = -6 * b * b - 3 * b - 3 * b * b * b;
   double c4 = 1 + 3 * b + b * b * b + 3 * b * b;

   double e1[], e2[], e3[], e4[], e5[], e6[];

   ArraySetAsSeries(e1, true);
   ArraySetAsSeries(e2, true);
   ArraySetAsSeries(e3, true);
   ArraySetAsSeries(e4, true);
   ArraySetAsSeries(e5, true);
   ArraySetAsSeries(e6, true);
   ArraySetAsSeries(T3Buffer, true);

   ArrayResize(e1, rates_total);
   ArrayResize(e2, rates_total);
   ArrayResize(e3, rates_total);
   ArrayResize(e4, rates_total);
   ArrayResize(e5, rates_total);
   ArrayResize(e6, rates_total);

   for (int i = rates_total - 1; i >= 0; i--)
     {
      if (i == rates_total - 1)
        {
         e1[i] = close[i];
         e2[i] = close[i];
         e3[i] = close[i];
         e4[i] = close[i];
         e5[i] = close[i];
         e6[i] = close[i];
         T3Buffer[i] = close[i];
        }
      else
        {
         e1[i] = (1 - b) * close[i] + b * e1[i + 1];
         e2[i] = (1 - b) * e1[i] + b * e2[i + 1];
         e3[i] = (1 - b) * e2[i] + b * e3[i + 1];
         e4[i] = (1 - b) * e3[i] + b * e4[i + 1];
         e5[i] = (1 - b) * e4[i] + b * e5[i + 1];
         e6[i] = (1 - b) * e5[i] + b * e6[i + 1];

         T3Buffer[i] = c1 * e6[i] + c2 * e5[i] + c3 * e4[i] + c4 * e3[i];
        }
     }

   return(rates_total);
  }
  • OnCalculate() 関数は新しいデータが取得されるたびに呼び出される。
    • if (rates_total < T3Period) return(0);:
      • データの総数がT3Periodより少ない場合は計算を行わずに終了。
    • c1, c2, c3, c4:
      • T3インジケーターの計算に必要な定数を定義する。
    • e1, e2, e3, e4, e5, e6:
      • 中間計算に使用するバッファを定義。
    • ArraySetAsSeries:
      • 各バッファのインデックスを逆順(最新のデータが0番目)に設定。
    • ArrayResize:
      • 各バッファのサイズをデータの総数に合わせて調整。
    • for ループ:
      • バッファの最後から最初までループする。
      • if (i == rates_total - 1):
        • 最初のデータポイントでは、すべてのバッファをクローズ価格で初期化。
      • else:
        • T3インジケーターの各段階の値を計算し、最終的に T3Buffer に結果を格納する。

MT4インジケーターまとめ

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

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

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

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

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

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

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

ポジション監視の時間

集中力は続いてますか?


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


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

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

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

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

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

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

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

オートクローズツール

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

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

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