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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 固定轮询和走完K的理解

   

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


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

主题:固定轮询和走完K的理解

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/14 10:10:37 [只看该作者]

是的,程序是每来一个分笔就会运算一次,然后根据设置去检测信号,比如每隔10秒这样

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 11:05:03 [只看该作者]

增加一个逐次累加变量I,发现I值并不是每个分笔刷新。也就是说程序并不是每个分笔都执行一遍。CLOSE值每个分笔都刷新一次,引用了CLOSE值的函数,如MA、间接引用了CLOSE值的变量如MA5A等,也是每个分笔都刷新一次,但是公式本身是K线走完才执行一次。请问这样理解对吧?

VARIABLE:i:=0;
ma5:ma(close,5);
DEBUGFILE2('C:\TEST.TXT','MA5=%.2f',MA5,1);
ma5a:=ma5;
DEBUGFILE2('C:\TEST.TXT','MA5a=%.2f',MA5a,1);
I:=I+1;
DEBUGFILE2('C:\TEST.TXT','I=%.2f',I,1);
BP:barpos,linethick0;

 

2019-01-14 11:00:00.996    MA5=2001.10
2019-01-14 11:00:00.996    MA5a=2001.10
2019-01-14 11:00:00.996    I=263.00
2019-01-14 11:00:00.996    MA5=2002.10
2019-01-14 11:00:00.996    MA5a=2002.10
2019-01-14 11:00:00.996    I=264.00
2019-01-14 11:00:00.996    MA5=2003.80
2019-01-14 11:00:00.996    MA5a=2003.80
2019-01-14 11:00:00.996    I=265.00
2019-01-14 11:00:01.246    MA5=2003.90
2019-01-14 11:00:01.246    MA5a=2003.90
2019-01-14 11:00:01.246    I=265.00
2019-01-14 11:00:02.027    MA5=2003.90
2019-01-14 11:00:02.027    MA5a=2003.90
2019-01-14 11:00:02.027    I=265.00
2019-01-14 11:00:02.840    MA5=2003.90
2019-01-14 11:00:02.840    MA5a=2003.90
2019-01-14 11:00:02.840    I=265.00
2019-01-14 11:00:03.683    MA5=2003.80
2019-01-14 11:00:03.683    MA5a=2003.80
2019-01-14 11:00:03.683    I=265.00
2019-01-14 11:00:04.465    MA5=2003.80
2019-01-14 11:00:04.465    MA5a=2003.80
2019-01-14 11:00:04.465    I=265.00
2019-01-14 11:00:05.277    MA5=2003.80
2019-01-14 11:00:05.277    MA5a=2003.80
2019-01-14 11:00:05.277    I=265.00


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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 11:10:37 [只看该作者]

增加一个逐次累加的变量I,发现I值并不是每笔都刷新,但是把ma5赋值给ma5a却是每笔都有执行。请问可不可以这样理解,CLOSE的值每笔都刷新,所有依据Close值的计算值也都是每笔刷新,其他不依赖于CLOSE的变量或者计算公式,都是K线走完才计算?

 

VARIABLE:i:=0;
ma5:ma(close,5);
DEBUGFILE2('C:\TEST.TXT','MA5=%.2f',MA5,1);
ma5a:=ma5;
DEBUGFILE2('C:\TEST.TXT','MA5a=%.2f',MA5a,1);
I:=I+1;
DEBUGFILE2('C:\TEST.TXT','I=%.2f',I,1);
BP:barpos,linethick0;

 

 

2019-01-14 10:44:01.634    MA5=2001.50
2019-01-14 10:44:01.634    I=263.00
2019-01-14 10:44:02.462    MA5=2001.60
2019-01-14 10:44:02.462    I=263.00
2019-01-14 10:44:03.275    MA5=2001.60
2019-01-14 10:44:03.275    I=263.00
2019-01-14 10:44:04.071    MA5=2001.50
2019-01-14 10:44:04.071    I=263.00
2019-01-14 10:44:04.884    MA5=2001.50
2019-01-14 10:44:04.884    I=263.00
2019-01-14 10:44:05.696    MA5=2001.50
2019-01-14 10:44:05.696    I=263.00
2019-01-14 10:44:07.321    MA5=2001.50
2019-01-14 10:44:07.321    I=263.00
2019-01-14 10:44:08.134    MA5=2001.40
2019-01-14 10:44:08.134    I=263.00
2019-01-14 10:44:08.946    MA5=2001.40
2019-01-14 10:44:08.946    I=263.00

 


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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 11:12:33 [只看该作者]

抱歉贴错了输出文档,应该是这个

 

