金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3810|回复: 4

关于全局变量初始化的问题请教.

[复制链接]

44

主题

142

帖子

142

积分

等级: 免费版

注册:
2021-5-28
曾用名:
发表于 2022-6-9 22:52 | 显示全部楼层 |阅读模式
下面的代码运行,变量"开多次数"不正确:
VARIABLE:开多次数:=0;
短线:MA(C,16);       
长线:MA(C,26);
开多次数:=IF(CROSS(短线,长线),开多次数+1,开多次数);

请问:
为何"开多次数"用SHIFT+Q查看,总是显示"##"呢?在第一行不是已经初始化为0了吗?


回复

使用道具 举报

37

主题

9944

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-6-9 23:24 | 显示全部楼层
换成这样,你的那种写法在第一根k上会吧无效值赋值给全局变量造成一直是##
IF  CROSS(短线,长线) THEN BEGIN
        开多次数:=开多次数+1;
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

142

帖子

142

积分

等级: 免费版

注册:
2021-5-28
曾用名:
 楼主| 发表于 2022-6-10 08:47 | 显示全部楼层
技术006 发表于 2022-6-9 23:24
换成这样,你的那种写法在第一根k上会吧无效值赋值给全局变量造成一直是##
IF  CROSS(短线,长线) THEN BEG ...

感谢回复!

还是有点不太理解函数IF(X,A,B),请问:

1.为了避免出现隐含问题,是否A,B应该尽量不能包含变量吗?

2.我之前的自编公式中大量使用IF(X,变量1,变量2),从优化代码的角度,是否都应该改为IF...THEN?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-6-10 09:02 | 显示全部楼层
不是的,要看情况的。你这里的问题是 CROSS(短线,长线) 在均线都不足时候,它返回值不是0.导致if的处理也出了问题。就是 我们的函数 你不能给他无效值作为参数。如果改成阴阳线判断 你上面代码就无所谓,因为就是一个K也会有阴阳线的结果,但是均线不行。

你可以稍微再改下你的逻辑:
开多次数:=IF(CROSS(短线,长线) and BARPOS>26,开多次数+1,开多次数);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

44

主题

142

帖子

142

积分

等级: 免费版

注册:
2021-5-28
曾用名:
 楼主| 发表于 2022-6-10 09:15 | 显示全部楼层
技术009 发表于 2022-6-10 09:02
不是的,要看情况的。你这里的问题是 CROSS(短线,长线) 在均线都不足时候,它返回值不是0.导致if的处理也出 ...

解释的非常清楚,非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-30 12:13 , Processed in 0.132555 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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