欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 类EMA算法实现问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4978人关注过本帖树形打印复制链接

主题:类EMA算法实现问题

帅哥哟,离线,有人找我吗?
luoxlt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:76 积分:0 威望:0 精华:0 注册:2017/3/24 10:01:13
类EMA算法实现问题  发帖心情 Post By:2019/4/17 11:34:41    Post IP:180.169.30.6[只看该作者]

AA:=CONSTANT*CLOSE +(1-CONSTANT)*昨天的AA;

请问这个该怎么表达?其中CONSTANT是一个平滑系数;如果要一个初始值的话。那就从第20根k线开始,初始值等于第二十根k线的CLOSE;

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/17 13:28:55    Post IP:180.169.30.6[只看该作者]

 你是要处理这个初始值AA没有定义的问题是吧、
[此贴子已经被作者于2019/4/17 13:29:58编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
luoxlt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:76 积分:0 威望:0 精华:0 注册:2017/3/24 10:01:13
  发帖心情 Post By:2019/4/17 15:11:10    Post IP:120.239.40.152[只看该作者]

嗯,这里应该要用上循环语句吧?想要得到整个结果。也就是当前的AA。不好意思,刚刚才看到。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/17 15:51:34    Post IP:180.169.30.6[只看该作者]

 VARIABLE:A:=0;
CONSTANT:=2;//这个变量自行定义

if BARPOS=1 then A:=c;//初始值
A:=if(BARPOS>1,CONSTANT*CLOSE +(1-CONSTANT)*REF(A,1),A);//这里是处理 第一个K的初始化以及后续值计算的逻辑

a_show:a,NODRAW;//最后结果输出

不需要循环,需要用到全局变量就行了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
luoxlt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:76 积分:0 威望:0 精华:0 注册:2017/3/24 10:01:13
  发帖心情 Post By:2019/4/17 15:54:14    Post IP:120.239.40.152[只看该作者]

好的,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/17 15:57:43    Post IP:180.169.30.6[只看该作者]

 这里的初始值是从第一个K开始,你如果要调整就修改这里的代码。
if BARPOS=1 then A:=c;//初始值


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
luoxlt
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:76 积分:0 威望:0 精华:0 注册:2017/3/24 10:01:13
  发帖心情 Post By:2019/4/17 16:28:19    Post IP:120.239.40.152[只看该作者]

找到一个连接。实际上就是想实现这里面的这条均线。

为了方便翻译,我把前面部分代码写了一下。
input:p(16,2,1000,2);
n1:=(ref(hhv(h,p/2),p/2)-ref(llv(l,p/2),p/2))/(p/2);
n2:=(hhv(h,p/2)-llv(l,p/2))/(p/2);
n3:=(hhv(h,p)-llv(l,p))/p;
D:=(Log(n1+n2)-Log(n3))/Log(2);
α:=EXP(-4.6*(D-1));
//FRAMA=α*Price +(1-α)*昨天的FRAMA

就是最后这句,我参考考夫曼的写法。能拼凑出类似的均线。整体效果如下。但是毕竟不是这样的写法。
input:p(16,2,1000,2);
n1:=(ref(hhv(h,p/2),p/2)-ref(llv(l,p/2),p/2))/(p/2);
n2:=(hhv(h,p/2)-llv(l,p/2))/(p/2);
n3:=(hhv(h,p)-llv(l,p))/p;
D:=(Log(n1+n2)-Log(n3))/Log(2);
α:=EXP(-4.6*(D-1));
//FRAMA=α*Price +(1-α)*昨天的FRAMA
CC:=CLOSE;
IF DATACOUNT > p THEN
DD[p]:=CC[(p + 1)];
FOR I=p + 1 to DATACOUNT DO
DD[I]:=(DD[(I - 1)] + (α[I] * (CC[I] - DD[(I - 1)])));
FRAMA:(DD),LINETHICK2;


为了方便理解,再附另外一个连接和代码。最后的这个连接和代码。我也不会这里面的语言。但是整体上大概能理解这上面的意思。

N1(i) = N(Length,i)
N2(i) = N(Length,i + Length)
N3(i) = N(2 * Length,i)
D = (LOG(N1 + N2) - LOG(N3))/LOG(2)
A(i) = EXP(-4.6 * (D(i) - 1))
FRAMA(i) = A(i) * Price(i) + (1 - A(i)) * FRAMA(i-1)


麻烦你了,非常感谢。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/17 16:45:37    Post IP:180.169.30.6[只看该作者]

 你这个完整实现比较麻烦,最好自己先尝试处理下,具体卡在某个环节的时候可以帮忙处理下,但是完整的不能保证我们技术能有整块时间处理哦。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
luoxlt
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:76 积分:0 威望:0 精华:0 注册:2017/3/24 10:01:13
  发帖心情 Post By:2019/4/17 16:49:40    Post IP:120.239.40.152[只看该作者]

就剩最后这句的实现。
input:p(16,2,1000,2);
n1:=(ref(hhv(h,p/2),p/2)-ref(llv(l,p/2),p/2))/(p/2);
n2:=(hhv(h,p/2)-llv(l,p/2))/(p/2);
n3:=(hhv(h,p)-llv(l,p))/p;
D:=(Log(n1+n2)-Log(n3))/Log(2);
α:=EXP(-4.6*(D-1));
FRAMA=α*Price +(1-α)*昨天的FRAMA//最后这句

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/17 17:17:54    Post IP:180.169.30.6[只看该作者]

 FRAMA 初始值怎么定义呢?只要有初始值就好办啊。


命数如织,当如磐石。
 回到顶部
总数 17 1 2 下一页