以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  [求助]VBA后台读公式信号不一致的问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=159132)

--  作者:D1in
--  发布时间:2017/11/1 11:48:19
--  [求助]VBA后台读公式信号不一致的问题

图表中的公式代码:MA1: MA(C,15);
MA2: MA(C,60);
JC:CROSS(MA1,MA2),nodraw ;
SC:CROSS(MA2,MA1),nodraw;

VBA从后台读取 MA1、MA2、JC、SC,timer设定的时间周期和图表K线一致(用了5秒K线),
问题如下:
读取的MA1、MA2值与图表上显示的值有微小差别,而且图表上出现JC=1或者SC=1时,后台读到的仍是0.
是不是因为计时器的周期和K线周期不一致造成?请问如何读到与图表一致的公式结果(K线走完时这根K线对应的 MA1、MA2、JC、SC)


--  作者:yukizzc
--  发布时间:2017/11/1 13:27:19
--  

图表上的价格是经过处理的,内部数据都是有小数浮点误差的,所以你vba里读取时候获取的是原始的数据。

你如果要处理,自己在vba里对数值进行round进行小数位控制


--  作者:D1in
--  发布时间:2017/11/2 10:39:46
--  
请问为什么当图表上 JC=1或者 SC=1时,VBA读到的JC、SC值仍是0?
图表上用的是5秒周期,VBA设定时器也是5秒。我以为应该读到上一个JC或者SC的值,实际上没有读到。
[此贴子已经被作者于2017/11/2 10:41:08编辑过]

--  作者:yukizzc
--  发布时间:2017/11/2 11:31:22
--  

你vba用的是5秒周期数据没,你自己通过输出所有5秒数据和图表上对应看下呢


--  作者:D1in
--  发布时间:2017/11/2 14:57:02
--  
VBA中用的是5秒K线数据,设置timer刷新也是5秒。
下午测试,计时器设置成1秒刷新可以读到JC=1或者SC=1的信号。
--  作者:无为剑
--  发布时间:2017/11/2 18:49:29
--  
看不懂你描述的是什么,可否截图提示,和提交相关测试代码
[此贴子已经被作者于2017/11/2 18:49:56编辑过]