2019-01-14 11:00:00.996    MA5=2001.10
2019-01-14 11:00:00.996    MA5a=2001.10
2019-01-14 11:00:00.996    I=263.00
2019-01-14 11:00:00.996    MA5=2002.10
2019-01-14 11:00:00.996    MA5a=2002.10
2019-01-14 11:00:00.996    I=264.00
2019-01-14 11:00:00.996    MA5=2003.80
2019-01-14 11:00:00.996    MA5a=2003.80
2019-01-14 11:00:00.996    I=265.00
2019-01-14 11:00:01.246    MA5=2003.90
2019-01-14 11:00:01.246    MA5a=2003.90
2019-01-14 11:00:01.246    I=265.00
2019-01-14 11:00:02.027    MA5=2003.90
2019-01-14 11:00:02.027    MA5a=2003.90
2019-01-14 11:00:02.027    I=265.00
2019-01-14 11:00:02.840    MA5=2003.90
2019-01-14 11:00:02.840    MA5a=2003.90
2019-01-14 11:00:02.840    I=265.00
2019-01-14 11:00:03.683    MA5=2003.80
2019-01-14 11:00:03.683    MA5a=2003.80
2019-01-14 11:00:03.683    I=265.00
2019-01-14 11:00:04.465    MA5=2003.80
2019-01-14 11:00:04.465    MA5a=2003.80
2019-01-14 11:00:04.465    I=265.00
2019-01-14 11:00:05.277    MA5=2003.80
2019-01-14 11:00:05.277    MA5a=2003.80
2019-01-14 11:00:05.277    I=265.00


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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/14 11:14:35 [只看该作者]

您运行的什么周期呢?    在同一根K线上输出的 I 肯定值是相同 。 I 是在下一根K线才会等于I +1 ,您切换到分笔周期后再输出可以看到效果
[此贴子已经被作者于2019/1/14 11:17:30编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 13:39:36 [只看该作者]

在15分钟焦炭上运行。ma5:ma(close,5) 和 ma5a:=ma5,这两句每笔都在刷新,但是I:=I+1这句却是K线走完才刷新。“程序是每来一个分笔就会运算一次”的说法似乎并不是完全正确的。麻烦版主再澄清一下,谢谢。


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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/14 13:52:25 [只看该作者]

I=I+1 也是每来一个分笔会刷新,只是当根K线的返回值始终是I,只有到下根K线才会等于 I+1

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 14:01:39 [只看该作者]

没听懂啊!I:=I+1如果刷新的话,I的值就会增加一个啊,现在没增加,就是说明这句没有被执行啊。也就是说这句并不是每来一个分笔就会刷新啊。

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2019/1/14 14:14:25 [只看该作者]

这样说吧,首先看之前的日志,是不是每个分笔 I 都会计算输出一次呢?
至于为什么 I 的值在本根K线上没有重复累加 +1  ,是因为本根K线 I 的值,都是参照上一根K线 I 的值 再+1 的,比如上根K的I=5,那本跟K线不管如何刷新,都是等于6,可以理解为逐K线计算。
您可以把 I 输出到图表上看一下就明白了。
VARIABLE:i:=0;
I:=I+1;
aa: i;
2019-01-14 10:44:01.634    MA5=2001.50
2019-01-14 10:44:01.634    I=263.00
2019-01-14 10:44:02.462    MA5=2001.60
2019-01-14 10:44:02.462    I=263.00
2019-01-14 10:44:03.275    MA5=2001.60
2019-01-14 10:44:03.275    I=263.00
2019-01-14 10:44:04.071    MA5=2001.50
2019-01-14 10:44:04.071    I=263.00
2019-01-14 10:44:04.884    MA5=2001.50
2019-01-14 10:44:04.884    I=263.00
2019-01-14 10:44:05.696    MA5=2001.50
2019-01-14 10:44:05.696    I=263.00
[此贴子已经被作者于2019/1/14 14:16:09编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2017/8/10 8:36:21
  发帖心情 Post By:2019/1/14 16:25:51 [只看该作者]

有点明白了。还有几点需要再澄清一下:

1. 固定轮询模式每个Tick都会刷新。那么在运行选项中勾选和不勾选“Tick级别刷新”有啥不同?

2. 在固定轮询模式下,每个Tick刷新的时候,都是基于上一个K线走完时的数据进行计算,在本K线的上一个Tick的计算结果并不会带入下一个Tick中进行计算,对吗?如果这样的话,在一个K线内,本Tick的LOW或者HIGH的值是否会带入下一个Tick?

<!--EndFragment-->


 回到顶部
总数 23 上一页 1 2 3 下一页