金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 444|回复: 9

如何取等价K的设定值

[复制链接]

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2024-5-22 21:56 | 显示全部楼层 |阅读模式
如题:如何在公式中获取某一品种的等价K设定的价格幅度或成交量的幅度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-5-23 09:09 | 显示全部楼层
这个获取不到的。  暂时没有提供对应的接口。
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-5-23 09:50 | 显示全部楼层
请问这段代码可以获取等价k设定幅度的近似值与等价k的每根的开始第一秒与结束最后一秒,正确吗?
//-------------------------线下代码减少运行,释放资源-------------------
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-5-23 09:51 | 显示全部楼层
bili:=abs(C-O)*1000/O,LINETHICK0,COLORYELLOW;//动态获得等价K的比例
Rbili:=ref(bili,1);
LB:=VALUEWHEN(LLVBARS(bili,10)<>0,LLVBARS(bili,10));
Tbili:=REF(INTPART(bili),LB),LINETHICK0,COLORYELLOW;
//----------------------------------------------------------------------
   abb1:=(time0-timetot0(dynainfo(207)));//K线结束倒计时间(秒)------构成等价K的每个固定K的结束时间,不是等价K结束时间
abb:=if(bili>=Tbili  and  abb1>=0 and abb1<1,abb1,88);  
if bili>=Tbili and  abb1>=0 and abb1<1 then BEGIN
   Rtime0:=time0;       
end       
akk:=timetot0(dynainfo(207))-Rtime0;//k线的最开始的时间(秒)
//***********下面的and abs(C-O)>=O*10/1000不得移位,只能放在此处,表示成立时的abb>=0 and abb<2*****************
cd0:=not(ISLASTBAR);
cd1:=islastbar and  akk>=0 and akk<1;//k线的最开始的时间(秒)
cd2:=islastbar and  abb>=0 and abb<1;;//K线结束倒计时间(秒)
TCD01:=(CD0||CD1);
TCD02:=(CD0||CD2);
回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-5-23 10:31 | 显示全部楼层
那个幅度,你这样算 算法大致可以。但是会有偏差的,你可以考虑对这个值取最近多个值的最小值。
因为等价是肯定需要大于等于这个幅图的。所以取最小值比较合理,最贴近真实设置得幅度。
回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-5-23 10:32 | 显示全部楼层
“等价k的每根的开始第一秒与结束最后一秒” 这个我没看懂你什么意思~
你是要计算 合成等价K的 基础K的倒计时?  例如我用的1分钟K作为基础K ,我就是1分钟K倒计时?

回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-5-23 20:25 | 显示全部楼层
资深技术05 发表于 2024-5-23 10:32
“等价k的每根的开始第一秒与结束最后一秒” 这个我没看懂你什么意思~
你是要计算 合成等价K的 基础K的倒 ...

老师,是的: abb1:=(time0-timetot0(dynainfo(207)));//是合成等价K的每根基础K线结束倒计时间(秒)
合成等价K走完的最后一秒钟计算,需满足2个基本条件:1、最后一根基础k满足连个条件走完;2、最后一根基础k的CLOSE与合成等价K的第一根基础K的OPEN价之间满足bili>=Tbili、abb1>=0 and abb1<1。

补充内容 (2024-5-23 20:27):
计算等价K开始的第一秒,需求出上一根K的结束时间Rtime0
Rtime0计算方法:if bili>=Tbili and  abb1>=0 and abb1<1 then BEGIN
   Rtime0:=time0;      
end   

补充内容 (2024-5-23 20:29):
等价K开始的第一秒akk:=timetot0(dynainfo(207))-Rtime0;//k线的最开始的时间(秒)

补充内容 (2024-5-23 20:29):
以上计算,对不对?谢谢
回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-5-24 09:07 | 显示全部楼层
本帖最后由 资深技术05 于 2024-5-24 09:13 编辑

如果只是基础K的倒计时:
abb1:=(time0-timetot0(dynainfo(207)));

这个代码没错。

然后:
bili:=abs(C-O)*1000/O,LINETHICK0,COLORYELLOW;//动态获得等价K的比例

这里算幅度,为什么乘1000?

“Tbili:REF(INTPART(bili),LB),LINETHICK0,COLORYELLOW;”

本来幅度就是小数,取整后直接是0.  

其他部分代码,暂时没理解, 你要算的是 什么,所以也不好说对错。我只能指出我知道你需求的部分的代码有没有问题。
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-5-24 14:13 | 显示全部楼层
abs(C-O)*1000/O,乘以1000得到的不再是0.000位小数,再intpart就得到了整数,比较时,基本上就会是设置的(比如设置为0.5%)就没了偏差。

请老师帮忙审阅一下等价K的最初1秒内与最后1秒内的计算方法正确吗?
回复

使用道具 举报

1

主题

4047

帖子

4047

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-5-24 14:35 | 显示全部楼层
本帖最后由 资深技术05 于 2024-5-24 14:47 编辑

“请老师帮忙审阅一下等价K的最初1秒内与最后1秒内的计算方法正确吗?”  

指等价K 刚开始第一秒和最后结束的一秒?  

1.这种结束的肯定无法判断的,你不知道接下来的一笔价格是否满足生成新等价K条件的
2.开始的,直接拿上一个等价K结束时间是可以的。当前K什么时候结束不知道,上一个K的时间是固定的。直接计算时间差就知道了当前等价K持续的时间了。但是这种处理也有处理不了的地方,如果你幅度很大,K线跨越了休息时间或者交易日,那这个方式也没办法了,算出来的秒数肯定是多的。  

3.你这里描述里要1秒内,那基本判断不了。那个时间差的算法最小是1秒,不存在1秒以下的级别的。


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-19 16:22 , Processed in 0.292746 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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