金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1060|回复: 10

怎么不赋值定义一个全局变量

[复制链接]

14

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-3-12
曾用名:
发表于 2024-4-10 10:57 | 显示全部楼层 |阅读模式
在金字塔中我怎么做到不赋值定义一个全局变量,因为一旦赋值会将我逻辑中赋的值每次都会初始化
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-4-10 10:58 | 显示全部楼层
variable:n=0;

这个只会在第一根k初始化0,不会一直初始化的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-3-12
曾用名:
 楼主| 发表于 2024-4-10 13:47 | 显示全部楼层
技术008 发表于 2024-4-10 10:58
variable:n=0;

这个只会在第一根k初始化0,不会一直初始化的

就只有这一种方式吗?我尝试了,发现当我置为1时,下一次日志输出时又成了0
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-4-10 13:48 | 显示全部楼层
那是你其他地方赋值了0,你自己在图上直接看这个值就能明白
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2024-3-12
曾用名:
 楼主| 发表于 2024-4-10 14:41 | 显示全部楼层
技术008 发表于 2024-4-10 13:48
那是你其他地方赋值了0,你自己在图上直接看这个值就能明白

老师 我确定我在代码中没有将这个值置为0的代码   只有置为1的,您的意思是这个赋值只会在第一次执行,后面都不会执行是吧
回复

使用道具 举报

31

主题

7766

帖子

7776

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-4-10 14:43 | 显示全部楼层
你这样简单测试就很明白的
截图202404101443162516.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2022-5-6
曾用名:
发表于 2024-10-3 19:58 | 显示全部楼层
技术008 发表于 2024-4-10 14:43
你这样简单测试就很明白的

variable: ma1=0;
ma2:=(c,100);
c1:=ma2/ret(ma2,100)-1
c2:=pow((ma2/(ret(ma2,200),2)-1

if c1>c2 then ma2:=ma1; else; ma2:=ma1+0.5;

已经设置了逐k线计算。
但是这样写不行,这样写的结果是从ma1开始有值的时候,ma2就有值。而且ma2的值一直不变。if的条件没有起作用。
1、我希望在c1和c2同时有值的时候才有ma2。
2、c1有值,c2没有值的时候,我还想把ma2赋值成别的。
3、我希望c1和c2关系变化的时候,ma2也变化。
请问要怎么写呀。
回复

使用道具 举报

34

主题

9195

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-10-3 20:19 | 显示全部楼层
没搞明白你的描述想做什么。

关于上面代码中ma2一开始就有值的原因是因为你,ma2:=ma1+0.5这句赋值操作造成的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2022-5-6
曾用名:
发表于 2024-10-3 20:33 | 显示全部楼层
oceandeep 发表于 2024-10-3 19:58
variable: ma1=0;
ma2:=(c,100);
c1:=ma2/ret(ma2,100)-1

不好意思,我的程序写的错很多,我调整了一下。我希望通过ma1这个全局变量,构造一个与c1和c2相对大小相关的指标。已经设置了逐k线计算。下面是逻辑
VARIABLE:ma1=0;
ma2:=ma(c,100);
ret1:=ret(ma2,100);
ret2:=ret(ma2,200);
c1:=(ma2/ret1-1)*100;
c2:=(pow(ma2/ret2,2)-1)*100;
if c1>c2 then ma1:=ma2; else; ma1:=ma2+0.5;
aa:ma1;

问题就是刚才帖子中说的
1、c1和c2没有值的时候,ma1也有值,而且值等于ma2+0.5;我希望:只有c1和c2都有值的时候ma1才有值
2、c1和c2的相对大小虽然变化了,但是ma1一直等于ma2+0.5,因为最开始c1是小于c2的。我希望:ma1能根据相对大小变化。
回复

使用道具 举报

0

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2022-5-6
曾用名:
发表于 2024-10-3 20:36 | 显示全部楼层
技术006 发表于 2024-10-3 20:19
没搞明白你的描述想做什么。

关于上面代码中ma2一开始就有值的原因是因为你,ma2:=ma1+0.5这句赋值操作 ...

我是想
在c1>c2的时候,ma1:=ma2
在c1<c2的时候,ma1:=ma2+0.5
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 18:22 , Processed in 0.212055 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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