金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2877|回复: 10

如何求两个时间点间有多少根K线

[复制链接]

3

主题

21

帖子

21

积分

Rank: 1

等级: 新手上路

注册:
2021-7-27
曾用名:
发表于 2023-8-28 11:04 | 显示全部楼层 |阅读模式
如何求两个时间点间有多少根K线?比如3小时前到现在有多少根K线
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-28 11:13 | 显示全部楼层
[PEL] 复制代码
V1:=VALUEWHEN(TODAYBAR=1 AND TIME<>CLOSETIME(0),TIME);
V2:=VALUEWHEN(REF(TODAYBAR=1 AND TIME<>CLOSETIME(0),1),TIME);

TD:ABS(TIMETOT0(V1)-TIMETOT0(V2));//周期折算的秒数

//3小时 折算的K线数量,包含当前K
Len:3*60*60/TD;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

21

帖子

21

积分

Rank: 1

等级: 新手上路

注册:
2021-7-27
曾用名:
 楼主| 发表于 2023-8-28 11:18 | 显示全部楼层
技术009 发表于 2023-8-28 11:13
[mw_shl_code=pel,true]V1:=VALUEWHEN(TODAYBAR=1 AND TIMECLOSETIME(0),TIME);
V2:=VALUEWHEN(REF(TODAYB ...

不太对啊,比如晚盘9点半,算出来的K线数量明显不对
回复

使用道具 举报

37

主题

9994

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-8-28 11:19 | 显示全部楼层
AA:BARSLAST(time=xxxx)
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

21

帖子

21

积分

Rank: 1

等级: 新手上路

注册:
2021-7-27
曾用名:
 楼主| 发表于 2023-8-28 11:22 | 显示全部楼层

能写具体点么。比如说3小时怎么算,没在交易时间内怎么处理什么的。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-28 11:28 | 显示全部楼层
“不太对啊,比如晚盘9点半,算出来的K线数量明显不对” 你又没说不能跨交易日。 上面代码就是单纯计算3小时 包含了多少K,没考虑其他。 它返回值只有因为切换周期而变化,在不同时间点值都会一样的。

可以再进一步处理下:min(TODAYBAR,Len);不足三小时,按照开盘后的K数量算。


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

21

帖子

21

积分

Rank: 1

等级: 新手上路

注册:
2021-7-27
曾用名:
 楼主| 发表于 2023-8-28 11:34 | 显示全部楼层
技术009 发表于 2023-8-28 11:28
“不太对啊,比如晚盘9点半,算出来的K线数量明显不对” 你又没说不能跨交易日。 上面代码就是单纯计算3小 ...

明白代码的意思,但前面的代码,对早盘,盘间休息,这种是没处理的
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-28 12:56 | 显示全部楼层
本帖最后由 技术006 于 2023-8-28 13:06 编辑

比如现在下午13:30开盘了,过去三小时是以实际时间算 10:30-13:30? 算这个时间内实际的K数量?

打算运行在什么周期上?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

21

帖子

21

积分

Rank: 1

等级: 新手上路

注册:
2021-7-27
曾用名:
 楼主| 发表于 2023-8-28 14:20 | 显示全部楼层
技术009 发表于 2023-8-28 12:56
比如现在下午13:30开盘了,过去三小时是以实际时间算 10:30-13:30? 算这个时间内实际的K数量?

打算运 ...

是的,就是算实际的K线数量。  1分钟周期
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-8-28 16:28 | 显示全部楼层
本帖最后由 技术009 于 2023-8-28 16:30 编辑

//3小时 折算的k线数量,包含当前k
len:=180;

r:0;//最终结果


lenx0:=barslast(time=130100)+1;
lenx1:=barslast(time=153000)+1;
lenx2:=todaybar;

if time<130100 then r:=min(len,lenx2);
if time>=130100 and  time<=153000 then r:=lenx0;
if time>153000 and time<=183000 then r:=min(len,lenx2)-120;
if time>183000 then r:=lenx1-1;

这样看下,本地看了没啥问题。但是这个代码不是通用的,如果不是180分钟,代码逻辑也要随之调整才行。另外就是中金品种也不适用,你可以根据这个结构做调整。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 02:44 , Processed in 0.155426 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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