インディケータ: シャフトレンドサイクル

 

シャフトレンドサイクル:

シャフトレンドサイクルインディケータはサイクルを使用してMACDラインのストキャスティックを計算することによって作成された周期的なオシレータです。その結果、開発者は、より安定した信頼性の高いインディケータスクリプト動作を達成しました。

作者: Nikolay Kositsin

 

非常に興味深いインジケーターで、このインジケーターとその改良版(ダブル・シャフ・トレンド・サイクル)は、半年間、私の意思決定システムの補助的な役割を果たしました。H4以上でのみ使用できます。

 
rsni:

非常に興味深いインジケーターで、このインジケーターとその改良版(ダブル・シャフ・トレンド・サイクル)は、半年間、私の意思決定システムの補助的な役割を果たしました。H4以上でのみ使用できます。

半年後、どうなりましたか?
 

このインジケーターを使用して取引すると、1日135ピップス(4桁のピップス)を1ペアだけで得ることができます!

 

このインジケーターに基づいた取引システムはたくさんある。これはそのうちの1つです:

EMA100によるシャフトレンドサイクル

1.時間枠 15分以上

2.ペア 任意

3.インディケータ

  • シャフトレンドサイクル
  • Ema 100
  • ストキャスティヒ (21, 9,9)

ロングトレードのルール

  1. 指数100移動平均線が上に傾斜している。
  2. Schaffトレンドサイクルがチャート上で売られ過ぎの領域(-10 +10)に達するのを待ち、Schaffトレンドサイクルが10より上に戻り、Stocastichクロスがラインアップしたらロングする。
  3. 直近のサポートレベルより10ピプス下にストップを置く。
  4. 利食い: Schaffトレンドサイクルが90を下回ったら取引を終了する。

ショート取引のルール

  1. 100指数移動平均線が下方に傾斜している。
  2. Schaffトレンドサイクルがチャート上で買われすぎの領域(90-110)に達するのを待ち、Schaffトレンドサイクルが90を下回り、Stocastichクロスラインが下降したらショートする。
  3. 直近の抵抗線より3ピプス上にストップを置く。
  4. 利食い:Schaff Trend Cycle インジケータが-10まで下降し、その後+10を上回ったら取引を終了する。

テンプレートを添付します。インジケーターをインストールしてこのテンプレートを使用すると、このようなチャートになります:

メタトレーダー取引プラットフォームのスクリーンショット

米ドル円、H1、2013.07.30

MetaQuotes Software Corp.、メタトレーダー5、デモ

シャフ絵馬100

USDJPY, H1, 2013.07.30, MetaQuotes Software Corp, MetaTrader 5, デモ


D1タイムフレームで他のチャートを見てください:+439 pips (4桁のpips) :

ファイル:
schaffema.tpl  15 kb
 

これは、ここから 取られた他の取引システムです:

シャフ・トレンド・サイクル・ストラテジー:これは、50SMAの上昇とシャフ・トレンドの上昇を探し、ロング・ポジションに入るストラテジーである。このストラテジーは、50 SMAがシャフ・トレンドのように下降しているときにショート・ポジションに入ります

このストラテジーを使用するには、Schaff Trend Cycleインジケータとテンプレートファイル(添付)が必要です:

  • Schaff Trend Cycleをindicatorsフォルダ(例えばC:˶Program FilesMetaTrader 5MQL5Indicators)に置きます、
  • テンプレートファイルをtemplaeフォルダ(例:C:˶Program FilesMetaTrader 5Profiles ˶Templates)に置きます、
  • MetaTraderを再起動するか、MetaEditorでSchaff Trend Cycleインディケータをコンパイルする、
  • MetaTrader5を再起動するか、MetaEditorでSchaff Trend Cycle indicatorをコンパイルしてください:



このシステムはSchaff Trend Cycle指標の買われすぎ/売られすぎのレベルも使用していることに注意してください。

 

このシンプルなシャフ・システムには様々なバリエーションがありますが、そのほとんどは、このインジケータの買われすぎ/売られすぎレベルに関連しています。では、買われすぎ/売られすぎの水準とは何か、そしてそれをどのように使うのか。この小さな記事をお読みください:

============

買われすぎ」と「売られすぎ」について知っておくべきこと

もし、あなたが何かを料理していて、それをチェックしたときに「焼き過ぎ」だとわかったら、あなたはすぐにどうしますか?その通り、オーブンから料理を取り出す。その通り、オーブンから料理を取り出す。

車のエンジンが「オーバーヒート」していたら?エンジンを冷やすために必要なことをする。エンジンがオーバーヒートする原因となったことをすぐにやめる。

このような自然な反応を考えると、買われすぎや売られすぎの取引シナリオに対して、多くの新米トレーダーが最初に、そしてほとんど即座に反応するのは、その場合も反対のことをするためだと容易に理解できる。

多くの買い(ロング)注文が価格を上昇させ、インジケータを買われ過ぎの領域に押し 込んだのだから、その逆をやってショート(売り)ポジションを取らなければならないと考える のです。逆に、多くの売り注文によって価格が下落し、インジケータが売られ過ぎの領域に入った場合、私たちはロングポジションを取らなければなりません。まるで、価格がこのような行き過ぎたゾーンに達すると、輪ゴムのようにパチンと戻ることを期待しているかのようだ。

鍋料理や車のエンジンには適切な反応でも、トレードでは必ずしも適切な反応とは限りません。

インジケータが買われすぎ/売られすぎのゾーンに入ったら、しばらくその状態が続く可能性があることを覚えておいてください。例えば、RSIや スローストキャスティクスが「買われすぎ」を示 したからといって、そのペアの値動きが圧縮されたバネのようなもので、すぐに売られすぎの領域に戻るとは限りません。

