以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]连续追单怎么写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=2414)

--  作者:影无月
--  发布时间:2010/8/9 19:08:46
--  [原创]连续追单怎么写?

恳请请版主帮忙,连续追单怎么写,目的是为了有时候市场价追单不能成交,必须连续追单


A:=....;//条件
LOT:=100;//开仓手数
T:=3;//追仓间隔时间

IF A AND TBUYHOLDING<LOT  THEN BEGIN

 

????????

END

//每隔T秒以市场价开多追价下单   LOT- TBUYHOLDING           手,当 TBUYHOLDING=LOT 时,追价结束

[此贴子已经被作者于2010-8-9 19:23:41编辑过]

--  作者:admin
--  发布时间:2010/8/9 22:24:09
--  
A:=....;//条件
LOT:=100;//开仓手数
T:=3;//追仓间隔时间

IF A AND TBUYHOLDING<LOT  THEN BEGIN

 

????????

打这么问号干嘛,这里开仓啊!

TBUY(1,LOT-TBUYHOLDING ,MKT);

END


--  作者:影无月
--  发布时间:2010/8/10 4:49:25
--  
TBUY(1,LOT-TBUYHOLDING ,MKT);有时不能成交,所以需要追单,直到完全成交。如果采用TBUY(1,LOT-TBUYHOLDING ,MKT),ALLOWREPEAT;高频交易时,又会由于TBUYHOLDING 来不及返回而产生实际开仓手数大于开仓手数的问题。我需要的是当条件A满足时候,立即市场价买入,T秒后如果出现TBUYHOLDING<LOT  ,那么每隔时间T发出一个市场价买入信号,直到TBUYHOLDING=LOT  结束


--  作者:影无月
--  发布时间:2010/8/10 8:06:20
--  

按照上面的思想,不知道写的对不对,请版主指教。不胜感谢!
 
A:=....;//条件
LOT:=100;//开仓手数
T:=3;//追仓间隔时间

if a then begin

REPEAT 
tbuy(lot>tbuyholding(1),lot-tbuyholding(1),mkt);

sleep(T);
until

tbuyholding(1)>=lot or NOT(A);

end


--  作者:wattwei
--  发布时间:2010/8/10 8:41:34
--  
帮助文档写有:当位于最后一个周期时,延时指定数量时间后再执行下条语句。
用法:SLEEP(D),D为延时的设置时间,单位为毫秒(1秒钟等于1000毫秒)。
例如:SLEEP(1000)表示等待1秒后再执行下行语句。
所属函数组:后台程式化交易

不知系统最小响应时间是多少,楼上的T设为等于3,3毫秒查询一次。有些系统对无赖查询好像有时间间隔,不懂同问

--  作者:wattwei
--  发布时间:2010/8/10 8:47:56
--  
 另外,程序中是否还应该考虑到撤单?存在资金不够,开不出仓的可能
--  作者:影无月
--  发布时间:2010/8/10 9:41:31
--  

我不知道该怎么实现我的想法,请帮忙写一下。T应该可以修改,改为5000,

[此贴子已经被作者于2010-8-10 9:45:16编辑过]