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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 关于全局变量在后台交易中的正确书写

   

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


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

主题:关于全局变量在后台交易中的正确书写

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:14:17 [显示全部帖子]

2楼的写法没符合楼主要求吗?

 

逐K线模式的话,还要加islastbar控制

 

if bb  and EXTGBDATA('k1' )=0 then begin

    tsellshort(1,0,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tsell(1,0,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    tbuy(1,1,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tbuyshort(1,1,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    if islastbar then begin

      EXTGBDATASET( 'k1',1);
      EXTGBDATASET( 'h1',0);

    end
end

if ss  and EXTGBDATA('h1' )=0 then begin

    tsell(1,0,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tsellshort(1,0,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    tbuyshort(1,1,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tbuy(1,1,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    if islastbar then begin

      EXTGBDATASET( 'h1',1);
      EXTGBDATASET( 'k1',0);

    end

end

[此贴子已经被作者于2012-5-24 21:21:06编辑过]

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:23:20 [显示全部帖子]

逐K线要加islastbar控制

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:28:33 [显示全部帖子]

如果你的条件是“可历史记忆”的话,用variable就行了吧

 

逐K线模式

variable:abb=0;

if bb  and abb>=0 then begin

    abb:=-1;

    tsellshort(1,0,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tsell(1,0,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    tbuy(1,1,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tbuyshort(1,1,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;

end

if ss  and abb<=0 then begin

    abb:=1;

    tsell(1,0,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tsellshort(1,0,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    tbuyshort(1,1,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tbuy(1,1,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;

end

[此贴子已经被作者于2012-5-24 21:28:56编辑过]

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:32:06 [显示全部帖子]

以下是引用sun884588在2012-5-24 21:27:14的发言:

以上面的为例,比方存在

1.不开仓,明明满足条件了,不开仓,为什吗说条件满足了呢,因为两点a,全局变量已经改变。b。我用了另外一个帐号,不使用全局变量,即原始信号,是有信号。

2.当bb满足,正常k1应该变成1,但是奇怪的是k1会来回跳,一会是1,一会是0.这就怪了呀,正常情况,k1变回0只可能触及了ss,问题是此时并没有执行ss,而是仍旧保留这bb的仓位。过一会,它又跳回来1了。

 

 

这些问题就是没用islastbar控制造成的。加islastbar就可以了

另外,你的问题用9楼的写法就行了。无需用extgbdata这种变量


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
金字塔如何编写画出带状线?  发帖心情 Post By:2012/5/24 21:42:23 [显示全部帖子]

不可记忆的啊,那就用:

globalvariable:abb=0;

if islastbar then begin

if bb  and abb>=0 then begin

    tsellshort(1,0,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tsell(1,0,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    tbuy(1,1,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tbuyshort(1,1,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    abb:=-1;
  end

if ss  and abb<=0 then begin

    tsell(1,0,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tsellshort(1,0,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    tbuyshort(1,1,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tbuy(1,1,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    abb:=1;

    end

end


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:43:22 [显示全部帖子]

你把条件贴出来啊(可以改成类似的,能说明问题,免得你思路泄露了) ,这样才能真正了解你的意图啊

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:45:33 [显示全部帖子]

以下是引用sun884588在2012-5-24 21:38:27的发言:
DYNAINFO( 28),DYNAINFO( 34)也就是末周期开仓条件有动态行情函数参与计算。

仅仅是下单的时候才用到这个?

那信号还是可历史记忆的啊?

 

烦了,问题要描述完整啊


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 21:48:29 [显示全部帖子]

variable  : 作用范围,模型内部

extgbdata :作用范围:整个软件


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/24 22:03:59 [显示全部帖子]

那就是信号不可历史记忆了。上面说过方法了,应该可以了,你明天试试

 

给你写个简明版的, 用一个全局变量就行了

if islastbar then begin

if bb  and EXTGBDATA('abb')>=0 then begin

    tsellshort(1,0,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tsell(1,0,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    tbuy(1,1,lmt,远期卖一+3,0,'802089','zjif09'),orderqueue;
    tbuyshort(1,1,lmt,近期买一-3,0,'802089','zjif06'),orderqueue;
    EXTGBDATASET( 'abb',-1);
  end

if ss  and EXTGBDATA('abb')<=0 then begin

    tsell(1,0,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tsellshort(1,0,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    tbuyshort(1,1,lmt,远期买一-3,0,'802089','zjif09'),orderqueue;
    tbuy(1,1,lmt,近期卖一+3,0,'802089','zjif06'),orderqueue;
    EXTGBDATASET( 'abb',1);
  end

end


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/5/25 8:38:58 [显示全部帖子]

要谢admin,admin为了广大塔友每晚都工作到凌晨3:00


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