开拓者期货期权程序化系统交易论坛

标题: 15分钟线上,如何实现收盘前平仓 [打印本页]

作者: cecwcj    时间: 2008-9-10 16:34:11     标题: 15分钟线上,如何实现收盘前平仓

15分钟线上,如何实现收盘前平仓

比如我是多单,我想实现精确的时间点,如在14:59:05秒时刻, 以委买价确保成交.
作者: nopain    时间: 2008-9-10 16:39:51

如果是仅做日内交易的,可以这么写:此方法不适合持仓交易。
If(Time ==0.1445 && CurrentTime >= 0.145905)
{
     Sell(1,Close);
     BuyToCover(1,Close);
}
作者: nopain    时间: 2008-9-10 16:40:30

上面的用法要求机器时间是正确的。
作者: cecwcj    时间: 2008-9-10 16:51:53     标题: 谢谢,再问

如何以委买价确保成交呢.


比如,我需要返回一个委卖的手数.比如我要下100手,而当时委买上只有50手,那么成交50手后,就有多余50手没成交的了,需要及时撤掉,怎么处理
作者: cecwcj    时间: 2008-9-10 17:08:07

14:59:05


是我电脑的时间,不是交易所时间是么.

怎么取交易所时间
作者: nopain    时间: 2008-9-10 17:10:05

If(Time ==0.1445 && CurrentTime >= 0.145905 && BarStatus == 2)
{
     Sell(1,Q_BidPrice-N*MinMovePriceScale);
     BuyToCover(1,Q_AskPrice+N*MinMovePriceScale);
}

在委托的时候,在当前买卖盘的基础上+-N个最小变动单位,一般为3-5。基本都能保证成交。
如果还不能成交,可以考虑配合交易助手。
作者: nopain    时间: 2008-9-10 17:11:16

每次登录TB,系统会同步服务器时间,所以一般是没有问题的,主要是您自己不要在交易的过程中在去手工改动时间,否则就可能出现问题。
作者: cecwcj    时间: 2008-9-10 17:25:06

我需要返回一个委卖的手数.比如我要下100手,而当时委买上只有50手,那么成交50手后,就有多余50手没成交的了,需要及时撤掉,怎么处理
作者: cecwcj    时间: 2008-9-10 17:34:54

还有,CLOSE所谓的最新价,取的是委买,还是委卖.
作者: nopain    时间: 2008-9-11 09:03:24     标题: 回复 #8 cecwcj 的帖子

请您看看交易助手方面的功能
作者: nopain    时间: 2008-9-11 09:03:56

原帖由 cecwcj 于 2008-9-10 17:34 发表
还有,CLOSE所谓的最新价,取的是委买,还是委卖.


Close是最新的成交价,既不是委买,也不是委卖.
作者: cecwcj    时间: 2008-9-11 10:36:17

Q_BidPrice
使用有什么限制和条件么

为什么用SELL能正常成交,用了你上面的代码,就图上有指示,实际就不下单了呢?

-------------------------------------------------------------------------------------------------------------------

If(Time ==0.1445 && CurrentTime >= 0.145905 && BarStatus == 2)
{
     Sell(1,Q_BidPrice-N*MinMovePriceScale);
     BuyToCover(1,Q_AskPrice+N*MinMovePriceScale);
}

在委托的时候,在当前买卖盘的基础上+-N个最小变动单位,一般为3-5。基本都能保证成交。
如果还不能成交,可以考虑配合交易助手。
作者: cecwcj    时间: 2008-9-11 11:27:19

今天是不是服务器有问题,老是出现信号,但是下单成交不了.
作者: nopain    时间: 2008-9-11 12:05:28

If(BarStatus==2) 才能用Q_BidPrice

服务器没有问题,您查一下,下单的价格有没有问题
作者: maodong    时间: 2008-9-11 13:01:00

原帖由 nopain 于 2008-9-10 16:39 发表
如果是仅做日内交易的,可以这么写:此方法不适合持仓交易。
If(Time ==0.1445 && CurrentTime >= 0.145905)
{
     Sell(1,Close);
     BuyToCover(1,Close);
}

使用这个:Q_LastTime(),应该不是本地机器时间吧?
作者: nopain    时间: 2008-9-11 13:49:17

Q_LastTime()是行情报价里面看到的最新时间,用这个也可以的。
作者: cecwcj    时间: 2008-9-12 11:34:02

Q_LastTime 应该是交易所的时间吧.
作者: cecwcj    时间: 2008-9-12 15:23:59

老大在么
作者: nopain    时间: 2008-9-12 16:31:12

是行情的最新更新时间,不是交易所时间,如果最近N秒钟没有行情更新,那就不是最新的时间了
作者: cecwcj    时间: 2008-9-12 16:35:57

也就是行情数据不变动,Q_LASTTIME反映的时间就不变化了.
作者: nopain    时间: 2008-9-12 16:56:46

对啊




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2