以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 有关撤单追单 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=62550) |
|
-- 作者:fsrobin -- 发布时间:2014/3/11 11:37:54 -- 有关撤单追单
|
|
-- 作者:jinzhe -- 发布时间:2014/3/11 13:08:03 -- 用360浏览器发的帖?看不到发帖内容,用IE再发一遍 |
|
-- 作者:fsrobin -- 发布时间:2014/3/11 13:14:57 -- 开多:TBUY(开多条件,手数,LMT,DYNAINFO(28)); 开多撤单:TCANCEL(DYNAINFO(28)>TENTERPRICE,1); 思路是之前买一卖一为99/100,变成100/101时委托100买,没成交并出现101/102时,撤100并马上委托101 代码上面这样写变成出现102/103时才挂102 下面这样写,出现连续挂多单现象 开多:TBUY(开多条件,手数,LMT,DYNAINFO(28)); IF DYNAINFO(28)>TENTERPRICE THEN BEGIN TCANCEL(1,1); TBUY(TISREMAIN(1)=0 AND TBUYHOLDING(0)=0,手数,LMT,DYNAINFO(28)); END 求助修改出符合思路的代码
|
|
-- 作者:fsrobin -- 发布时间:2014/3/11 13:25:27 -- 能看到了吗?用分笔图测试的 开多:TBUY(开多条件,手数,LMT,DYNAINFO(28)); 开多撤单:TCANCEL(DYNAINFO(28)>TENTERPRICE,1); 思路是之前买一卖一为99/100,变成100/101时委托100买,没成交并出现101/102时,撤100并马上委托101 代码上面这样写变成出现102/103时才挂102 下面这样写,出现连续挂多单现象 开多:TBUY(开多条件,手数,LMT,DYNAINFO(28)); IF DYNAINFO(28)>TENTERPRICE THEN BEGIN TCANCEL(1,1); TBUY(TISREMAIN(1)=0 AND TBUYHOLDING(0)=0,手数,LMT,DYNAINFO(28)); END 求助修改出符合思路的代码 [此贴子已经被作者于2014/3/11 13:25:43编辑过]
|
|
-- 作者:jinzhe -- 发布时间:2014/3/11 13:43:53 -- 开多条件是什么? |
|
-- 作者:fsrobin -- 发布时间:2014/3/11 13:45:54 -- N:=REF(BARSLAST(C<>REF(C,1)),1); //交易条件 开多条件:=TISREMAIN(1)=0 AND TBUYHOLDING(0)=0 AND C>REF(C,1) AND (REF(C,N+1)>REF(C,N+2) OR REF(C,1)>REF(C,2));
|
|
-- 作者:fsrobin -- 发布时间:2014/3/11 13:47:03 -- 问题出现在开多条件和撤单条件 实际上是一样的,只是表达方式不同。 [此贴子已经被作者于2014/3/11 13:47:16编辑过]
|
|
-- 作者:jinzhe -- 发布时间:2014/3/11 13:59:36 -- 开多条件:=TISREMAIN(1)=0 AND TBUYHOLDING(0)=0 AND C>REF(C,1) AND (REF(C,N+1)>REF(C,N+2) OR REF(C,1)>REF(C,2));
这个开多条件是不是不要表达: TISREMAIN(1)=0 AND TBUYHOLDING(0)=0 AND C>REF(C,1) 这个条件和 (C,N+1)>REF(C,N+2) OR REF(C,1)>REF(C,2)); 这两个条件同时成立?
那么就要多加一个括号 开多条件:=TISREMAIN(1)=0 AND TBUYHOLDING(0)=0 AND C>REF(C,1) AND ((REF(C,N+1)>REF(C,N+2) OR REF(C,1)>REF(C,2)));
|
|
-- 作者:fsrobin -- 发布时间:2014/3/11 14:03:31 -- 是要同时成立,括号好像也够了吧,加就加吧, |
|
-- 作者:jinzhe -- 发布时间:2014/3/11 14:20:56 -- 不是,你不加就是 tisremain(1)=0 AND TBUYHOLDING(0)=0 AND C>REF(C,1) AND (REF(C,N+1)>REF(C,N+2) 或者 REF(C,1)>REF(C,2)); 这两个中的某一个成立,
REF(C,1)>REF(C,2))这个条件太好成立了 |