金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7053|回复: 12

extgb全局变量失效错误

[复制链接]

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
发表于 2022-5-26 13:36 | 显示全部楼层 |阅读模式
问题:全局变量失效问题?
这段代码执行:
if time=93100 THEN
BEGIN
        MSGOUT(1,'time93100....');
        EXTGBSTRINGSET('haha','nihao.....chen');
        x3:= EXTGBSTRING('haha');
        msgout(1,x3);
        EXTGBDATASET('haha2',7777);
        x4: EXTGBDATA('haha2');
        msgout(1,NUMTOSTR(x4,0));
END;
测试到的执行结果:
2022/05/26 13:26:42  time93100....
2022/05/26 13:26:42  
2022/05/26 13:26:42  0
这个结果说明字符型全局变量创建设值后,马上读出来是空内容,对于数值全局变量就是0.这是啥原因?同时数据管理=》全局变量里面查找啥都没有?(之前有一大堆,我把这个表内容清空了,但执行上述代码应该能够产出全局变量‘haha’ 和 'halha2'才对)
截图202205261333241811.png

回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-5-26 13:47 | 显示全部楼层
EXT全局变量只会在最新的K线上满足才会写入的,你可以改下你的条件测试下。历史上满足是不会写入的。你的全局变量中没有记录,所以输出的才是0.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-5-26 14:13 | 显示全部楼层
为何测试软件里面明明写入了全局变量,为何找不到?
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-5-26 14:18 | 显示全部楼层
ext全局变量类似于 一个可以保存到金字塔系统内部数据库的内存变量,因此,从策略执行的第一根bar开始的 1年时间的 万多根1分钟bar中,不动计算和存钱 ext指定的变量值,用于进行2个策略直接的信号交流,但这项功能ext变量怎么没有起到作用,那金字塔设置这个变量来干啥?另外就是实现 2个品种的套利,之间的信号沟通也是通过ext全局变量才能实现? 如果ext变量不行,改用啥变量?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-5-26 14:25 | 显示全部楼层
ext全局变量只在最新的K线上记录,且只有最新值,没有历史值的,只会保存最新的。两个策略之间的全局变量交互,只能使用这类作用于整个金字塔的超全局变量,但是如果你要记录每根K线上超全局变量的值,那没有的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-5-26 14:31 | 显示全部楼层
问一个最简单问题:
        EXTGBSTRINGSET('haha','nihao.....chen');
        x3:= EXTGBSTRING('haha');
        msgout(1,x3);
为何‘haha’全局变量设置之后,在全局变量中查不到? 说明系统功能有问题?
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-5-26 14:38 | 显示全部楼层
本帖最后由 技术010 于 2022-5-26 14:47 编辑

本地测试,这段代码可以写入啊,全局变量数据管理界面在打开的时候,不会实时显示为最新的,你要关掉打开才看到最新的。
截图202205261438017622.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-5-26 14:54 | 显示全部楼层
运行后 在全局变量查询功能中找到,问:“运行”该策略表示在当前图表的当前周期(1分钟)上加载该策略并运行,如何停止运行?是在图表上强行删掉这个策略?
截图202205261451372827.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-5-26 14:58 | 显示全部楼层
是啊,只能把图表上加载的策略去掉,否则有分笔过来,都会触发图表上的公式计算的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

61

主题

197

帖子

197

积分

等级: 免费版

注册:
2021-9-28
曾用名:
 楼主| 发表于 2022-5-26 15:09 | 显示全部楼层
这样当前周期是1分钟,则每一分钟有数据驱动过来,策略执行1次,因此可以在策略中计算并将结果保存到全局变量中,共另一个策略读取或者同一策略加载的下一个品种执行时读取改变量信息进行相应套利操作等,也就是说该全局变量虽然不是每一根bar上都有值,但是其本身就是一个国定变量,只要对其改变,后面就是这个改变后的至,直到另一个策略对其值进行改变,这样才是合理的逻辑,是这样吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-18 19:43 , Processed in 0.158496 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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