金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 103918

请教全局变量问题

[复制链接]

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 10:04 | 显示全部楼层
请教老师,请问全局变量,为什么自动相加?
23.02.01 10:03:12 510500
A1值为0.00
23.02.01 10:03:12 510500
A2值为1.00
23.02.01 10:03:12 510500
A3值为2.00
23.02.01 10:03:12 510500
A4值为3.00
23.02.01 10:03:12 510500
A5值为4.00
23.02.01 10:03:12 510500
A6值为5.00
23.02.01 10:03:12 510500
A1值为0.00
23.02.01 10:03:12 510500
运行结束
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 10:04 | 显示全部楼层
EXTGBDATASET('A1',0);//0表示策略1空仓状态  1表示策略1开仓状态
EXTGBDATASET('A2',0);//0表示策略2空仓状态  1表示策略2开仓状态
EXTGBDATASET('A3',0);//0表示策略3空仓状态  1表示策略3开仓状态
EXTGBDATASET('A4',0);//0表示策略4空仓状态  1表示策略4开仓状态
EXTGBDATASET('A5',0);//0表示策略5空仓状态  1表示策略5开仓状态
EXTGBDATASET('A6',0);//0表示策略6空仓状态  1表示策略6开仓状态
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-1 10:07 | 显示全部楼层
你是不是还有其他对全局变量赋值的语句。就上面的语句是不会造成这个问题的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 10:12 | 显示全部楼层
其它策略有相同变量,但是程序化没开影响吗?
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 10:16 | 显示全部楼层
IF 策略1开多条件  and  EXTGBDATA(‘myone’)=0  THEN BEGIN
TBUY(  1      , 手数,MKT);
EXTGBDATASET(‘myone’,1);
  END

开多条件有限制,EXTGBDATA(‘myone’)=0,只有空仓才开呀,现在不停地开,不受EXTGBDATA(‘myone’)=0控制,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-1 10:21 | 显示全部楼层
不是 你排查下代码 。如果你只有那几行赋值为0的代码,那全局变量你用它也毫无意义了,所以你必然有其他赋值语句。

“开多条件有限制,EXTGBDATA(‘myone’)=0,只有空仓才开呀,现在不停地开,不受EXTGBDATA(‘myone’)=0控制,” 去交易日志里查下 开仓的策略以及对应的下单语句,你看看是不是全局变量控制下的语句开的仓。从逻辑上看 那个全局变量控制下单应该是没问题的。有可能是其他地方的语句触发的开仓。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 10:26 | 显示全部楼层
有全局变量控制下的语句开的仓,现在问题是开仓不止,不平仓
IF 平空条件A2 AND EXTGBDATA('A2')=1 THEN BEGIN
     EXTGBDATASET('A2',0);
     TSELL(1   ,SS,LMT,P1_option_bid,0,'',P1_option);//平多沽
     TSELLSHORT(1  ,SS,LMT,C1_option_ask,0,'',c1_option);//平空购
     
  END


  IF 开多条件A2  AND EXTGBDATA('A2')=0 THEN BEGIN
     EXTGBDATASET('A2',1);
     TBUY(  1      ,ss,LMT,C1_option_ask,0,'',c1_option);
     TBUYSHORT( 1  ,ss,LMT,P1_option_bid,0,'',P1_option);
     
  END
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-2-1 10:37 | 显示全部楼层
你是在其他地方不断的把全局变量重置为0 了吧。。。然后你这里的限制 就等于是无效。

你前面那几行重置全局变量的代码 你是不是完全没加限制?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-1 18:36 | 显示全部楼层
debugfile 与debugout 显示数值不一致,debugfile 里全为0,degugout 里全为0,1,2,3,4,5,没有变化,?请问是怎么回事呀?我设置变量的目的是区分开过仓与否,是不是可以用字符串变量呀?
截图202302011836193044.png
回复

使用道具 举报

156

主题

445

帖子

445

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2023-2-2 03:38 | 显示全部楼层
我再改改,程序一开始设置了全局变量有赋值为0,盘中开平仓动作重新赋值,没有成功,谢老师
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 14:06 , Processed in 0.140042 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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