- 精华
- 0
- 在线时间
- 83 小时
- UID
- 5903
- 积分
- 748
- 帖子
- 95
- 阅读权限
- 60
- 注册时间
- 2009-11-14
- 最后登录
- 2010-11-25
- 精华
- 0
- UID
- 5903
- 积分
- 748
- 帖子
- 95
- 主题
- 11
- 阅读权限
- 60
- 注册时间
- 2009-11-14
- 最后登录
- 2010-11-25
|
关于MarketPosition实盘中的执行描述的对话
回复海风 9:08:30
请教个问题,marketposition,在我开平仓后,下一个Tick过来的时候是不是它的值就改变了,还是要等K线走完?
回复交易开拓者 9:13:28
TB的公式是从上向下算的。并且每一个TICK去运算一次
回复海风 9:13:41
这个我明白
回复交易开拓者 9:14:01
这样一来。MARKETPOSITION在某一个TICK发出了信号了,改变之后,可是下一个TICK来了,整个公式还会从头算起。
回复海风 9:14:44
那此时它是多少呢,假设原来是0,我现在开仓,它变成1,后一个tick来的时候它是多少呢?
回复交易开拓者 9:17:31
你的公式一开始还是这个BAR最开始的那个初始值的状态为0,
回复交易开拓者 9:17:46
然后算到开仓的部分,他就改变为1。
回复交易开拓者 9:18:04
下一个TICK来了,他还是从0开始计算。
回复海风 9:18:45
这样是不是说,如果想盘中开仓,一定要自己用全局变量来控制,否则就会重复发单?
回复交易开拓者 9:18:52
不会
回复交易开拓者 9:19:06
机制有控制的。
回复海风 9:20:01
就是说,在这个tick开了仓,下个tick过来的时候再次执行到开仓位置会先判断是不是已经开过仓了?
回复交易开拓者 9:20:09
如果你的上一个TICK是有发过单的,该TICK满足了条件便不会再发单的
回复交易开拓者 9:20:26
所以说你要保证信号不消失不反复就不会重复发单了。
回复海风 9:20:34
空上明白了
回复海风 9:20:38
这个
回复交易开拓者 9:21:28
但是如果你的公式写法有信号消失的问题。那么某个TICK上发过单了,但是中间有几个TICK信号是消失了。然后再出来的TICK有信号了,他就不会记得之前有开过仓,于是再次发单,
回复海风 9:22:31
了解了,谢谢.另外一个问题.
同一个Tick里marcketpostion会不会即时更新,如
if(marketposition==1)
sell;
if(marketposition==1)
sell;
这样会不会在一个tick里平两次?(假设我有我余的持仓)
回复交易开拓者 9:22:49
不会
回复交易开拓者 9:23:18
除非你分别写两个平仓语句。
回复海风 9:23:49
分别写两个平仓语句是什么意思
回复交易开拓者 9:25:02
比如你现在有两个手多仓
if(condition1)
{
sell(1,close);
}
if(condition2)
{
sell(1,close);
}
这样就可能在同一个BAR上平两个仓
回复海风 9:26:06
如果我开仓时是buy(1);并且帐户上有多余的多单,会怎么样?
回复海风 9:26:28
这两个平仓条件里我都会加入marketposition==1的判断.
回复交易开拓者 9:27:41
只有一手的话,没法出两个平仓单的
回复海风 9:28:30
即使有多余持仓也不会平出?
回复交易开拓者 9:28:37
是的
回复海风 9:28:58
这样就是说模型只会计算自己的持仓情况了.
回复交易开拓者 9:29:23
是的,他只看图表上的信号来计算,不会知道你的交易帐户里有多少的持仓
回复海风 9:29:49
非常感谢,越来越佩服TB的机制了 |
|