Schaff Trend Cycleのダウンロードと解説|MT4インジケーター
Schaff Trend CycleというMT4インジケーターが欲しいです。
どんなインジケーターなのですか?
FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。
この無料EAで不労所得が稼げます
累計テスト120年以上・リアル取引公開2020年~
このページでわかること・できること
〇Schaff Trend Cycleインジケーターのダウンロード
〇Schaff Trend Cycleの使い方や計算方法などについて
Schaff Trend Cycleのダウンロード
Schaff Trend Cycleインジケーターのダウンロードはここをクリック。
ダウンロードするインジケーターファイルは.ex4ファイルとなるため、MT4のインジケーターフォルダへ移動すれば使用が可能となる。
Schaff Trend Cycleのインストール
ダウンロードしたSchaff Trend CycleインジケーターはMT4のデータフォルダからindicatorsフォルダを探しファイルを移動する。
indicatorsフォルダにファイルを移動し、MT4を再起動するとインストールが完了する。
Schaff Trend Cycleインジケーターとは?
Schaff Trend Cycle(STC)は、ダグラス・シューフ(Douglas Schaff)が開発したテクニカル指標で、トレンドの方向性とその変化を検出するために使用される。このインジケーターは、移動平均とストキャスティクスの概念を組み合わせたもので、トレンドの転換点を早期に検出することを目指している。
Schaff Trend Cycleの計算ステップ
- 典型価格 (Typical Price, TP) の計算:
- TP = (高値 + 安値 + 終値) / 3
- 移動平均の計算:
- 短期EMA (MAShort) と長期EMA (MALong) をTPに基づいて計算する。
- 短期EMAと長期EMAの差 (MACD) を計算する。
MACD = EMA(TP, MAShort) - EMA(TP, MALong)
- ストキャスティクス%K (fast%K) の計算:
- 直近の
Cycle
期間におけるMACDの最低値 (LLV) と最高値 (HHV) を求める。 - ストキャスティクス%Kを計算する。
fast%K = 100 * (MACD - LLV) / (HHV - LLV)
- 直近の
- ストキャスティクス%Kの平滑化 (fast%D):
- fast%Kにスムージング定数(α)を適用して平滑化する。
α = 2 / (1 + Cycle / 2) fast%D = α * fast%K + (1 - α) * previous_fast%D
- fast%Kにスムージング定数(α)を適用して平滑化する。
- ストキャスティクス%Kの再計算 (slow%K):
- 直近の
Cycle
期間におけるfast%Dの最低値 (LLV) と最高値 (HHV) を求める。 - ストキャスティクス%K (slow%K) を再計算する。
slow%K = 100 * (fast%D - LLV) / (HHV - LLV)
- 直近の
- Schaff Trend Cycle (STC) の最終計算:
- slow%Kを再度スムージングして最終的なSTCを求める。
STC = α * slow%K + (1 - α) * previous_STC
- slow%Kを再度スムージングして最終的なSTCを求める。
Schaff Trend Cycleの使い方
Schaff Trend Cycle(STC)は、トレンドフォロー型のテクニカル指標であり、特にトレンドの転換点を見つけるのに効果的だ。以下に、STCをトレードで活用するための具体的な方法について詳しく説明する。
基本的な使用方法
- トレンドの検出:
- 上昇トレンド:STCが20以下のゾーンから上昇し、上向きのクロスを示した場合、上昇トレンドの開始を示唆する。
- 下降トレンド:STCが80以上のゾーンから下降し、下向きのクロスを示した場合、下降トレンドの開始を示唆する。
- エントリーシグナル:
- 買いシグナル:STCが20以下のレベルから上昇する場合。
- 売りシグナル:STCが80以上のレベルから下降する場合。
- エグジットシグナル:
- 買いポジション:STCが80以上に達した場合
- 売りポジション:STCが20以下に達した場合
トレード戦略の具体例
- シンプルなクロスオーバーストラテジー:
- ルール:
- STCが20を下から上にクロスしたら買いポジションをエントリー。
- STCが80を上から下にクロスしたら売りポジションをエントリー。
- エグジット:
- 逆のクロスオーバーが発生したとき、または一定の利益目標に達したときにポジションをクローズ。
- ルール:
- ダイバージェンスの活用:
- ルール:
- 価格が新高値(または新安値)を形成しているにもかかわらず、STCが新高値(または新安値)を形成していない場合、価格の転換の可能性を示唆。
- この場合、STCの方向に合わせてトレードを検討。
- エグジット:
- ダイバージェンスが解消された場合、または逆方向のシグナルが発生した場合にポジションをクローズ。
- ルール:
- 他のインジケーターとの併用:
- STCを他のトレンドフォローインジケーター(例:移動平均、MACD)と組み合わせることで、シグナルの信頼性を向上。
- 例えば、移動平均が上昇トレンドを示している状況で、STCが買いシグナルを出した場合はそのシグナルの信頼性が高まる。
具体的なトレード例
- 買いポジションのエントリー:
- 価格がレンジを抜けて上昇し始めたとき、STCが20以下から上昇し始めるのを確認。
- このタイミングで買いポジションをエントリー。
- 損切りは直近のスイングローに設定。
- 利益確定はSTCが80に達したとき、または設定した利益目標に達したとき。
- 売りポジションのエントリー:
- 価格がレンジを抜けて下降し始めたとき、STCが80以上から下降し始めるのを確認。
- このタイミングで売りポジションをエントリー。
- 損切りは直近のスイングハイに設定。
- 利益確定はSTCが20に達したとき、または設定した利益目標に達したとき。
長期トレンドの中で押し目買い、戻り売りのタイミングを計る
表示させているチャートの上位足から長期トレンドの方向を決めておき、長期トレンドの方向にそった押し目買い、戻り売りでエントリーする。
そのタイミングを計るインジケーターとして、Schaff Trend Cycleは有効である。
注意点
- 偽シグナル:どのテクニカル指標も偽シグナルを出す可能性がある。STCも例外ではないため、他の指標やフィルターと併用することが推奨される。
- マーケットのコンディション:STCはトレンド市場で効果的ですが、レンジ相場ではパフォーマンス低下の可能性がある。市場の状況に応じて使用することが重要となる。
まとめ
Schaff Trend Cycleは、トレンドフォロー型のトレード戦略において有効なインジケーターだ。早期にトレンドの転換点を捉えることで、トレードのエントリーとエグジットのタイミングを改善できる。効果的に利用するためには、他の指標やフィルターと組み合わせて使用し、リスク管理を徹底することが重要となる。
Schaff Trend Cycleで勝つ|個人的見解
Schaff Trend Cycleで勝つにはどんな使い方が良いでしょう?
Schaff Trend Cycleはストキャスと移動平均線の概念で開発されたインジケーターということで、なんかそのままでも勝てそうな印象ですよね。
そのまま使うだけでなく、上位足のトレンド方向に合わせて買いと売りを決めておくといいですね。
押し目買いや戻り売りのタイミングを計るんですね。確かにそれは有効だと思います。
こちらはあきらかな下降トレンドの1時間足チャートです。
トレンドが視覚的にわかりやすいように、インジケーターのGMMAを表示しています。
ではエントリータイミングを計るチャートとして、同じ日時の5分足チャートを見てみましょう。
SchaffTrendCycleが下降に転じた時に売ればいいんですね。
どこで売っても良さそうに見えますが、それは結果が見えているからですね。
SchaffTrendCycleが下降に転じた部分に垂直ラインを入れてみましょう!
綺麗に戻り売りができそうですね!
上位足でトレンドが明確であれば、SchaffTrendCycleでタイミングを計るだけで簡単にトレンドフォローのトレードができそうです。
スキャルピングもやりやすい印象です。
ではトレンドが明確でないチャートの場合を見てみましょうか。
GMMAは収束し、角度も方向性が定まらない状況ですね。
5分足チャートを見てみましょう。
値幅によっては勝つ場合もありそうですが。
すべてにエントリーした場合には損失が上回りそうですね。
SchaffTrendCycleはトレンドが明確でない時や、値幅が小さい状況では機能しにくいインジケーターなんですね。
この会話の要約
Schaff Trend Cycleはストキャスティクスと移動平均線の概念に基づいており、上位足のトレンド方向に合わせて売買のタイミングを取ると有効。
具体例として、下降トレンドの1時間足チャートに基づき、短期の5分足チャートでエントリータイミングを計る。Schaff Trend Cycleが下降に転じた際に売りを入れることで、戻り売りが可能となった。
トレンドが明確である場合は、このインジケーターを使って簡単にトレンドフォローの取引ができ、スキャルピングにも適していると述べられている。
逆に、トレンドが明確でない場合や値幅が小さい場合では、このインジケーターは機能しにくく、エントリーが損失につながる可能性があるとされている。
Schaff Trend Cycleのソースコード
//+------------------------------------------------------------------+
//| SchaffTrendCycle.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_separate_window
#property indicator_minimum -10
#property indicator_maximum 110
#property indicator_buffers 2
#property indicator_color1 Blue
//---- 入力パラメータ
extern int MAShort = 23;
extern int MALong = 50;
extern double Cycle = 10;
extern int CountBars = 300;
//---- バッファ
double MA[];
double ST[];
double MCD_Arr[];
//+------------------------------------------------------------------+
//| カスタムインジケーター初期化関数 |
//+------------------------------------------------------------------+
int init()
{
// インジケーターバッファの初期化
IndicatorBuffers(3);
SetIndexBuffer(0, MA);
SetIndexBuffer(1, ST);
SetIndexBuffer(2, MCD_Arr);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, Blue);
IndicatorShortName("Schaff Trend Cycle");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Schaff Trend Cycle |
//+------------------------------------------------------------------+
int start()
{
int shift, counted_bars = IndicatorCounted();
double MCD, LLV, HHV, MA_Short, MA_Long, prev, smconst;
int n = 0;
int s = 1;
bool check_begin = false, check_begin_MA = false;
// スムージング定数の初期化
smconst = 2.0 / (1.0 + Cycle / 2.0);
// 計算の開始点を設定
if (counted_bars > 0)
shift = Bars - counted_bars - 1;
else
shift = Bars - CountBars;
while (shift >= 0)
{
// 短期および長期EMAの計算
MA_Short = iMA(NULL, 0, MAShort, 0, MODE_EMA, PRICE_TYPICAL, shift);
MA_Long = iMA(NULL, 0, MALong, 0, MODE_EMA, PRICE_TYPICAL, shift);
MCD = MA_Short - MA_Long;
// MCD値の保存
MCD_Arr[n] = MCD;
if (n >= Cycle - 1)
{
check_begin = true;
n = 0;
}
else
n++;
if (check_begin)
{
// MCDの最低値と最高値を計算
LLV = MCD_Arr[0];
HHV = MCD_Arr[0];
for (int i = 1; i < Cycle; i++)
{
if (MCD_Arr[i] < LLV) LLV = MCD_Arr[i];
if (MCD_Arr[i] > HHV) HHV = MCD_Arr[i];
}
// MCDのストキャスティクス%Kの計算
ST[shift] = (MCD - LLV) / (HHV - LLV) * 100.0;
s++;
if (s >= Cycle / 2)
{
check_begin_MA = true;
s = 1;
}
}
else
{
ST[shift] = 0;
}
if (check_begin_MA)
{
// ストキャスティクス%K値のEMAの計算 (MA)
if (shift < Bars - 1)
{
prev = MA[shift + 1];
MA[shift] = smconst * (ST[shift] - prev) + prev;
}
else
{
MA[shift] = ST[shift];
}
}
shift--;
}
return(0);
}
//+------------------------------------------------------------------+
ソースコードの詳細を解説
プロパティ設定
#property indicator_separate_window
#property indicator_minimum -10
#property indicator_maximum 110
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_separate_window
:インジケーター表示をサブウィンドウに指定。#property indicator_minimum -10
:インジケーターのY軸の最小値を-10に設定。#property indicator_maximum 110
:インジケーターのY軸の最大値を110に設定。#property indicator_buffers 2
:インジケーターが2つのバッファを使用することを指定。#property indicator_color1 Blue
:インジケーターのラインの色を青色に設定。
入力パラメータ
extern int MAShort = 23; extern int MALong = 50; extern double Cycle = 10; extern int CountBars = 300;
extern int MAShort = 23
:短期EMAの期間を23に設定。extern int MALong = 50
:長期EMAの期間を50に設定。extern double Cycle = 10
:サイクル期間を10に設定。extern int CountBars = 300
:計算するバーの数を300に設定。
バッファの定義
double MA[]; double ST[]; double MCD_Arr[];
double MA[]
:ストキャスティクス%K値のEMAを保存するバッファ。double ST[]
:ストキャスティクス%K値を保存するバッファ。double MCD_Arr[]
:EMAの差(MCD値)を保存するバッファ。
初期化関数
int init()
{
// インジケーターバッファの初期化
IndicatorBuffers(3);
SetIndexBuffer(0, MA);
SetIndexBuffer(1, ST);
SetIndexBuffer(2, MCD_Arr);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, DarkOrchid);
IndicatorShortName("Schaff Trend Cycle");
return(INIT_SUCCEEDED);
}
IndicatorBuffers(3)
:インジケーターが3つのバッファを使用。SetIndexBuffer(0, MA)
:最初のバッファ(MA
)を設定。SetIndexBuffer(1, ST)
:2番目のバッファ(ST
)を設定。SetIndexBuffer(2, MCD_Arr)
:3番目のバッファ(MCD_Arr
)を設定。SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, Blue)
:1番目のバッファをラインスタイルで描画し、太さを2、色をBlue
に設定。IndicatorShortName("Schaff Trend Cycle")
:インジケーターの短縮名を設定。
メイン計算関数
int start()
{
int shift, counted_bars = IndicatorCounted();
double MCD, LLV, HHV, MA_Short, MA_Long, prev, smconst;
int n = 0;
int s = 1;
bool check_begin = false, check_begin_MA = false;
// スムージング定数の初期化
smconst = 2.0 / (1.0 + Cycle / 2.0);
// 計算の開始点を設定
if (counted_bars > 0)
shift = Bars - counted_bars - 1;
else
shift = Bars - CountBars;
while (shift >= 0)
{
// 短期および長期EMAの計算
MA_Short = iMA(NULL, 0, MAShort, 0, MODE_EMA, PRICE_TYPICAL, shift);
MA_Long = iMA(NULL, 0, MALong, 0, MODE_EMA, PRICE_TYPICAL, shift);
MCD = MA_Short - MA_Long;
// MCD値の保存
MCD_Arr[n] = MCD;
if (n >= Cycle - 1)
{
check_begin = true;
n = 0;
}
else
n++;
if (check_begin)
{
// MCDの最低値と最高値を計算
LLV = MCD_Arr[0];
HHV = MCD_Arr[0];
for (int i = 1; i < Cycle; i++)
{
if (MCD_Arr[i] < LLV) LLV = MCD_Arr[i];
if (MCD_Arr[i] > HHV) HHV = MCD_Arr[i];
}
// MCDのストキャスティクス%Kの計算
ST[shift] = (MCD - LLV) / (HHV - LLV) * 100.0;
s++;
if (s >= Cycle / 2)
{
check_begin_MA = true;
s = 1;
}
}
else
{
ST[shift] = 0;
}
if (check_begin_MA)
{
// ストキャスティクス%K値のEMAの計算 (MA)
if (shift < Bars - 1)
{
prev = MA[shift + 1];
MA[shift] = smconst * (ST[shift] - prev) + prev;
}
else
{
MA[shift] = ST[shift];
}
}
shift--;
}
return(0);
}
変数の初期化
int shift, counted_bars = IndicatorCounted();
:計算するバーのシフト位置と、以前計算されたバーの数を取得する。double MCD, LLV, HHV, MA_Short, MA_Long, prev, smconst;
:各種計算に使用する変数を定義する。int n = 0; int s = 1;
:カウンタ変数を初期化する。bool check_begin = false, check_begin_MA = false;
:計算開始のフラグを初期化する。
スムージング定数の初期化
smconst = 2.0 / (1.0 + Cycle / 2.0);
- サイクルに基づいてスムージング定数を計算する。
計算の開始点を設定
if (counted_bars > 0) shift = Bars - counted_bars - 1; else shift = Bars - CountBars;
- 以前計算されたバーの数に応じて計算を開始するシフト位置を設定。
メインループ
while (shift >= 0)
{
// 短期および長期EMAの計算
MA_Short = iMA(NULL, 0, MAShort, 0, MODE_EMA, PRICE_TYPICAL, shift);
MA_Long = iMA(NULL, 0, MALong, 0, MODE_EMA, PRICE_TYPICAL, shift);
MCD = MA_Short - MA_Long;
// MCD値の保存
MCD_Arr[n] = MCD;
if (n >= Cycle - 1)
{
check_begin = true;
n = 0;
}
else
n++;
if (check_begin)
{
// MCDの最低値と最高値を計算
LLV = MCD_Arr[0];
HHV = MCD_Arr[0];
for (int i = 1; i < Cycle; i++)
{
if (MCD_Arr[i] < LLV) LLV = MCD_Arr[i];
if (MCD_Arr[i] > HHV) HHV = MCD_Arr[i];
}
// MCDのストキャスティクス%Kの計算
ST[shift] = (MCD - LLV) / (HHV - LLV) * 100.0;
s++;
if (s >= Cycle / 2)
{
check_begin_MA = true;
s = 1;
}
}
else
{
ST[shift] = 0;
}
if (check_begin_MA)
{
// ストキャスティクス%K値のEMAの計算 (MA)
if (shift < Bars - 1)
{
prev = MA[shift + 1];
MA[shift] = smconst * (ST[shift] - prev) + prev;
}
else
{
MA[shift] = ST[shift];
}
}
shift--;
}
- 短期および長期EMAの計算:
MA_Short
とMA_Long
をiMA
関数を使って計算し、MCD(短期EMAと長期EMAの差)を求める。
- MCD値の保存:
MCD_Arr[n]
にMCDの値を保存し、カウンタn
を更新する。
- ストキャスティクス%Kの計算:
- MCDの最低値(LLV)と最高値(HHV)を計算し、ストキャスティクス%Kを求めて
ST
バッファに保存。
- MCDの最低値(LLV)と最高値(HHV)を計算し、ストキャスティクス%Kを求めて
- ストキャスティクス%K値のEMAの計算 (MA):
ST
バッファの値を使ってEMAを計算し、MA
バッファに保存。
関数の終了
return(0);
- 関数が正常に終了することを示す。
MT4インジケーターまとめ
-
海外FXのEA_MT4【無料】スキャルピングトレードのサインがでるMT4インジケーター特集【最新23選】
-
海外FXのEA_MT4市場の時間をチャートに表示するMT4インジケーター|MarketCrock
-
海外FXのEA_MT4エントリーサインをだすMT4インジケーター特集
-
海外FXのEA_MT41日の区切りに垂直ラインを引くMT4インジケーター|OneDayLine
-
海外FXのEA_MT4TSIのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4TEMAのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4Aroonのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4ボリンジャーバンドをサブウインドウに表示するMT4インジケーター
-
海外FXのEA_MT4【MT4】スキャルピングで使えるオシレーター解説【無料インジケーター】
-
海外FXのEA_MT4GMMA・グッピーのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4Schaff Trend Cycleのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4RCIインジケーターのダウンロードと解説|MT4
-
海外FXのEA_MT4平均足をサブウィンドウに表示するMT4インジケーター
-
海外FXのEA_MT4MT4からインジケーターを無料でダウンロード|1350種類から検索
-
海外FXのEA_MT4MT4【ZigZag】ジグザグの無料インジケーター特集【最新版】
-
海外FXのEA_MT4TTFのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4T3のダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4PivotPointsピボットポイントのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4【MT4】ピボットのインジケーター特集【無料】
-
海外FXのEA_MT4【海外FX】ボリンジャーバンドを使ったMT4のインジケーター特集【無料】
-
海外FXのEA_MT4TMAのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4平均足Smoothdのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4Donchian channelのダウンロードと解説|MT4インジケーター
-
海外FXのEA_MT4【無料】マルチタイムフレームのMT4インジケーター特集【最新版】
まとめ
Schaff Trend Cycleは、トレンドの転換点を早期に捉えるために開発されたインジケーターであり、移動平均とストキャスティクスの概念を組み合わせたものだ。特に、トレンドフォロー型の戦略において効果を発揮する。基本的な使用方法は、STCの数値が20以下で買い、80以上で売るといったシンプルなルールだが、他のインジケーターと併用することでシグナルの精度を向上させることが推奨される。レンジ相場ではパフォーマンスが低下することがあるため、トレンドの有無を確認し、リスク管理を徹底することが重要である。