新浪博客

MT4中QQE指标的注释和理解

2010-10-28 01:08阅读:
网络上关于QQE指标的说明和解释不多,现将自己的理解整理出来.并将其改写成TB的语言.

Qualitative Quantitative Estimation

这个指标是根据平滑RSI(Releative Strength Indicator相对强弱指数)指标计算出来的,关于RSI指标请参考后面的资料。指标在单独窗口显示。

首先 QQE 是个震荡指标 仿佛是个KDJ 又好像MACD, QQE的优点在于它可以屏蔽KDJ的钝化,MACD的慢速.需要掌握的是双线交叉向上或向下,还有交叉后的下降上升的角度!此角度越大趋势越明显~。如果两线都平行证明为盘整市)
当快线在参考线之下上穿慢线时建多仓,当快线在参考线之上下穿慢线时建空仓。如果参考支撑/阻力位、轴点等其它指标设定止损位,这就是一套比较完整的交易系统。
指标有几个参数可以设定
SF(平滑系数)=5(建议不要更动)
RSI_Period(相对强弱指数的周期) = 14;
DARFACTOR(DAR因子) = 4.236;
//+------------------------------------------------------------------+
//| Qualitative Quantitative Estimation Indicator for Metatrader 4 |
//|
br> Copyright ?2006Roman Ignatov |
//| mailto:roman.ignatov@gmail.com |
//+------------------------------------------------------------------+
#property copyright 'Copyright ?200 Roman Ignatov'
#property link 'mailto:roman.ignatov@gmail.com'
#property indicator_separate_window //指标画在付图上
#property indicator_buffers 2 //设定后面要计算的2个曲线,每个线用一个数组表示
#property indicator_color1 Red //第一条线的颜色为红色
#property indicator_style1 STYLE_SOLID //线为实体的
#property indicator_width1 2 //宽度为2
#property indicator_color2 Yellow //第二条技术指标线为黄色
#property indicator_style2 STYLE_DOT //线为虚线

//Smooth Factor,平滑因子
extern int SF = 5; // original 5
//相对强弱指数,周期
extern int RSI_Period = 14; // original 14
//DAR factor DAR 因子
extern double DARFACTOR = 4.236; //original 4.236 //通过修改这个参数可以更早的进场(为什么?)
int Wilders_Period; //wilders 周期, Wilders是发明RSI的人. QQE指标其实就是RSI指标的组合计算和优化
int StartBar; //起始的K线

