指标: Schaff 趋势周期

 

Schaff 趋势周期:

Schaff 趋势周期指标是一个周期振荡器, 以计算周期性随机振荡指标和 MACD 线创建。其结果是,开发者设法实现的指标脚本,操作更稳定,结果更可靠。

Schaff 趋势周期

作者: Nikolay Kositsin

 

非常有趣的指标,它及其修改版(双沙夫趋势周期)在我的决策系统中作为补充指标使用了半年之久。它只能用于 H4 及以上级别。

 
rsni:

非常有趣的指标,它及其修改版(双沙夫趋势周期)在我的决策系统中作为补充指标使用了半年之久。它只能用于 H4 及以上级别。

半年后发生了什么?
 

这是一个非常棒的指标--请看下图:如果我们使用该指标进行交易,那么仅一对货币对我们就可以在一天内获得 135 点(4 位数点)!

MetaTrader 交易平台截图

EURUSD, M15, 2013.07.30

MetaQuotes 软件公司, MetaTrader 5, 演示版

135 点

EURUSD, M15, 2013.07.30, MetaQuotes Software Corp., MetaTrader 5, 演示版


 

有很多交易系统都基于这一指标。这就是其中之一:

沙夫趋势周期与 EMA 100

1.时间框架:15 分钟及以上

2.交易对 任意

3.指标

  • 沙夫趋势周期
  • Ema 100
  • Stochastich (21, 9,9)

进入多头交易的规则

  1. 100 指数移动平均线向上倾斜。
  2. 等待 Schaff Trend Cycle 达到图表上的超卖区域(-10 +10),当 Schaff Trend Cycle 回到 10 以上,且 Stocastich 十字线向上时做多。
  3. 在最新支撑位下方 10 个点设置止损。
  4. 获利: 如果沙夫趋势周期指标低于 90,则平仓。

进入空头交易的规则

  1. 100 指数移动均线向下倾斜
  2. 等待沙夫趋势周期达到图表上的超买区域(90-110),当沙夫趋势周期转回 90 以下,且斯托卡斯蒂奇交叉线向下时做空。
  3. 止损点设在最近阻力位上方 3 点。
  4. 止盈:如果沙夫趋势周期指标下行至 -10,然后回升至 +10 以上,则平仓。

模板附后。如果您安装指标并使用该模板,您将获得类似的图表:

MetaTrader 交易平台屏幕截图

美元兑日元, H1, 2013.07.30

MetaQuotes 软件公司, MetaTrader 5, 演示版

Schaff EMA 100

USDJPY, H1, 2013.07.30, MetaQuotes Software Corp., MetaTrader 5, 演示版


该系统确实非常有利可图--请看另一张 D1 时间框架的图表:+439 点(4 位数点):

MetaTrader 交易平台截图

USDJPY, D1, 2013.07.30

MetaQuotes 软件公司, MetaTrader 5, 演示版

盈利 439 点

USDJPY, D1, 2013.07.30, MetaQuotes Software Corp., MetaTrader 5, 演示版


附加的文件:
schaffema.tpl  15 kb
 

这是取自这里的 另一个交易系统:

沙夫趋势周期策略这是一个寻找上升的 50 SMA 和上升的沙夫趋势来建立多头头寸的策略。当 50 SMA 与 Schaff Trend 一样走低时,它将进入空头头寸

安装时,您只需要一个 Schaff Trend Cycle 指标和模板文件(附后):

  • 将 Schaff Trend Cycle 放入指标文件夹(例如 C:\Program Files\MetaTrader 5\MQL5\Indicators )、
  • 将模板文件放到 templae 文件夹(例如,放到 C:\Program Files\MetaTrader 5\Profiles\Templates 文件夹)、
  • 重新启动 Metatrader 5 或在 MetaEditor 中编译 Schaff Trend Cycle 指标、
  • 打开任何图表,点击鼠标右键并选择我们的模板名称,您就会看到这样的图表了:

MetaTrader 交易平台屏幕截图

英镑兑美元, M30, 2013.07.30

MetaQuotes 软件公司, MetaTrader 5, 演示版

