有没有Expma达人?expma和均线到底有什么区别?
有达人能指点迷津么?谢谢! 搜百度知道吧! 过年了,给你发一下,我在公式中是如何计算实现ma,ema,sma三者的,结果与软件中显示的一样,见下面: ///////////////////////////////////////////////////////////////////////////////////////////jaofunc.c:飞狐交易师"C语言接口"公用函数内容文件1->程序体部分
/////////////////////////////////////////////////////////////////////////////////////////
//========================================================================================================================
//jf_llv: 计算简单移动最小值(数组,起始,结束,周期,结果)
// Y=MIN(X,N)=MIN(X1+X2+...+Xn),N>0
int jf_llv(const float* x,int b,int e,int n,float* y)
{
for(int i=b; i<=e; i++)
{
int j=i-1; float r=x; int s=1;
while(j>=b)
{
s++;
if(s<=n){ if(x<r) r=x; } else break;
j=j-1;
}
y=r;
}
return 1;
}
//========================================================================================================================
//jf_hhv: 计算简单移动最大值(数组,起始,结束,周期,结果)
// Y=MAX(X,N)=MAX(X1+X2+...+Xn),N>0
int jf_hhv(const float* x,int b,int e,int n,float* y)
{
for(int i=b; i<=e; i++)
{
int j=i-1; float r=x; int s=1;
while(j>=b)
{
s++;
if(s<=n){ if(x>r) r=x; } else break;
j=j-1;
}
y=r;
}
return 1;
}
//========================================================================================================================
//jf_ma: 计算简单移动平均值(数组,起始,结束,周期,结果)
// Y=MA(X,N)=(X1+X2+...+Xn)/N,N>0
int jf_ma(const float* x,int b,int e,int n,float* y)
{
float r=0.00; int s=0;
for(int i=b; i<=e; i++)
{
r=r+x;
if(s<n) s++; else r=r-x;
y=r/s;
}
return 1;
}
//========================================================================================================================
//jf_sma: 计算加权移动平均值(数组,起始,结束,周期,权重,结果)
//Y=SMA(X,N,M)=(M*X+(N-M)*Y')/N, N>0,N>M,Y'=Yi-1,Y0=X
int jf_sma(const float* x,int b,int e,int n,int m,float* y)
{
y=x; int z=n-m;
for(int i=b+1; i<=e; i++)
{
y=(m*x+z*y)/n;
}
return 1;
}
//========================================================================================================================
//jf_ema: 计算平滑移动平均值(数组,起始,结束,周期,结果)
//Y=EMA(X,N)=/(N+1), N>0,Y'=Yi-1,Y0=X
int jf_ema(const float* x,int b,int e,int n,float* y)
{
y=x; int z1=n-1,z2=n+1;
for(int i=b+1; i<=e; i++)
{
y=(2*x+z1*y)/z2;
}
return 1;
}
//=======================================================================================
//jf_logic: 逻辑运算子程序
//(a & b | c) | (e & d | f),代码:"&"=2 "|"=3 "!"=4 "("=5 ")"=6
int jf_logic(ID* pId,int s)//s: 1.主逻辑调用,0/非1.非逻辑调用
{
//-------------------------------------------------------------------------------------
//处理:变量声明
ID* pIe=pId; if(((int)pIe)==0) return 0;//当前链接指针
ID* pIr; ID* pIt; //前后链接指针
int r=0; //计算结果清零
int o=0; //操作符清零
int f=0; //递归调用及返回标志清零
//-------------------------------------------------------------------------------------
//处理:逻辑与或非
pIe=pId;
while(1)//循环:处理逻辑与或,每处理一次释放当前内存
{
pIr=(ID*)pIe->pIr; pIt=(ID*)pIe->pIt;//前后链接指针
switch(pIe->iDt)//当前数据
{
case 0://"0"
case 1://"1"
{
switch(o)
{
case 0:{r=pIe->iDt; break;}//" "
case 3:{r=r & pIe->iDt; break;}//"&"
case 4:{r=r | pIe->iDt; break;}//"|"
default:{}
}
break;
}
case 2:
{
switch(o)
{
case 0:{r= !jf_logic(pIt,0); break;}//" "
case 3:{r=r & !jf_logic(pIt,0); break;}//"&"
case 4:{r=r | !jf_logic(pIt,0); break;}//"|"
default:{}
}
pIt=pIe->pIt; break;//更新向后链接
}
case 3:{o=3; break;}//"&"
case 4:{o=4; break;}//"|"
case 5://"("
{
switch(o)
{
case 0:{r= jf_logic(pIt,1); break;}//" "
case 3:{r=r & jf_logic(pIt,1); break;}//"&"
case 4:{r=r | jf_logic(pIt,1); break;}//"|"
default:{}
}
pIt=pIe->pIt; break;//更新向后链接
}
case 6:{f=1; break;}//")"
default:{}
}
if(((int)pIr)>0) pIr->pIt=pIt; //调整前链接
if(((int)pIt)>0) pIt->pIr=pIr; //调整后链接
free(pIe); //释放本链接
if((s!=1) | f) break; //调试返回处理
if(((int)pIt)>0) pIe=pIt; else break;//后有内容则向后跳转,否则结束 原帖由 股民阿甘 于 2011-2-5 20:05 发表 http://bbs.macd.cn/static/image/common/back.gif
过年了,给你发一下,我在公式中是如何计算实现ma,ema,sma三者的,结果与软件中显示的一样,见下面:
好久不见阿甘斑竹 复制多了,筛选一下,重发,下面这个是MA: //========================================================================================================================
//jf_ma: 计算简单移动平均值(数组,起始,结束,周期,结果)
// Y=MA(X,N)=(X1+X2+...+Xn)/N,N>0
int jf_ma(const float* x,int b,int e,int n,float* y)
{
float r=0.00; int s=0;
for(int i=b; i<=e; i++)
{
r=r+x;
if(s<n) s++; else r=r-x;
y=r/s;
}
return 1;
} 下面这个是EMA: //========================================================================================================================
//jf_ema: 计算平滑移动平均值(数组,起始,结束,周期,结果)
//Y=EMA(X,N)=/(N+1), N>0,Y'=Yi-1,Y0=X
int jf_ema(const float* x,int b,int e,int n,float* y)
{
y=x; int z1=n-1,z2=n+1;
for(int i=b+1; i<=e; i++)
{
y=(2*x+z1*y)/z2;
}
return 1;
} 已经很清楚了吧,呵呵,别跟我说看不懂啊,这已经是最简单的表达了。 原帖由 ID被锁 于 2011-2-5 20:06 发表 http://bbs.macd.cn/static/image/common/back.gif
好久不见阿甘斑竹
你好,前两年出国了,现在有时间在研究交易系统。 什么系统交易?让兄弟们也学习学习 交易系统简单说列一表,说明一下吧,可能对指路有作用,看下面:不清楚的可以问我,现在。 我的系统代码说明:第一级代码
//--------------------
// *.交易系统代码 | *.
//----------------+---
// J.核心公式系统 | A.
// Q.执行公式系统 | B.
// M.资金评测系统 | C.
// R.雷达监控系统 | D.
// A.自动交易系统 | E. 二三级代码:
-------------------------------------------------------
| *.交易系统类别 | *.交易系统波长 |
+--------------------------------+--------------------+
| A.抄底交易系统-+ -+无-+ | O.趋势交易系统-+ |
| B.过度交易系统-|-+ |触 | | P.波段交易系统 |-+ |
| C.追涨交易系统-|-|-+-+发 |无 | Q.震荡交易系统-+ | |
| D.选底交易系统-+ | |-+-+ |管 | R.复合交易系统-+ | |
| E.选择交易系统---+-+ | | |理 | | | |
| F.全时交易系统#+-----+ |有 | | | | |
| G.选涨交易系统*+---+ | |触-+ | | | |
| H.分级交易系统-+ |-+ |发-+有 |-+--------------|-+ |
| I.日内交易系统-+ | | |管 |-+ | |
| J.分仓交易系统---+-+-+ |理 |-+--------------+ |
| K.分步交易系统---+ -+ |-+ |
| . | |
| . | |
| . | | 四五级代码:
-----------------------------------------------------
| *.交易系统方向 | *.交易系统版本
-+----------------+---------------------------------------------------------
| 1.多头单向系统 | 1.K 线形态交易系统:不使用任何指标
| 2.空头单向系统 | 2.KDJ 指标交易系统:
| 3.多头双向系统 | 3.MACD指标交易系统:
| 4.空头双向系统 | 4.VOL 指标交易系统:
| 5.多空双向系统 | 5.综合指标交易系统:综合使用三种指标
| | 6.综合指标交易系统(熊市特别版):
| | 7.神经网络交易系统:使用人工智能及模糊识别
| | 8.微观识别交易系统:完善大型数据库存储过程
| | 9.混沌理论交易系统:探索中...
| | A.易经六爻交易系统:四柱干支世应用神进退体系
| | B.奇门遁甲交易系统:奇门置润符使八罡克应体系
| | C.太乙神术交易系统:探索中...
| | D.成本分析交易系统:探索中...
| | E.财务分析交易系统:探索中...
| | F.综合分析交易系统:探索中... 在我这里是整齐的表格,发出来就乱了,没办法,其中各项间含有充分且必要的逻辑关系在内代表着交易设计的思路。 工作量太大,现在业余时间都用在设计试验交易系统上了,呵呵,学无止境啊。 阿甘,这个系统看上去有点复杂啊,赚钱么?用起来简单么? 每一个都是正反馈系统,五个代码各选一个,组合起来,都是一个交易系统,但一些较基础的系统在大盘避免不了大盘回调时的资金回撤问题。
页:
[1]
2