以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  输出无效值及错误数据  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=162242)

--  作者:asen8899
--  发布时间:2018/3/22 11:27:23
--  输出无效值及错误数据
以下代码,输出记录不正常,与当前行情明显不一致(恒指03)。请版主指正

MI13_3:STKINDI(\'\',\'em_ht.m30\',0,13,-1);   //4小时EMA(DYNAINFO(7),30)
MI13:STKINDI(\'\',\'em_ht.m30\',0,5,-1);   //1H小时EMA(DYNAINFO(7),30)

DEBUGFILE:
2018-03-22 11:22:59.013    DYNAINFO(7)的值=31181.00
2018-03-22 11:22:59.013    MI13_3值=-1.#R
2018-03-22 11:22:59.013    MI13值=31181.00

--  作者:gxx978
--  发布时间:2018/3/22 13:01:57
--  

1、你是用的dynainfo(7)来计算的EMA均值?这类动态行情行数只有最新值,无历史值,计算均值也没有意义啊。

2、输出无效值,检查下5分钟数据是否补充完整,足够用于计算。


--  作者:asen8899
--  发布时间:2018/3/22 13:24:50
--  
改为CLOSE,也补充了5分钟数据,能正常显示数值,但是值不正确。比如恒指03,4小时23周均线是31480,而跨周期取值却是31241,相差太大。

MI13:STKINDI(\'\',\'em_ht.m23\',0,13,-1);   //4小时EMA(CLOSE(7),23)

2018-03-22 13:23:10.029    DYNAINFO(7)的值=31262.00
2018-03-22 13:23:10.029    MI13值=31241.02

--  作者:banzhuan
--  发布时间:2018/3/22 13:45:12
--  
您EMA是求的多少数量的close ? 
--  作者:wenarm
--  发布时间:2018/3/22 13:54:27
--  

你引用的公式中的变量是ema函数进行计算的?贴出你引用的公式代码。

ema是递归算法计算的,对数据量的敏感度较高。,引用过程使用的k数据量,和你在k线图上打开该周期查看时,计算使用的数量存在一定差异,造成其结果存在出入。


--  作者:asen8899
--  发布时间:2018/3/22 14:07:36
--  
//n1=1,依此类推

Em1:ema(c,n1);
Em2:ema(c,n2);
Em3:ema(c,n3);
Em4:ema(c,n4);
Em5:ema(c,n5);
Em6:ema(c,n6);
Em7:ema(c,n7);
Em8:ema(c,n8);
Em9:ema(c,n9);
Em10:ema(c,n10);
Em11:ema(c,n11);
Em12:ema(c,n12);
Em13:ema(c,n13);
Em14:ema(c,n14);
Em15:ema(c,n15);
Em16:ema(c,n16);
Em17:ema(c,n17);
Em18:ema(c,n18);
Em19:ema(c,n19);
Em20:ema(c,n20);
Em21:ema(c,n21);
Em22:ema(c,n22);
Em23:ema(c,n23);
Em24:ema(c,n24);
Em25:ema(c,n25);

--  作者:gxx978
--  发布时间:2018/3/22 14:30:28
--  

见5楼,EMA采用的是递归算法,参与计算的K线数量不同,会导致均值计算差异的,对数据量的敏感度比较高。你可以用stkindiex来指定被引用公式的K线计算数量,这样在相同的K线数量的4小时周期上,进行EMA均值和引用到的值进行比较,才有可比性。


--  作者:asen8899
--  发布时间:2018/3/23 11:50:25
--  
以下机构版后台输出,为何MI13会等于DYNAINFO(7)呢?  且MI13_1的值也不符实际情况,我在1H图表加载ema(close,20)的值是30992,后台输出是30180,差别太大。请帮忙检查是何问题,谢谢

//em.m20即ema(close,20);

MI13:STKINDIEX(\'\',\'em.m20\',0,13,0,600);   //4H
MI13_1:STKINDIEX(\'\',\'em.m20\',0,5,0,600);   //1H

debugfile:

2018-03-23 11:43:36.122    DYNAINFO(7)的值=30175.00
2018-03-23 11:43:36.122    MI13值=30175.00
2018-03-23 11:43:36.122    MI13_1值=30180.23
[此贴子已经被作者于2018/3/23 11:51:44编辑过]

--  作者:asen8899
--  发布时间:2018/3/23 12:11:21
--  
8楼测试品种是恒指03

--  作者:banzhuan
--  发布时间:2018/3/23 13:26:18
--  
你后台刷新的K线数量是多少呢? 调整的大一些再试试 ,本地输出OK的