Schaff simple

GBPUSD, M30, 2013.07.30, MetaQuotes Software Corp., MetaTrader 5, 演示版


MetaTrader 交易平台截图

GBPUSD, D1, 2013.07.30

MetaQuotes Software Corp., MetaTrader 5, 演示版

schaff simple d1

GBPUSD, D1, 2013.07.30, MetaQuotes Software Corp., MetaTrader 5, 演示版


请注意,本系统也使用 Schaff 趋势周期指标的超买/超卖水平。

 

这个简单的沙夫系统可能有很多变化,但大多数都与该指标的超买/超卖水平有关。那么,什么是超买/超卖水平以及如何使用它们呢?请阅读这篇小文章 :

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

关于 "超买 "和 "超卖",你需要知道什么

如果您正在烹饪某道菜,检查后发现 "煮过头了",您的第一反应是什么?没错......你会把菜从烤箱里拿出来。把它从导致其过熟的原因中取出来,而且越快越好。

如果你的汽车发动机 "过热 "了呢?同样的道理......你要做的就是让发动机冷却下来。立即停止导致发动机过热的行为。

有了这些自然反应,我们就不难理解,为什么许多新手交易者对超买或超卖交易情景的最初和几乎是立即的反应也是做相反的事情。

他们的理由是,既然许多买单(多单)使价格上涨,并将指标推向超买区域,我们就必须反其道而行之,建立空头(卖出)头寸。相反,如果许多卖单导致价格下跌,指标进入超卖区域,我们就必须开始持有多头头寸。这就好像他们期望价格在到达这些超卖区域时会像橡皮筋一样弹回来一样。

那么......砂锅菜和汽车发动机的正确反应并不一定是交易时的正确反应。

当一个指标进入超买/超卖区域时,请记住它可能会在那里停留相当长的时间。例如,RSI 或慢速随机指标显示超买,并不意味着货币对的价格走势就像被紧紧压缩的弹簧,会立即向超卖区域弹回。

下面让我们以 NZDJPY 日线图为例...


请注意,在这张图表上,当慢速随机指标首次突破 80 点进入超买区域时,价格又继续上涨了 780 多点,而随机指标却始终保持超买状态。显然,如果交易者在价格首次进入超买区域时做空,就会错过大好行情。他们的空头头寸也会在相当短的时间内被止损。

要了解慢速随机指标进入超买区域时价格回撤的情况,我们只需查看图表中标注为 "A "的区域。在这种情况下,"A "周围的烛台、十字星、陀螺、射击之星和锤子都预示着回调的可能性。

需要说明的是,两种情况都有可能发生,因此不要对指标的超买和超卖区域做出过激反应。

记住

只接受与长期趋势方向一致的指标发出的入市信号。

例如,如果趋势强劲且持续上行,那么指标处于超买区域是合理的,因为它反映了价格行动的看涨推动力。此时做空将是逆势交易,会给交易带来更大的风险。

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

这是有关超买/超卖水平的视频,请点击此处

 

如果您知道有关 Schaff Trend Cycle 指标的系统,请在此发布。

新闻到此为止

 

您好、

我下载了两个文件 schafftrendcycle.mq5 和 smootalgorithms.mqh,并尝试编译它们。

我收到了一些警告:

在第 3137 行,"检查 运算符的优先级,以防出错;使用括号明确优先级"。

以及程序 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(费率_总计,条形图,集合)
  {
//----
//---- 保存变量值
   //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(费率_总计,开始,条形图,设置)
  {
//----
//---- 恢复变量值
   //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);"。我认为这是不必要的,因为系列数组的大小只有一个。

这是否符合您的意图?

山猫

 

我不太清楚,或者说根本不清楚如何使用这个指标进行交易。它是一个指标吗?说明的第二行写道:"我设法使脚本取得更稳定、更可靠的结果"。但这也没什么。这个 Schaff Trend Cycle 有什么 用呢?

 

你好、

当我编译指标时,出现了这个错误:

MODE_EMA' - 无法转换枚举 schafftrendcycle.mq5 92 32

我该怎么办?