金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3074|回复: 1

全局变量问题

[复制链接]

92

主题

268

帖子

278

积分

等级: 免费版

注册:
2021-5-20
曾用名:
发表于 2021-10-23 06:21 | 显示全部楼层 |阅读模式
VARIABLE:Nwcj=-1;
Nwcj:=TENTERBARS(1);

我用全局变量定义nwcj(交易信号距当前的周期),初值是-1。
然后对nwcj赋值为TENTERBARS(1)。

我不太清楚运行规则,我理解是不是这样的:
比如上一周期,程序运行,先赋值Nwc=-1,然后运行Nwcj:=TENTERBARS(1);,Nwcj就变成了一个数值,如10(上次开仓到上一周期为10个周期),然后本周期用10去判断其它相应的信号条件。
然后运行到本周期,Nwcj又赋值变为Nwc=-1,然后运行Nwcj:=TENTERBARS(1),Nwcj就变成了11,然后本周期用11去判断其它相应的信号条件。
不知道这样理解是否正确。



补充内容 (2021-10-23 06:22):
然后本周期即使找上一周期的条件,nwcj的值依然是11,而不是上周期对应的10.
回复

使用道具 举报

37

主题

9872

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2021-10-23 09:15 | 显示全部楼层
不是,全局变量只会在第一个k上初始化。因为TENTERBARS函数返回值的问题,您是看不出全局变量特点的。(它没必要通过全局变量存储,多此一举)
可以通过这种方式理解:
[PEL] 复制代码
VARIABLE:bbb=-1;//全局变量,它的生命周期是从第一根k线到最后一个k线。只会在第一根k上初始化。只会在第一根上讲-1赋值给bbb.
a:10;//普通变量,会在每根k上初始化,即公式在每一根k上,执行到此句时都会将10赋值给a
bar:BARPOS;
if barpos =10 then  bbb:=10;//在第10根之前,bbb都是-1.
if barpos =30 then  bbb:=bbb+1;在第30根之前bbb都是10
if barpos =50 then  bbb:=bbb+1;在第50根之前bbb都是30,之后bbb是50,

show:bbb;


注:VARIABLE不建议使用在后台上,因为后台一般是固定k线数量,当新k产生时,通过VARIABLE处理的变量会发生变化。一般用GLOBALVARIABLE或者ext...全局变量。
全局变量函数的差异对比见下连接
https://www.weistock.com/docs/PE ... F%98%E9%87%8F.html#全局变量作用范围
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-10 17:43 , Processed in 0.177538 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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