金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 119|回复: 1

关于GLOBALVARIABLE 和 EXTGBDATASET 设置变量的区别

[复制链接]

67

主题

160

帖子

170

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2024-9-24 11:34 | 显示全部楼层 |阅读模式
出于某些原因,我需要在后台策略里设计一个延时循环,后台运行多组策略的时候,这个延时循环里的变量显然需要独立运行,虽然变量的名称都一样,因为用的同样的代码,只是挂了不同的品种。那么请问,此时用GLOBALVARIABLE 的话,每个程序在使用相同的变量名的时候,会相互影响吗???
举例:
后台螺纹钢程序:
GLOBALVARIABLE: XD_TICK:=0;
IF COND=1  AND XD_TICK=0 THEN
BEGIN
        TBUY(1,CORRECTION,LMT,C,0,103759,RB00);
        XD_TICK:=1;
END

IF XD_TICK>0  THEN XD_TICK:=XD_TICK+1;
IF XD_TICK>40 THEN XD_TICK:=0;


后台沪铜程序:
GLOBALVARIABLE: XD_TICK:=0;
IF COND=1  AND XD_TICK=0 THEN
BEGIN
        TBUY(1,CORRECTION,LMT,C,0,103759,CU00);
        XD_TICK:=1;
END

IF XD_TICK>0  THEN XD_TICK:=XD_TICK+1;
IF XD_TICK>40 THEN XD_TICK:=0;



后台沪镍程序:
GLOBALVARIABLE: XD_TICK:=0;
IF COND=1  AND XD_TICK=0 THEN
BEGIN
        TBUY(1,CORRECTION,LMT,C,0,103759,NI00);
        XD_TICK:=1;
END

IF XD_TICK>0  THEN XD_TICK:=XD_TICK+1;
IF XD_TICK>40 THEN XD_TICK:=0;



其实就是每个后台都有自己独立的xd_tick做的延时,而不能相互影响。
那么请问这里用GLOBALVARIABLE 对吗?? 因为字面意思GLOBAL是全局全球的意思,这样会不会导致我这三个后台程序都公用了一个变量,导致他们相互影响了???我知道写在外部的EXTGBDATASET 是可以做到多个后台程序共用一个变量的,那么这里GLOBALVARIABLE 到底是独立于其他策略的一个本策略内部使用的变量,还是所有程序都可以调用的“全局变量”?? GLOBAL这个词在这里很有误导性
回复

使用道具 举报

1

主题

4260

帖子

4260

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-24 13:02 | 显示全部楼层
“那么这里GLOBALVARIABLE 到底是独立于其他策略的一个本策略内部使用的变量,还是所有程序都可以调用的“全局变量”?”

单个执行的内部,比如你一个策略监控了10个品种,那每个品种之间这个全局变量都是相互独立的。并且在程序停止后,自动销毁,不会保存下来。它仅仅运行中有效。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 02:52 , Processed in 0.256439 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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