以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  TISPRVREMAIN(3)函数  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=159759)

--  作者:yin8jun
--  发布时间:2017/11/22 13:19:28
--  TISPRVREMAIN(3)函数
我在后台程序化里使用了TISPRVREMAIN(3),明明上一手空单已成交,但是debugfile出来的数值一直为0.
--  作者:gxx978
--  发布时间:2017/11/22 13:45:05
--  

TISPRVREMAIN(3)函数取到的上一次开空成交状态的是通过后台程序化交易明细窗口获取的,你看下你的交易明细那是否已成交的状态。本地测试正常。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171122134052.png
图片点击可在新窗口打开查看

--  作者:wenarm
--  发布时间:2017/11/22 13:52:32
--  
这个函数只对通过后台程序化下单的监测有效,对于其他的挂单方式,没有效果
--  作者:yin8jun
--  发布时间:2017/11/22 14:30:42
--  
我用的是股指期货模拟,会不会有影响
--  作者:banzhuan
--  发布时间:2017/11/22 14:37:06
--  
通过后台程序化下单的品种都可以,股指当然也可以;
--  作者:gxx978
--  发布时间:2017/11/22 14:49:59
--  

TISPRVREMAIN该函数是上一次交易是否成交,未成交返回1,成交返回0。重新测试了下,连续输出时,程序化成交了,是输出为0,表示成交了,上一次交易没有存在未成交情况。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171122144922.png
图片点击可在新窗口打开查看

--  作者:yin8jun
--  发布时间:2017/11/22 15:08:06
--  
但是初始值也是0。我用在套利交易里,需要先判断前一个成交了,再下后一个。如果用tisprvremain=0 去判断的话,前一个合约不发单或者成交都会发单第二个合约。我的目的是需要先判断前一个成交了,再下后一个。
--  作者:yukizzc
--  发布时间:2017/11/22 15:21:28
--  
判断是否有未成交单,再加上判断另一腿是否有持仓就可以确定了
--  作者:yin8jun
--  发布时间:2017/11/22 15:58:02
--  
if zcc=totalhold and tisremainex(0,\'\',\'\')=0 then BEGIN
    tbuyShort(1,1,lmt,p1,0,\'\',nextstk);
    TSellShort(1,1,lmt,p2,0,\'\',thisstk);
    END

我用如上的能两个合约都发单。
但是用下面的就不行,只能发出第一个合约"thisstk"的指令,在第一个合约成交的情况下也不能发第二合约"nextstk"的指令:
nexthold:=tsellholdingex(\'\',nextstk,1);

if zcc=totalhold and tisremainex(0,\'\',\'\')=0 then BEGIN
    tbuyShort(1,1,lmt,p1,0,\'\',nextstk);
    if tsellholdingex(\'\',nextstk,1)=nexthold+1 then TSellShort(1,1,lmt,p2,0,\'\',thisstk);
    END

用下面的也是类似的结果,也只能发第一个合约的指令,即使第一个合约立马成交也不能发第二合约的指令
if zcc=totalhold and tisremainex(0,\'\',\'\')=0 then BEGIN
    tbuyShort(1,1,lmt,p1,0,\'\',nextstk);
    if tisremainex(3,\'\',nextstk)=0 then TSellShort(1,1,lmt,p2,0,\'\',thisstk);
    END

请大神帮忙看看