dif连续n日大于0

dif连续n日大于0,第1张

 DIFF线 (Difference)收盘价短期、长期指数平滑移动平均线间的差,也就是(12个交易日的指数平滑移动平均线)减去(26个交易日的指数平滑移动平均线),例如从2009年1月5日--2009年1月20日(扣除4个周末,共计12个交易日),用这12个交易日的收盘价算出一个滑动平均值,就是12个交易日的指数平滑移动平均线。(算法在下边,至于计算公式产生的原因就不要研究了,总之专家)

DEA线 (Difference Exponential Average)DIFF线的M日指数平滑移动平均线 ,DIFF本身就是12日平均减去26日平均所得的“值差”,而DEA则是这个连续9日的这个“差值”的平均数(就是简单的算数平均数),

MACD线 DIFF线与DEA线的差,彩色柱状线。

参数:SHORT(短期)、LONG(长期)、M 天数,一般为12、26、9

DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:EMA(DIF,MID);

默认参数SHORT=12,LONG=26,MID=9,然后close就是当天收盘价;

EMA(X,N)求X的N日指数平滑移动平均。算法是:

若Y=EMA(X,N),则Y=〔2X+(N-1)Y’〕/(N+1),其中Y’表示上一周期的Y值。 KDJ中K、D、J的计算方法:

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))100;

K:SMA(RSV,M1,1);

D:SMA(K,M2,1);

J:3K-2D;

默认参数:N=9,M1=3,M2=3

LLV(LOW,N),就是N天内最低价的最低价,

HHV(HIGH,N)就是N天内最高价的最高价。至于SMA的计算方法也有点复杂,看你需要不。。 每天的的值只要代入相应的收盘价,最稿价最低价就可以计算出来了。

恩,还有,在编程界有一个说法就是,编写函数的未必知道函数有什么用途,精通函数用途的未必会编写这一个函数。所以如果要精通这两个指标的,我们未必可以知道这两个指标的作者为什么这样写……理解起来的确很复杂。说起来更复杂,不知道小霞施主明白了没有。。。

f1=50; %10Hz

f2=100; %100Hz

%抽频率

Fs=1000; %100Hz

%抽点数N

L=10;

N=2^L;

%抽脉冲序列

n = 0:N-1;

t = n/Fs;

% f2 周期采数

M = floor(Fs/f2);

%采信号

x = cos(2pif1t)+sin(2pif2t);

%采序列

subplot(311);

stem(t(1:2M),x(1:2M));

hold off;

%傅叶变换

%根据限序列离散傅叶变换公式计算DFT

n = 0:N-1;

k = 0:N-1;