//定义后面计算或指标的数组
double TrLevelSlow[]; //True range level,真实波动水平
double AtrRsi[]; //相对强弱指数的平均真实波动幅度
double MaAtrRsi[]; //相对强弱指数的平均真实波动幅度的移动平均
double Rsi[]; //相对强弱指数
double RsiMa[]; //相对强弱指数的移动平均
int init() //初始化变量和参数,初始化函数,指标加载的时候计算一次
{
Wilders_Period = RSI_Period * 2 - 1; //Wilders周期
if (Wilders_Period < SF) //保证计算开始的Bar的点有效
StartBar = SF;
else
StartBar = Wilders_Period;

IndicatorBuffers(6);//指定计算需要的数组数量
SetIndexBuffer(0, RsiMa); //指定第一个数组对应的名字叫RsiMa
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);//设定指标线的样式,画线,实线,宽度为2
SetIndexLabel(0, 'Value 1'); //设定指标线的名称为'value 1'
SetIndexDrawBegin(0, StartBar); //设置画线的起始点
SetIndexStyle(1, DRAW_LINE, STYLE_DOT); //设定指标线1的样式,为画虚线,默认宽度为一
SetIndexBuffer(1, TrLevelSlow); //指标线对应的数组
SetIndexLabel(1, 'Value 2'); //设定指标线的名称为'value 2'
SetIndexDrawBegin(1, StartBar); //设定画指标线的起始的位置
SetIndexBuffer(2, AtrRsi); //设定第2个指标线对应的数组
SetIndexBuffer(3, MaAtrRsi); //设定第3个指标线对应的数组
SetIndexBuffer(4, Rsi); //设定第4个指标线对应的数组
IndicatorShortName(StringConcatenate('QQE(', SF, ')'));//指标的简称
return(0);
}
int start()
{
int counted, i;
double rsi0, rsi1, dar, tr, dv;

if(Bars <= StartBar) //Bars是当前的Bar数量,序号为从右向左0.....N
return (0);
counted = IndicatorCounted(); //返回缓存的数量,也就是已经计算了多少的Bar了
if(counted < 1) //如果还没有计算过,所有的数组初始值附值为0
for(i = Bars - StartBar; i < Bars; i++)
{
TrLevelSlow[i] = 0.0;
AtrRsi[i] = 0.0;
MaAtrRsi[i] = 0.0;
Rsi[i] = 0.0;
RsiMa[i] = 0.0;
}

//计算出需要计算的Bar的数字
counted = Bars - counted - 1;

//在刚开始还未计算出任何bar的情况下,计算出从左边第一个bar一直到右边第零个bar的值.在已经计算出n个值的情况下,就不在计算了.也就是只计算出新出现Bar位置的参数值
for (i = counted; i >= 0; i--)
Rsi[i] = iRSI(NULL, 0, RSI_Period, PRICE_CLOSE, i); //求RSI的值
for (i = counted; i >= 0; i--)
{
RsiMa[i] = iMAOnArray(Rsi, 0, SF, 0, MODE_EMA, i); //计算RSI的移动平均值
AtrRsi[i] = MathAbs(RsiMa[i + 1] - RsiMa[i]); //计算出RSI移动平均值的波动幅度
}
for (i = counted; i >= 0; i--)
MaAtrRsi[i] = iMAOnArray(AtrRsi, 0, Wilders_Period, 0, MODE_EMA, i); //在Wilders_Period周期内计算波动幅度的移动平均值

//计算真实波动水平 TrLevelSlow
//先分析Counted = Bars情况下,其他的依次循环
i = counted + 1;
tr = TrLevelSlow[i]; //先把当前位置的真实波动水平记录到tr中
rsi1 = iMAOnArray(Rsi, 0, SF, 0, MODE_EMA, i); //记录当前的Rsi相对强弱指数到rsi1中去
while (i > 0)
{
i--;
rsi0 = iMAOnArray(Rsi, 0, SF, 0, MODE_EMA, i); //依次计算次第个序列位置上的ris值
dar = iMAOnArray(MaAtrRsi, 0, Wilders_Period, 0, MODE_EMA, i) * DARFACTOR; //计算次第位置上的dar值,也就是平滑过的AtrRsi的值.
dv = tr;
if (rsi0 < tr) //如果次第位置上的rsi0值小于上一个位置的真实波动水平
{
tr = rsi0 + dar;
if (rsi1 < dv)
if (tr > dv)
tr = dv;
}
else if (rsi0 > tr)
{
tr = rsi0 - dar;
if (rsi1 > dv)
if (tr < dv)
tr = dv;
}
TrLevelSlow[i] = tr;
rsi1 = rsi0;
}

return(0);
}
该指标有两条线,一条为RSI的移动平均线周期比较短,另外一条为MaAtrRsi求移动平均,周期为Wilders_Period,为慢线. 第一条线,反映的是价格运行的相对强弱的指数平均,就是RSI的均线.另外的一条反映的是RSI的振幅的变化情况. 第一条向上反映的是价格走高,向下的话,反映的是价格走低,对整个的K线起到了平滑作用.第二条线反映了RSI的变化情况,对于其蕴涵的意义还需要进一步的了解.

注释:

相对强弱指数指标 (RSI)

相对强弱指数技术指标(RSI)是追寻震荡指标的价格,该震荡指标的取值范围在0-100之间。当WILDER在引进这个指数时,他建议使用一个14天的RSI指标。自他提出这个建议以后,人们使用9天和25天的RSI指标也非常的普遍了。
分析RSI指标最为普遍的方法是:我们要寻找这样一个分离的情况,在那点上,证券的价格是创新高的,但RSI指标并未能超过它以前的那个高度。这样的分离暗示着一个迫近的相反趋势。当RSI指标那时开始反转,并且下降到它最近的那个低谷,人们称之为“失败摇摆”,“失败摇摆”被看作为是即将到来的一个相反趋势的确认。
使用RSI指标来做图表分析的方法:
  • 顶部和底部
    RSI指标通常上升到70以上或者是下降到30以下。在构成价格图表之前,该指标一般形成这样的顶部和底部趋势;
  • 图表的形成
    RSI指标一般会形成象头,肩膀和三角形这样的图表图案,这些图形可能在价格图表上是看不到了;
  • 失败摇摆 (支持或抗拒;渗透或爆发)
    在这个时候,RSI指标一般会超过上一个高点(波峰)或下降到下一个低点(低谷);
  • 支持或抗拒水平
    RSI指标在表现支持或抗拒水平的时候比价格本身更为的清楚.
  • 分离
    就上述讨论的一样,当价格水平创出新高(低),但这种新高(低)的趋势并没有被RSI指标所确认的时候,分离的情况就发生了。价格通常会修正并且沿着RSI指标的方向进行移动.


MT4中QQE指标的注释和理解

计算方法:


RSI = 100-(100/(1+U/D))

注释:
U — 价格变化正值的平均数
D — 价格变化负值的平均数

我的更多文章

下载客户端阅读体验更佳

APP专享