D:=REF(A,1) AND C=REF(C,1);{前三天下跌,今天平盘}
E:=REF(A,1) AND CF:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);
上升概率:100*COUNT(B,0)/F;
下跌概率:100*COUNT(E,0)/F;
平盘概率:100*COUNT(D,0)/F;
规律就更明显了。
不要小看这些数据。虽然没有有些“高手”做出的成功率达百分之九十左右的公式那么夸张,但很有意义的。要知道股市中的随机因素太多,平衡性很强,稍稍的统计偏向,足可作为有用的参考。
这只是简单的例子,用这两个函数,可以做出很多的有用的统计数据。
多数的交易系统的“胜率”,可以由此统计出来。
出个“难题”吧:
有个MA5金叉MA10作为买入条件,死叉为卖出条件的交易系统,试做一个副图公式,以每次买一股计算,统计出最后的交易结果(暂不考虑手续费)。买入卖出均以收盘价计算。 二、
函数: REF(X,N)
参数: X为数组,N为计算周期
返回: 返回数组
说明: 引用N周期前的X值。
示例: REF(CLOSE,1)
表示上一周期的收盘价,在日线上就是昨收
REF:REFERENCED,参考的、引用的。
N可以为变量,常用BARSLAST(X)等。 三、
函数: MA(X,N)
参数: X为数组,N为计算周期
返回: 返回数组
说明: 求X的N日移动平均值。
算法: (X1+X2+X3+...+Xn)/N
示例: MA(CLOSE,10),表示求10日均价
MA:MOVING AVERAGE,移动平均。
目前飞狐的MA(X,N)函数支持N为序列变量。
这个简单移动平均值,仅仅覆盖最近的N个周期,并且在每个周期中分配的权重是一模一样的,均为1/N。
移动平均线实质上是一种追踪趋势的工具,而且滞后于市场的变化。这些结果的原因,就是它的计算方法了。
从输出看,N所取周期越长,曲线就越平滑。
平滑和敏感是一对矛盾,请看:
A:MA(C,5);
B:MA(A,5);
D:MA(B,5);{主图叠加}
输出线越来越平滑,但敏感性越来越差。
两条简单移动平均线的交叉,何时、何地所选的参数最优,可以参考飞狐中的“探索最佳参数”功能。
线性加权移动平均值的算法函数,飞狐并未提供。
以五天的线性加权移动平均的算法为例:
五天线性加权:(C*5+REF(C,1)*4+REF(C,2)*3+REF(C,3)*2+REF(C,4)*1)/(5+4+3+2+1);
MA(C,5);{主图叠加}
由于算法的原因,线性加权移动平均线由于日子越近的权重越大,比简单移动平均线,跟随趋势要紧密一些,敏感一些。
从图上看,两者的交叉也是极为敏感的。 四、
函数: EMA(X,N)
参数: X为数组,N为计算周期
返回: 返回数组
说明: 求X的N日指数平滑移动平均。
算法: 若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期Y值。
示例: EMA(CLOSE,30)
表示求30日指数平滑均价
EMA中的E,可能是EXPONENT,指数、幂。
把算法写成这个样子:Y=2*X/(N+1)+(N-1)/(N+1)*Y',就可以看出,当前周期数组值所占的权重是2/(N+1),而上一周期Y值所占的权重是(N-1)/(N+1)。注意,这两个权重相加,结果为1:2/(N+1)+(N-1)/(N+1)=1。
由于一个很经典的指标指数平滑异同平均线MACD(1979年就发明出来了)里面,要用到EMA,才使EMA还在基本函数中占有一席之地。后面我们可以看到,用SMA也可以达到相同的算法。
N可以取到1,不过输出就没有加权的效果了。 五、
函数: SMA(X,N,M)
参数: X为数组,N为计算周期,M为权重
返回: 返回数组
说明: 求X的N日移动平均,M为权重。
算法: 若Y=SMA(X,N,M) 则 Y=[M*X+(N-M)*Y')/N, 其中Y'表示上一周期Y值,N必须大于M。
示例: SMA(CLOSE,30,1)
表示求30日移动平均价
SMA中的S,不会是SIMPLE(简单)的意思吧?由于我们习惯称MA为简单移动平均线,所以称SMA为什么就大伤脑筋。
我的理解,SMA应该称为指数加权移动平均线。不对之处请方家指出。
把算法写成这个样子:Y=M/N*X+(N-M)/N*Y',就可以看出,当前周期数组值所占的权重是M/N,而上一周期Y值所占的权重是(N-M)/N。注意,这两个权重相加,结果为1:M/N+(N-M)/N=1。