金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7482|回复: 28

如何取得之前第一个最高价>现在最低价*(1+N%)的值或周期?

[复制链接]

4635

主题

4729

帖子

4754

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-9-12 11:14 | 显示全部楼层 |阅读模式
请教:在图表策略编写时,如何取得之前第一个最高价>现在最低价*(1+N%)的值或周期?

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

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-12 12:58 | 显示全部楼层
没有函数直接获取,只能用循环。另外返回的结果是K线序号。  如果数据量太大的小周期 有可能直接卡死,慎重使用。
[PEL] 复制代码
N:=3;
currentl:=rounds(l*(1+N/100),0);//做个小数点的处理,这样就能比较了。否则几乎不可能有相等的值。

ctr:=1;//控制循环
index:=barpos-1;//当前k的前一个位置
while ctr do 
begin 
if currentl<=H[index] or index<0 then 
begin 
ctr:=0;
end        
index:=index-1;
end 


showbarpos:index+1,nodraw;//返回的是满足条件的k线位置的序号。如果返回值是-1  说明前面没有找到这样的k线位置。

//对历史位置取值
r:if(showbarpos<>-1,c[showbarpos],drawnull),nodraw;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2023-4-15
曾用名:
发表于 2023-9-12 14:09 | 显示全部楼层
您好,谢谢您的回复!不好意思,应该是我描述错误了,我想要取得的是倒数第一个(就是最近的)最高价>(当前最低价*(1+n%))的值和到当前周期。另外,currentl:=rounds(l*(1+N/100),0);这个取整数不是把50%以下的都忽略了吗?百分之个位数或带小数点的都无效吗?
我在图中试运行,这个SHOWBARPOS值一直显示-1不变。
再求赐教,谢谢!
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-12 14:22 | 显示全部楼层
1.返回值就是最近的一个。
2.取整的目的在注释里已经写清楚了,虽然交易所当初给的价格都是只到最小变动价位的。但是在计算机底层 是存在浮点型误差,做数值比较时候 可能会因为浮动误差导致比较结果出错,所以必须取整。
“这个取整数不是把50%以下的都忽略了吗?”没有这回事。  仅仅只是忽略最小变动价位之外的小数位,你需要自己根据品种的最小变动价位调整 rounds 的第二个参数。
3.返回-1 就是没有对应的数值。

r 那里写错了,写成了指定位置的C。换成H就行了
r:if(showbarpos<>-1,h[showbarpos],drawnull),nodraw;






本帖子中包含更多资源

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

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

使用道具 举报

1

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2023-4-15
曾用名:
发表于 2023-9-13 13:45 | 显示全部楼层
您好老师:
我试运行了可以的。比较慢有时候还会卡死。若循环计算的数据量小或只运行一次,应该就没问题了。
这个最近的高点能找出来,那最近的低点一定能找出来吧?我的目的就是要实现这种盘中不停地寻找高低点。

1,按上面的方法寻找出高点和低点。
A.如果高点到现在的历时小(周期小,比较靠近),就确定这个高点为GD(并标注和画线);
接下来从这个高点开始往后寻找低点DD,就是现在的最高价>(1+N%)*LLV(LOW,高低GD历时),就可以确定这个低点点为DD(并标注和画线);
低点DD确定后又寻找高低......如此反复。
B.如果低点到现在的历时小(周期小,比较靠近),则顺序反之
您好老师,这样的思路在盘中确定高低点,上面的公式是不是开始时运行一次就可以了?
麻烦您帮忙把这个思路的代码写给我,万分感谢!!
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-13 15:42 | 显示全部楼层
这个循环只能在每个K的当前位置 获取历史值,但是无法使得历史位置满足某一个值,即给历史位置赋值,这是完全不行的。没办法把历史位置的某个K标记为高点或者低点。因此想在历史位置做标记画线之类的完全不行的。


即使不在历史位置画线或者标记,只是单纯求出历史上各个高低点的位置,也是几乎无法实现的。

在最新K上的价格数值是一直变化的,这意味着最近一个是高点还是低点 以及高点或者低点的位置都在变动,这个最近的高低点变化连带着历史的也必须变化,这样本质上是一个不知道嵌套多少层的循环,在PEL上做这个几乎无法稳定运行。





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

使用道具 举报

1

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2023-4-15
曾用名:
发表于 2023-9-13 19:13 | 显示全部楼层
老师您好:谢谢您的解答,我大概理解。但我想一定是有办法找出这种自定义的转折点的的,比如说这样换一种思路找:
1,从显示屏幕左边第一根K线开始往后(右边)找,(我不知道其它指标是从什么地方开始计算的),开始的H为始高SG,L为始低SD,创新高了就重新定义赋值始高SG,
同样地,L创新低了就重新定义赋值始低SD,当始低SD与始高SG的值相差达到这个N%,就可以定义前面这个点(靠屏幕左边的点)了,
A.如果始高SG点在前(靠屏幕左边),始低SD在后,就可以定义这个始高SG点为高转点GZD,然后开始寻找低转点,继续赋值始低SD,当依次靠后的H>始低SD*(1+N%)也就可以定义这个,始低SD点为低转点DZD了,如此类推.....
B.如果始低SD在前,始高SG点在后,就可以先定义这个始低SD点为低转点DZD,...上面方法....直到当前K线
找出
高转点GZD:=
低转点DZD:=

老师,我说的理解吗?可行不?

补充内容 (2023-9-13 19:31):
或者老师有什么更好的思路来定义?请赐教谢谢了!
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-14 09:08 | 显示全部楼层
“当始低SD与始高SG的值相差达到这个N%,就可以定义前面这个点(靠屏幕左边的点)了” 还是之前说的。我能在当前判断过去N周期的高低点,也能知道位置。但是我无法 在现在去定义过去某个K的值。
即标记历史位置的点为高或者低点。除非用未来函数,如果是未来函数,那实际交易中这个思路没啥意义,必然会信号闪烁。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

15

帖子

15

积分

Rank: 1

等级: 新手上路

注册:
2023-4-15
曾用名:
发表于 2023-9-14 10:28 | 显示全部楼层
老师您好,谢谢您耐心解答!
既然“能在当前判断过去N周期的高低点,也能知道位置”,为什么不能通过现在去判断定义过去符合我条件的高低点呢?只是延时定义这个高低点呀?所以我想不通,再解析一下行吗?

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-9-14 10:36 | 显示全部楼层
你那个思路 核心是要去改历史位置的某个变量的值 来实现在历史位置标记高低点的需求,我在当前位置判断历史高低点,这只是个统计操作 有本质上区别的。  所以我说你那个高低点绘制方式只能未来函数。

比如:
https://www.weistock.com/bbs/for ... amp;page=1#pid50817

这个帖子里“金叉区间最高值到死叉区间最低值连线”  就是用未来函数在过去位置做标记的范例。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-31 04:59 , Processed in 0.109641 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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