以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于全局变量的使用  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=140118)

--  作者:ray322
--  发布时间:2016/9/27 15:05:45
--  关于全局变量的使用
您好,我用的后台交易程序,希望用一个全局变量n,来记录是否送过单。请问这样使用是否有问题。    附上打印的部分log文件,输出的文本好像不太对,求教。谢谢!


cond:=#buycond.xg#;
//全局变量,记录是否买入,0是没送过买单,1是送过单
VARIABLE:n=0;

IF (CURRENTTIME>=130000 and CURRENTTIME<=140000) THEN BEGIN
//开仓    
    DEBUGFILE(\'D:\\log.TXT\',STKNAME(),2);
    DEBUGFILE(\'D:\\log.TXT\',\'n:%.0f\',n);
    if n=0 then begin
   TCANCEL(1,0);
   buynumber:=10000;
   FLOORNUMBER:=FLOOR(buynumber/100)*100;//股票数量变为100的整数倍送单
   FLOORCHICANG:=FLOOR(TBUYHOLDINGEX(\'\',\'\',0)/100)*100;
   if (cond=1 AND FLOORCHICANG<FLOORNUMBER) then BEGIN
    Tbuy(FLOORCHICANG<FLOORNUMBER,FLOORNUMBER-FLOORCHICANG,LMT,DYNAINFO(28));
  n:=1;
   end
end
DEBUGFILE(\'D:\\log.TXT\',\'n:%.0f\',n);
END

//尾盘重置全局变量
IF CURRENTTIME>=145950 THEN BEGIN
n:=0;
end





log。txt中部分文本
2016-09-27 14:40:21.948    中信证券
2016-09-27 14:40:21.949    n:1
2016-09-27 14:40:21.967    n:1
2016-09-27 14:40:21.968    盐 田 港
2016-09-27 14:40:21.970    n:0
2016-09-27 14:40:22.040    n:0
2016-09-27 14:40:22.041    北化股份
2016-09-27 14:40:22.042    n:1
2016-09-27 14:40:22.115    n:1
2016-09-27 14:40:22.116    柳化股份
2016-09-27 14:40:22.117    n:1
2016-09-27 14:40:22.184    n:1

--  作者:jinzhe
--  发布时间:2016/9/27 15:08:44
--  
用户觉得不对在哪里?
--  作者:ray322
--  发布时间:2016/9/27 15:15:34
--  
我预期的情况有这么几种:
A 满足买入条件,没有送过单,此时n=0,然后运行tbuy,然后n置为1,打印出来是
类似 中信证券
      n=0
      n=1;
B 满足买入条件,送过单了,此时n=1,不运行tbuy,n还是1,打印出来是类似
 中信证券
      n=0
      n=1;
C 不满足买入条件,没有送过单,n=0,不运行tbuy,然后n=0,打印出来是类似
 中信证券
      n=0
      n=0;
D 不满足买入条件,送过单了,n=1,不运行tbuy,n还是1,打印出来是类似
 中信证券
      n=1
      n=1;




--  作者:ray322
--  发布时间:2016/9/27 15:16:36
--  
实际上,没有送过买单,应该只会出现A和C的情况。  但是实际log中出现的c和d的情况。。。
--  作者:ray322
--  发布时间:2016/9/27 15:17:35
--  
我第一次用金字塔的全局变量,不知道使用上哪里出了什么问题。盼解答,谢谢!
--  作者:pyd
--  发布时间:2016/9/27 15:25:59
--  

后台要用后台的全局变量

globalvariable,你用的那个是图表上的,不适用于后台


--  作者:ray322
--  发布时间:2016/9/27 15:28:04
--  
ok,多谢!
--  作者:spunk
--  发布时间:2016/9/27 20:41:40
--  
我搭台问一下,globalvariable或者是数据库全局变量,如果是一个策略监控多个品种,全局变量对每个品种是不同的值,还是都是一样的值。比如我记录每个品种的开仓滑点数
--  作者:jinzhe
--  发布时间:2016/9/28 9:03:09
--  
不一样的,每个监控的品种都是各自独立的
--  作者:spunk
--  发布时间:2016/9/28 15:15:00
--  
再多问一句。首先我指的是后台交易的程序。EXTGBDATASET申明的变量可以多策略共享,那同样的,对单个策略监控的不同品种,EXTGBDATASET申明的变量是不是对每个品种都是同样的一个变量?