金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3331|回复: 1

FINDINDEXBYTIME这个函数返回值可能会对应两个K线的索引,这个函数返回值有问题

[复制链接]

89

主题

162

帖子

162

积分

等级: 免费版

注册:
2021-11-5
曾用名:
发表于 2022-8-7 17:37 | 显示全部楼层 |阅读模式
FINDINDEXBYTIME这个函数返回值可能会对应两个K线的索引
例如
BAR周期:BARPOS,NODRAW;
index1:FINDINDEXBYTIME('20220808 025320');
在20秒周期下,BAR周期 = index1
index2:FINDINDEXBYTIME('20220808 025318');
使用这根K线内部的时间,BAR周期和index1不相等,BAR周期 = index2 + 1
反复在所有周期下测试这个问题,发现用一根线的结束时间戳去查找索引,返回的就是当根K线索引,但是用一根线的内部时间去查找索引,返回的就是前一根K线索引,这显然不对啊
'20220808 025320','20220808 025315','20220808 025318'在20秒周期下,都属于一根K线,应该返回同一个索引值才对啊

这样的bug问题,会导致在跨周期调用时,如果当前周期K线结束时间在目标周期下也是K线的结束时间,目标周期当前位置就是结束时间对应的这根K 线,如果当前周期K线结束时间在目标周期下是K线的内部时间,目标周期当前位置就是结束时间对应的前一根K 线,导致问题处理很复杂而且处理不了
应该某时刻在哪个K线就返回哪个索引值才对
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-8 09:16 | 显示全部楼层
例如:
FINDINDEXBYTIME('20060601 093001')或 FINDINDEXBYTIME('20060601')
系统默认时间为0点 或FINDINDEXBYTIME('093001')系统将默认为当前最后一笔交易日期。
若找不到指定日期的数据,将返回最近的周期。

这个函数只能对有效的K线时间 奏效。其他更多情况不在这个函数设计初衷之内。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-6 17:23 , Processed in 0.163323 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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