金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4711|回复: 15

small函数无法返回值的问题,要如何处理?

[复制链接]

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
发表于 2021-6-17 22:35 | 显示全部楼层 |阅读模式
ma5:=ema(c,5);
ma10:=ema(c,10);
jc:=cross(ma5,ma10);
sc:=cross(ma10,ma5);
xdabs:=llv(L,barslast(sc))-ref(H,barslast(sc);
//
M:=500;
//
xd1:if(jc,xdabs,drawnull);
xdHz:LLv(xd1,M),linethick0;
//large的函数算法
xddz:SMALL(xd1,m,1 );//返回下跌幅度的最小值
理论上应该用small的算法与用LLV算出来的值应该是一样的,但small返回的是一个错误值,不知道是什么原因?

回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-17 22:44 | 显示全部楼层
xd1:if(jc,xdabs,0);

不要去设置无效值,无效值会给计算带来不可预估的问题
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2021-6-18 09:40 | 显示全部楼层
技术008 发表于 2021-6-17 22:44
xd1:if(jc,xdabs,0);

不要去设置无效值,无效值会给计算带来不可预估的问题

那我想实现同样的功能,找出死叉后跌幅的最小值,要如何修改才行?
回复

使用道具 举报

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2021-6-18 09:43 | 显示全部楼层
技术008 发表于 2021-6-17 22:44
xd1:if(jc,xdabs,0);

不要去设置无效值,无效值会给计算带来不可预估的问题

当返回为0时,若是计算涨幅,最小值就是0了,导致返回不了正确值
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-6-18 09:52 | 显示全部楼层
你的原始需求是怎样的?你这个代码我看不出来具体思路是怎样的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2021-6-18 09:54 | 显示全部楼层
技术009 发表于 2021-6-18 09:52
你的原始需求是怎样的?你这个代码我看不出来具体思路是怎样的。

原始需求是求金叉死叉后,涨跌幅度数列中的最大值,最小值,与众数
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-6-18 10:04 | 显示全部楼层
你这个金叉和死叉是分开的吧。我意思是应该是金叉后计算涨幅/跌幅,死叉则是和金叉相反的。是这样的吧。而且看你这个样子 你是一段段的求?每次死叉后的一段或者金叉后的一段 单独求?还是说所有的金叉后的区间在一起求或者死叉后的区间在一起求?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2021-6-18 10:07 | 显示全部楼层
技术009 发表于 2021-6-18 10:04
你这个金叉和死叉是分开的吧。我意思是应该是金叉后计算涨幅/跌幅,死叉则是和金叉相反的。是这样的吧。而 ...

是金叉后计算前一次死叉到金叉前的最低点的跌幅,
死叉后计算金叉后到死叉前的最高点的涨幅;
然后再求所有跌幅中的最大值,最小值与众数;
和所有涨幅中的最大值,最小值与众数;
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-18 11:01 | 显示全部楼层
xd1:if(jc,xdabs,99999999999);
要求最小时候,把不满足的设置成9999999

如果要求最大的时候把数字变成-999999999999这样就能不去考虑条件不满足的情况
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

23

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2021-6-18 11:17 | 显示全部楼层
技术008 发表于 2021-6-18 11:01
xd1:if(jc,xdabs,99999999999);
要求最小时候,把不满足的设置成9999999

这种处理方法求最大值,最小值没问题
但求不出众数,看能否在drawnull上处理下,或用其它方法?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 08:35 , Processed in 0.232396 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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