金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 800180

时间计数问题

[复制链接]

11

主题

56

帖子

66

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-7-31 14:32 | 显示全部楼层
资深技术05 发表于 2026-7-23 17:39
那就等于是在次根K了开始触发了。 那么WSA,这个条件要用ref做偏移的。  Jstatus是全局变量,可以不用ref。 ...

GLOBALVARIABLE:newk:=0;
now:(date+19000000)*1000000+TIME;
IF JJS>=2 and now>newk THEN BEGIN
JJS:=JJS+1;
newk:=now;//记录这个K的日期+时间 作为唯一标识
END
这个计数是没有问题的,但是现在有一个问题哈,就是我debugfile文件输出看具体信息的时候,发现这个计数在这根K线还没有走完的时候,我看了基本都是提前4秒钟左右就开始计数了,我是要求在这根K线结束的时候加1,也就是下根K线开始的第一秒开始加1,但是现在这个就会提前四秒钟,对开仓的判断影响比较大
回复

使用道具 举报

2

主题

6531

帖子

6531

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-7-31 15:43 | 显示全部楼层
你意思是当前K没结束之前,下个K还没开始 就触发上面这个计数代码执行?  你是不是中间其他地方代码会重置newk?否则这个逻辑,应该不会在本根K重复执行的.   
回复

使用道具 举报

11

主题

56

帖子

66

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-7-31 20:00 | 显示全部楼层
资深技术05 发表于 2026-7-31 15:43
你意思是当前K没结束之前,下个K还没开始 就触发上面这个计数代码执行?  你是不是中间其他地方代码会重置new ...

我的意思是本根K不会重复执行,只执行一次,但是上述代码的意思不是应该在下根K开始的时候才开始计数加1吗?文件输出信息显示都是在当根K线结束前4秒开始计数增加1
回复

使用道具 举报

11

主题

56

帖子

66

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-8-3 11:07 | 显示全部楼层
800180 发表于 2026-7-31 20:00
我的意思是本根K不会重复执行,只执行一次,但是上述代码的意思不是应该在下根K开始的时候才开始计数加1 ...

2026-07-31 13:12:54.259    20260731 131300 JJS: 7.000
2026-07-31 13:12:54.269    20260731 131300 RB: 7512.000
2026-07-31 13:12:54.280    20260731 131300 KJB: 7512.000
2026-07-31 13:12:54.287    20260731 131300 dingJJS: 7.000

2026-07-31 13:12:57.248    20260731 131400 JJS: 7.000
2026-07-31 13:12:57.257    20260731 131400 RB: 7512.000
2026-07-31 13:12:57.268    20260731 131400 KJB: 7512.000
2026-07-31 13:12:57.288    20260731 131400 dingJJS: 8.000
这个就是上周五提前3秒钟加了一次
回复

使用道具 举报

2

主题

6531

帖子

6531

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-8-3 13:19 | 显示全部楼层
咱们累计的不是JJS这个变量嘛.  你这里有变化的是dingJJS,这个变量的计算逻辑是什么?
回复

使用道具 举报

11

主题

56

帖子

66

积分

Rank: 6Rank: 6

等级: 机构版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2026-8-3 14:32 | 显示全部楼层
资深技术05 发表于 2026-8-3 13:19
咱们累计的不是JJS这个变量嘛.  你这里有变化的是dingJJS,这个变量的计算逻辑是什么?

JJS输出是进入到这个累加的条件前面输出的
debugfile('D:\log\testIC00_m1.txt',strx&' '&'JJS: %.3f',JJS);
IF JJS>=2 and now>newk THEN BEGIN
JJS:=JJS+1;
newk:=now;//记录这个K的日期+时间 作为唯一标识
END
debugfile('D:\log\testIC00_m1.txt',strx&' '&'dingJJS: %.3f',JJS);
dingJJS输出是满足这个条件可以进行累加的条件之后开始输出的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2026-8-4 03:29 , Processed in 0.119773 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表