金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4342|回复: 6

自己写EMA函数怎么弄呢

[复制链接]

20

主题

67

帖子

67

积分

等级: 免费版

注册:
2021-12-28
曾用名:
发表于 2022-8-15 19:24 | 显示全部楼层 |阅读模式
这里面是递归的,我应该咋写,
ABS(CMO(i)) ― 当前Chande Momentum 振荡器绝对值;
VIDYA(i-1) ― 上一个VIDYA值。
VIDYA(i) = Price(i) * F * ABS(CMO(i)) + VIDYA(i-1) * (1 - F* ABS(CMO(i)))


VIDYA 由 Tushar Chande 创立,并于 1992 年 3 月在《股票与商品技术分析》(Technical Analysis of Stocks & Commodities) 杂志中提出。在第一个版本中,标准差被用作波动率指数。1995 年 10 月,Chande 对 VIDYA 进行了修改,使用新的钱德动量摆动指标 (CMO)作为波动率指数。


补充内容 (2022-8-16 00:46):

n:20 ;m:60
UP:=if(C>ref(c,1),(C-ref(c,1)),0);
DN:=if(C<ref(c,1),ABS(C-ref(c,1)),0);
Su:=SUM(UP,n);
Sd:=SUM(DN,n);
CMO:=(Su-Sd)/(Su+Sd)*100;
F:=2/(M+1);
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-16 08:56 | 显示全部楼层
本帖最后由 技术009 于 2022-8-16 08:58 编辑

[PEL] 复制代码
n:20;
m:60;
UP:=if(C>ref(c,1),(C-ref(c,1)),0);
DN:=if(C<ref(c,1),ABS(C-ref(c,1)),0);
Su:=SUM(UP,n);
Sd:=SUM(DN,n);
CMO:(Su-Sd)/(Su+Sd)*100;
F:=2/(M+1);

VARIABLE:VIDYA:=0;

if BARPOS<20 then VIDYA:=0;
if BARPOS>=20 then 
begin
VIDYA:=c*f*abs(cmo)+VIDYA*(1-f*abs(cmo))        ; 
end 

show:VIDYA;


用全局变量处理,另外初始状态 你这里没提供,纯代码逻辑初始位置得值是不太对劲得。 截图202208160857404911.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

67

帖子

67

积分

等级: 免费版

注册:
2021-12-28
曾用名:
 楼主| 发表于 2022-8-16 09:00 | 显示全部楼层
技术009 发表于 2022-8-16 08:56
[mw_shl_code=pel,true]n:20;
m:60;
UP:=if(C>ref(c,1),(C-ref(c,1)),0);

初始状态是什么意思?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-16 09:02 | 显示全部楼层
你逻辑里用到了上一个K时候得值,那如果当前是第一个有效值呢?
你后续自行调整吧。反正方法已经给出来了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

67

帖子

67

积分

等级: 免费版

注册:
2021-12-28
曾用名:
 楼主| 发表于 2022-8-16 09:09 | 显示全部楼层
技术009 发表于 2022-8-16 09:02
你逻辑里用到了上一个K时候得值,那如果当前是第一个有效值呢?
你后续自行调整吧。反正方法已经给出来了 ...

确实出现了那种明显的大幅震荡,但是我不李姐是为什么会出现?怎么解决呢?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-16 09:23 | 显示全部楼层
最开始几个有效值 的大波动 是因为 在最开始位置 VIDYA(i-1) 会是一个无效值(代码里以0替代了)导致得。

后面的波动 纯粹就是算法执行的结果,看上去异常实际就是符合计算的逻辑。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

67

帖子

67

积分

等级: 免费版

注册:
2021-12-28
曾用名:
 楼主| 发表于 2022-8-16 09:26 | 显示全部楼层
技术009 发表于 2022-8-16 09:23
最开始几个有效值 的大波动 是因为 在最开始位置 VIDYA(i-1) 会是一个无效值(代码里以0替代了)导致得。
...

了解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-7 05:12 , Processed in 0.153253 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表