欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 全局变量赋值后,怎么被恢复为初始值呢?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有10175人关注过本帖树形打印复制链接

主题:全局变量赋值后,怎么被恢复为初始值呢?

帅哥哟,离线,有人找我吗?
ivan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
全局变量赋值后,怎么被恢复为初始值呢?  发帖心情 Post By:2014/8/20 11:44:10    Post IP:119.136.50.239[显示全部帖子]

 GLOBALVARIABLE:kcss=0,kg=1;

  if TISPRVREMAIN(1) then
   BEGIN
    TBUYSHORT(1,1,MKT,0,0,'',jq);
 MSGOUT(1,'jq开空');
    kcss=kcss+1;
 MSGOUT(1,NUMTOSTR(kcss,0));
    sleep(2080);
   end

全局变量赋值后,怎么被恢复为初始值呢?

这个kcss变量,刚加上1后,kcss=1,再轮询又发现kcss=0 

到底怎么处理才好呢?

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/20 11:57:35    Post IP:119.136.50.239[显示全部帖子]

不要用数据库全局变量来处理,否则多品种多周期组合时,数据库全局变量太多,不好管理。

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/20 12:24:51    Post IP:119.136.50.239[显示全部帖子]

我在代码中用了msgout监控啊,看到就是刚赋值+1,kcss=1,下一轮询又发生kcss=0了

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/20 12:29:47    Post IP:119.136.50.239[显示全部帖子]

没有其它代码会对kcss赋值,只有在平仓代码里会-1,别的地方都没有对kcss操作,监控里也没看到平仓提示的:

  if kg=1 then
   BEGIN
    TSELLSHORT(1,1,LMT,c,0,'',yq);
    kg:=0;    
 MSGOUT(1,'yq平空');
   end
  if TISPRVREMAIN(4) then
   BEGIN
    TSELL(1,1,MKT,0,0,'',jq);
 MSGOUT(1,'jq平多');
    kcss:=kcss-1;
 MSGOUT(1,NUMTOSTR(kcss,0));
    sleep(2080);
   end

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/20 16:16:28    Post IP:119.136.50.239[显示全部帖子]

  if kg=1 then
   BEGIN
    TSELLSHORT(1,1,LMT,c,0,'',yq);
    kg:=0;    
 MSGOUT(1,'yq平空');
   end
  if TISPRVREMAIN(4) then
   BEGIN
    TSELL(1,1,MKT,0,0,'',jq);
 MSGOUT(1,'jq平多');
    kcss:=kcss-1;
    EXTGBDATASET('kcss',kcss1-1);
 MSGOUT(1,NUMTOSTR(kcss,0));
    sleep(2080);
   end

只有这个地方会-1操作,但如果进入这里的话,那么会输出‘jg平多'的,但从监控来看从来没有没看到这个输出结果。

会不会跟下面代码最后一行有关?

input:ss(3,1,10,1);
VARIABLE:kcss=0,kg=1;
kcss1:=EXTGBDATA('kcss');

//后台模式
if not(islastbar) or workmode<>1 then exit;

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/21 14:08:06    Post IP:119.136.50.239[显示全部帖子]

写文件会不会影响速度啊?

另外TISPRVREMAIN(4)是指本策略下的上笔交易,还是包含所有后台交易其它下的单子呢?

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/22 10:47:00    Post IP:119.136.50.239[显示全部帖子]

以下是引用fly在2014/8/21 17:00:41的发言:

会的,影响不大

 

指本策略下的上笔交易


 
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140822104219.jpg
图片点击可在新窗口打开查看


那为什么下列的代码是上图的结果呢?没等10合约买入成交后,09合约也报单了,而且还成交了,而10合约30秒后没成交撤单了,28秒位置是我手工平掉单腿套利的单子


 BEGIN

  if kg=1 THEN

   BEGIN

    TBUY(1,1,LMT,c,0,'',yq);

    EXTGBDATASET('kg1009',0);

   end

   

  if TISPRVREMAIN(1) then

   BEGIN

    TBUYSHORT(1,1,MKT,0,0,'',jq);

 MSGOUT(1,'jq开空');

    kcss:=kcss+1;

    EXTGBDATASET('kcss1009',kcss);    

    sleep(2080);

   end



 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/22 11:08:55    Post IP:119.136.50.239[显示全部帖子]

以下是引用RogarZ在2014/8/21 17:07:52的发言:
写文件比内建数据库的效率低,但是差距非常非常的小
而且 写文件即使金字塔出现问题,相关变量的值还是妥善的保存的,优势明显。
改iNi吧

能否一段写ini的例子?谢谢!
比如管理多策略各自持仓的。


 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/22 15:37:34    Post IP:119.136.50.239[显示全部帖子]

TISPRVREMAIN(1) 上笔单子未成交的话,返回什么值?1?

 回到顶部
帅哥哟,离线,有人找我吗?
Ivan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2014/8/29 12:45:40    Post IP:113.87.59.120[显示全部帖子]

TISPRVREMAIN(1),表示上一笔交易未成交=1,成交=0,对吗?

假如这个时候别的策略别的品种也刚好开多,并成交了,而刚才那个策略的那一笔多单还没成交,
这时候返回什么值呢?

 回到顶部
总数 18 1 2 下一页