NZドルの日足チャートを見てみましょう。


このチャートでは、スローストキャスティクスが初めて80を超え、買われすぎの領域に入ったとき、価格はさらに780ピップス以上上昇し続け、ストキャスティクスはずっと買われすぎのままだったことに注目してください。最初に買われすぎの領域に入ったときにショートしたトレーダーは、明らかに大きな動きを逃していたでしょう。また、かなり短期間でショートポジションを止められただろう。

スローストキャスティクスが買われ過ぎの領域に入ると、価格が後退する例を見るには、チャートの「A」と表示された領域を見る必要がある。この場合、「A」周辺のローソク足、ドージ、スピニングトップ、シューティングスター、ハンマーは、プルバックの可能性を示している。

ここで重要なのは、どちらのシナリオもあり得るので、指標の買われすぎや売られすぎに膝を打つような反応は禁物だということです。

覚えておいてください。

インジケータからのエントリーシグナルは、長期トレンドの方向にあるものだけ にしましょう。

例えば、上昇トレンドが強く、長く続いている場合、インジケータは買われすぎの領域 にあります。この時点でショートポジションを取ることは、トレンドに逆らった取引となり、取引に より大きなリスクをもたらすことになります。

=================

買われすぎ/売られすぎのレベルについては、こちらの ビデオをご覧ください。

 

このSchaff Trend Cycleインジケーターについて、何かシステムをご存知でしたら、ここに投稿してください。

以上

 

こんにちは、

schafftrendcycle.mq5とsmootalgorithms.mqhの2つのファイルをダウンロードし、コンパイルしようとしました。

いくつかの警告が表示されます:

「エラーの可能性があるので、演算子の優先順位をチェックして ください。

また、BarCheck2からBarCheck5までの手続き内でも同様の警告が表示されます。

そこで、BarCheck1からBarCheck5までのプロシージャー内のif式に多くの括弧を追加しました:

//+------------------------------------------------------------------+
//| バーが計算範囲内にあるかどうかをチェックする。
//+------------------------------------------------------------------+
bool CMovSeriesTools::BarCheck1(int begin,int bar,bool Set)
// BarCheck1(begin, bar, Set)
  {
//----
   //if(!Set && bar<begin || Set && bar>begin) return(true);
   // ボブキャット
   if(((!Set) && (bar<begin)) || (Set && (bar>begin))) return(true);
//----
   return(false);
  }
//+------------------------------------------------------------------+
//| 計算開始のバーをチェックする。
//+------------------------------------------------------------------+
bool CMovSeriesTools::BarCheck2(int begin,int bar,bool Set,int Length)
// BarCheck2(begin, bar, Set, Length)
  {
//----
   //if(!Set && bar==begin+Length-1 || Set && bar==begin-Length+1)
   // ボブキャット
   if(((!Set) && (bar==(begin+Length-1))) || (Set && (bar==(begin-Length+1))))
      return(true);
//----
   return(false);
  }
//+------------------------------------------------------------------+
//| スムージングのためにバーがないかチェックする
//+------------------------------------------------------------------+
bool CMovSeriesTools::BarCheck3(int begin,int bar,bool Set,int Length)

// BarCheck3(begin, bar, Set, Length)
  {
//----
   //if(!Set && bar<begin+Length-1 || Set && bar>begin-Length+1)
   // ボブキャット
   if(((!Set) && (bar<(begin+Length-1))) || (Set && (bar>(begin-Length+1))))
      return(true);
//----
   return(false);
  }
//+------------------------------------------------------------------+
//| データを保存した瞬間のバーをチェックする。
//+------------------------------------------------------------------+
bool CMovSeriesTools::BarCheck4(int rates_total,int bar,bool Set)
// BarCheck4(rates_total, bar, Set)
  {
//----
//---- 変数の値を保存する
   //if(!Set && bar==rates_total-2 || Set && bar==1) return(true);
   // ボブキャット
   if(((!Set) && (bar==(rates_total-2))) || (Set && (bar==1))) return(true);
//----
   return(false);
  }
//+------------------------------------------------------------------+
//| データを復元した瞬間のバーをチェックする。
//+------------------------------------------------------------------+
bool CMovSeriesTools::BarCheck5(int rates_total,int bar,bool Set)
// BarCheck5(rates_total, begin, bar, set)
  {
//----
//---- 変数の値を復元する
   //if(!Set && bar==rates_total-1 || Set && bar==0) return(true);
   // ボブキャット
   if(((!Set) && (bar==(rates_total-1))) || (Set && (bar==0))) return(true);
//----
   return(false);
  }

これは正しいですか?私はそう願っています。

プロシージャbPriceSeriesの742行目で別の警告が発生した:

「静的に割り当てられた配列には使用できません。

ArraySetAsSeries(series,true);」という記述を削除しました。シリーズの配列サイズは1つだけなので、これは必要ないと思います。

これは正しいのでしょうか?

ボブキャット

 

このインジケーターを使ってどのように取引するのか、私にはよくわからない、というかまったくわからない。インジケーターなのでしょうか?説明の2行目には「スクリプトのより安定した信頼できる結果を達成することができた」と あります。でも、それでいいのだ。この Schaff Trend Cycleはどのように 役立つのでしょうか?

 

こんにちは、

インジケーターをコンパイルすると、このようなエラーが表示されます:

MODE_EMA' - enum schafftrendcycle.mq5 92 32 を変換できません。

と表示されます。