以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  多品种能用TORDERPRICE吗?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=157438)

--  作者:leiting99
--  发布时间:2017/8/30 11:36:48
--  多品种能用TORDERPRICE吗?
比如说出了个交易信号,我在2500元开多3手焦炭,600元开多10手铁矿,结果3手焦炭都成交了,铁矿成交了1手未成交9手,铁矿买一价涨到了601元,我想撤掉未成交的铁矿,以现在的买一价挂9手多单,用
IF DYNAINFO2(28, \'I01\')>TORDERPRICE(1,1) then begin
TCANCELEX(1,1,\'\',I01);
TBUY(1,9,[LMT,DYNAINFO2(28, \'I01\'),0,\'\',I01]);
END;
这样写可以吗?TORDERPRICE没有指定品种会不会取到焦炭的委托价2500元呢?现在版本的TENTERPRICE也可以得到上次委托价,用哪一个更好?
谢谢

--  作者:leiting99
--  发布时间:2017/8/30 12:35:41
--  
可以实现吗?
--  作者:wenarm
--  发布时间:2017/8/30 12:41:32
--  

TORDERPRICE函数不会取乱的。

你上面的逻辑处理中,不建议用这个作为条件,因为行情在发生波动时,会造成刚发出的单子,就紧接着发出撤单指令。(后台程序化由于操作实际账户,软件和柜台之间通讯是需要时间的)

你可以考虑改成多少s不成交则撤单,TSUBMIT函数

[此贴子已经被作者于2017/8/30 12:41:43编辑过]

--  作者:leiting99
--  发布时间:2017/8/30 12:51:42
--  
如果刚发出单子,铁矿的买一价就涨到比我委托价更高,我愿意马上发出撤单指令。
我是想说,面对这种多品种下单的情况,如果焦炭和铁矿的挂单都没有成交,这个TORDERPRICE会自动指向各自品种吗?
IF DYNAINFO2(28, \'I01\')>TORDERPRICE(1,1) then begin
TCANCELEX(1,1,\'\',I01);
TBUY(1,9,[LMT,DYNAINFO2(28, \'I01\'),0,\'\',I01]);
END;
IF DYNAINFO2(28, \'J01\')>TORDERPRICE(1,1) then begin
TCANCELEX(1,1,\'\',J01);
TBUY(1,3,[LMT,DYNAINFO2(28, \'J01\'),0,\'\',J01]);
END;

--  作者:wenarm
--  发布时间:2017/8/30 13:03:11
--  
是的,取得就是各自的