以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于隔一段时间撤单再送单的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138048)

--  作者:ray322
--  发布时间:2016/8/16 10:30:52
--  关于隔一段时间撤单再送单的问题
后台交易中,我想满足条件后买1价格送买单,隔15秒后,撤掉没成交的单,在新的买一继续送单,下面代码和问题:


//buyornot和lasttime是全局变量,希望一个能记录是否满足开始送单,一个记录上次送单的时间;
//cond是选股逻辑,这里和问题无关,省略了

//FLOORCHICANG是已经买入的持仓数量,FLOORNUMBER是需要买入的总量;只要持仓量小于需要买入总量,就不停再买入

    if buyornot=0 then LASTTIME:=0;
    if (cond=1  AND (TIMETOT0(CURRENTTIME)-TIMETOT0(LASTTIME)>15)) then BEGIN
    TCANCEL(1,0);
        Tbuy(FLOORCHICANG<FLOORNUMBER,FLOORNUMBER-FLOORCHICANG,LMT,DYNAINFO(28));
        buyornot:=1;
        LASTTIME:=CURRENTTIME;
    end


执行的问题:
TIMETOT0(LASTTIME)返回的始终是0,所以第二个if里面每次刷新代码都会执行,而不是我希望的15秒以后。
2 第一次撤单以后,不会再送买单了。  以后无论多少次执行到第二个if,tbuy都不会再有买入委托了。

谢谢。

--  作者:jinzhe
--  发布时间:2016/8/16 10:35:18
--  
你这个15秒撤单追单用系统自带的不就好了
--  作者:ray322
--  发布时间:2016/8/16 10:37:24
--  
能告诉我,我的问题出在哪里吗?谢谢
--  作者:jinzhe
--  发布时间:2016/8/16 10:48:10
--  

1.你要设定成15秒间隔

2.因为同一根k线一个开仓语句只能触发一次,你的开仓语句触发过一次再同一根k线就不会再触发了


--  作者:ray322
--  发布时间:2016/8/16 10:51:09
--  
15秒不行啊,我其他部分还有止损的,15秒间隔就太大了。 

一个k线后台要送多次单的怎么办呢?没有办法实现吗?

--  作者:jinzhe
--  发布时间:2016/8/16 11:00:26
--  
以下是引用jinzhe在2016-8-16 10:35:18的发言:
你这个15秒撤单追单用系统自带的不就好了


--  作者:ray322
--  发布时间:2016/8/16 11:08:06
--  
系统自带我,我看见描述是多少价格以内追,我要放在买一;我的资金可能比较多,我不想拉高股票价格,所以要在买一等。 
--  作者:jinzhe
--  发布时间:2016/8/16 11:15:07
--  
这个是判断开仓价格和当前价格差多少时追单,不是以这个价格去追单。后面的设置才是追单价格,你设置个市价单就可以了
--  作者:ray322
--  发布时间:2016/8/16 11:23:51
--  
市价有可能推高价格啊
--  作者:jinzhe
--  发布时间:2016/8/16 11:31:31
--  
那这个就真难了,你的要求可能会造成同一根k线重复下单,这个在后台里面是处理不了的,用系统自带的可能会比较好