F = x exp(-j2pi/N)^(n'k);

subplot(312);

plot(n,abs(F));

subplot(313);

plot(k,angle(F));

close all %关闭开着的文件或程序

clear %清除所有变量

clc %清除commond命令窗口的内容

IN=1:61; %给IN赋值,[1 2 3 4 5 6 … 59 60 61]

sr=zeros(1,61); % sr是1×61的零矩阵,[0 0 0 0 0 … 0]

OUT=sr; % 把矩阵sr赋值给OUT

[X,minx,maxx,T,mint,maxt]=premnmx(IN,OUT); % 对输入和输出函数进行归一化处理,其中:IN为输入数据,OUT为输出数据,X为输入数据转换成的标准数据,minx为输入的最小数据,maxx为输入的最大数据,T为输出数据转换成的标准数据,mint为输出的最小值,maxt为输出的最大值。

q=50; q1=0; q0=70; %赋值

while(q1<q) %当q1<q时,

q=q0; %q=q0

[M,N]=size(X); % M为X的行数;N为X的列数

[L,N]=size(T); %L为T的行数;N为T的列数

net=newff(minmax(X),[q,L],{'tansig','purelin'},'trainlm'); %建立前馈型网络。其中minmax(X)为输入向量X的最小值和最大值;q为隐含层单元数;L为隐含层层数;tansig 隐含层转移函数;purelin 输出层转移函数;trainlm网络的训练函数

nettrainParamlr=001; %网络学习速率

nettrainParamepochs=2000; %学习步骤

nettrainParamgoal=1e-5; %学习目标

[net,tr]=train(net,X,T); %对建立好的网络进行训练

Y=sim(net,X); %对输入量X进行仿真,Y为仿真结果

Y=postmnmx(Y,mint,maxt); %对仿真结果进行反归一化

%灰色关联分析,调整网络隐层节点

p=03;

e=03;

an=repmat(netb{1},1,N); %将矩阵netb{1}复制1×N块,即an由1×N块netb{1}平铺而成

op=tansig(netiw{1,1}X+an); %

op1=op'; % op1为op的转置

T0=T'; % T0为T的转置

T1=repmat(T0,1,q); %将矩阵T0复制1×q块,即T1由1×q块T0平铺而成

DIF=abs(T1-op1); % T1-op1的绝对值

MIN=min(min(DIF)); %min(DIF),DIF 的最小值

MAX=max(max(DIF)); %max(DIF),DIF 的最大值

Si=(MIN+pMAX)/(DIF+pMAX); %计算得到Si

ri=sum(Si)/N;% 求Si的平均值;sum(Si)是对Si进行求和

D=find(ri>=e); %找出数组ri中的所有大于e的元素的位置,并且在向量D中返回非零元素的线性索引。

[q0,q1]=size(D); % q0为D的行数,q1为D的列数

q0=q1; %将q1的值赋给q0

end

q0;

ri;

D;

q=q1; %将q的值赋给q1

1、这是三层网络 2、隐含层由70 个神经元组成 3、输入神经元个数61 输出神经元个数61

这是我自己的理解,因为不知道干什么用所以不知道具体的是什么意思,只能单句理解没法整体掌握,就先分析到这里吧,不知道对错,希望对你有帮助~

/

原式数据:

2841  2331  2037  1804  2523  1052  1845  3623  3564  1064

极差数据:

510  294  233  -719  1471  -793  -1778  059  2500

低于UCL:1052  1064

高于UCL:3623  3564

低于LCLR:-719  -793  -1778

高于UCLR:1471  2500

Press any key to continue

/

#include <stdioh>

#include <mathh>

#include <timeh>

#include <stdlibh>

#define N 10

void Show(double a[], int n) {

int i;

for(i = 0; i < n; ++i)

printf("%2lf  ",a[i]);

printf("\n");

}

int main() {

int i;

double a[N],dif[N] = {00},avrdif = 00;

double avr = 00,UCL,LCL,UCLR,LCLR = 00;

srand(time(NULL));

for(i = 0; i < N; ++i) {

a[i] = (rand()%5000 + 1)/1000;

avr += a[i]/N; // 平均值

}

for(i = 0; i < N - 1; ++i) {

dif[i] = a[i] - a[i + 1]; // 极差

avrdif += dif[i]/(N - 1); // 平均极差

}

UCL = avr + 3  avrdif;

LCL = avr - 3  avrdif;

UCLR = 3267  avrdif;

printf("原式数据:\n");

Show(a,N);

printf("极差数据:\n");

Show(dif,N - 1);

printf("低于UCL:");

for(i = 0; i < N; ++i)

if(a[i] < LCL) printf("%2lf  ",a[i]);

printf("\n");

printf("高于UCL:");

for(i = 0; i < N; ++i)

if(a[i] > UCL) printf("%2lf  ",a[i]);

printf("\n");

printf("低于LCLR:");

for(i = 0; i < N - 1; ++i)

if(dif[i] < LCLR) printf("%2lf  ",dif[i]);

printf("\n");

printf("高于UCLR:");

for(i = 0; i < N - 1; ++i)

if(dif[i] > UCLR) printf("%2lf  ",dif[i]);

printf("\n");

return 0;

}

以上就是关于dif连续n日大于0全部的内容,包括:dif连续n日大于0、如何编写在0轴上DIFF金叉DEA后,今日MACD的指数小于昨日指数,但今日收盘价大于昨日收盘价、MACD、DIF、DEA、WMS%R、KDJ指标的详细解释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10117601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存