设为首页收藏本站

 找回密码
 注册
查看: 999|回复: 3

求教:程序运算错误! 做一个减法,居然算错了,这是怎么回事? [复制链接]

Rank: 3Rank: 3

精华
0
UID
288470
积分
126
帖子
63
主题
33
阅读权限
40
注册时间
2020-2-7
最后登录
2021-3-25
发表于 2020-12-23 16:13:53 |显示全部楼层
本帖最后由 Alex2020 于 2020-12-30 14:41 编辑

我让程序做一个减法, 居然结果不对,请问怎么回事?
开盘价减minpoint   , 在某一条bar上 Open=2070, minpoint=1,  myentryPrice=Open-minpoint , 结果应该是2069 , 但是,程序计算结果是2054, 这是怎么回事?

程序如下:
  
                          MyEntryPrice = Open-Minpoint;
                          Commentary("Open="+Text(Open)) ;
                          Commentary("Minpoint="+Text(Minpoint)) ;
                          Commentary("MyEntryPrice="+Text(MyEntryPrice)) ;
                          Commentary("MyEntryPrice2="+Text( Open-Minpoint)) ;


运行结果:


....
版本: 1.2.4.1.p2 标准版(Beat) ,
前后还有其他语句,但是,这一段语句中间就没有其他语句了.
就是简单的做一个减法,然后输出结果,很明显,计算结果是错的.
这是怎么回事,有人知道吗?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

精华
0
UID
207706
积分
48
帖子
44
主题
2
阅读权限
10
注册时间
2015-4-23
最后登录
2021-11-18
发表于 2020-12-23 17:54:52 |显示全部楼层
本帖最后由 tblaocai 于 2020-12-23 18:01 编辑

什么版本?中间应该还有其他代码吧

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
288470
积分
126
帖子
63
主题
33
阅读权限
40
注册时间
2020-2-7
最后登录
2021-3-25
发表于 2020-12-30 14:40:53 |显示全部楼层
tblaocai 发表于 2020-12-23 17:54
什么版本?中间应该还有其他代码吧

版本: 1.2.4.1.p2 标准版(Beat) ,
前后还有其他语句,但是,这一段语句中间就没有其他语句了.
就是简单的做一个减法,然后输出结果,很明显,计算结果是错的.
这是怎么回事,有人知道吗?

使用道具 举报

Rank: 4

精华
0
UID
103679
积分
301
帖子
183
主题
67
阅读权限
50
注册时间
2012-3-9
最后登录
2021-12-2
发表于 2020-12-30 20:50:46 |显示全部楼层
可能跟这个有关,你把MyEntryPrice,Open,Minpoint都加Global修饰看看

3)公式运行的机制
3.1)公式运行机制的建立:在每个数据源上建立局部变量的备份

当只有一个数据源时,公式依赖于data0这唯一的数据源运行。这体现在除了全局变量其余的局部变量都是依赖于data0的数据源的。

当有多个数据源时,公式会在每个数据源都建立一套机制,对应的除了全局变量其余的局部变量在每个数据源都有自己独立的存在。

比如公式定义一个普通的数值变量numeric num(0); 如果公式应用于有三个数据源的交易单元,则实际上存在三个独立的num,分别是data0.num,data1.num,data2.num。


使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-3-28 19:56

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部