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

标题: 有防止重复开仓的控制,但是还是重复开仓! [打印本页]

作者: futurekiller    时间: 2011-4-1 11:20:32     标题: 有防止重复开仓的控制,但是还是重复开仓!

用的是MarketPostion控制重复开仓

if(marketposition!=-1  && 开仓条件1)
{ xprice = xxx ;  
sellshort(1,xprice);}
if(marketposition!=1 && 开仓条件2)
{xprice=yyy;  
buy(1,xprice);}

如果已经建立了空仓,marketposition会是-1,所以不应该再次开空仓。可实际上在同一个Bar上反复开仓,想不明白怎么回事。
作者: futurekiller    时间: 2011-4-1 13:16:58

好像明白了,以前有个相关问题,marketpostion只是上一个Bar的数值,所以在当前bar上不起作用。但是可以保证下一个Bar上不重复开仓。。。 自娱自乐啊。
作者: 欲速不达    时间: 2011-4-1 17:16:57

回复 2# futurekiller


    应该是你的开仓条件有问题,buy函数只要开过一次仓信号不消失在同一bar是不会再开仓的
作者: futurekiller    时间: 2011-4-1 22:19:22

回复 3# 欲速不达


    这个问题我在别的开仓条件也遇到过。现在看来不管什么条件,因为价格波动,在同一根bar上反复满足条件的时候,即便已经开过仓了,也会重复开仓。
  所以只能是Marketposition的判定上有出入。
  另外,我以前的帖子提到过,在同一根Bar上不能反向开仓的问题。这同样和Marketposition的判定方法有关。那个帖子没有得到管理员的明确答复。
  
  所以想再次向管理员请教:
  在当前Bar上开仓后,MarketPosition不为零,但是下一个tick进来时,MarketPostion是不是被归零了? 只有新的Bar开始后,每次Tick计算时Marketpostion才
  不为零? 谢谢。
作者: 水流深    时间: 2011-4-4 18:14:37

留个板凳,期待高手的回复~
作者: qxonepiece    时间: 2011-4-5 18:44:23

试试看A函数的仓位控制
作者: drasper    时间: 2011-4-6 15:52:13

应该是记录的上一个bar的marketposition,所以带有当前bar开仓后,判断当期仓的持仓师无效的。
作者: futurekiller    时间: 2011-4-6 19:35:18

回复 7# drasper


     A_buyposition 是不是不想Marketposition那样,只要开仓就不为零呢?
   一直都想问问,Marketpostion 和 A_Buy(sell)Position之间用法上有什么区别。
作者: 蔡宛宏    时间: 2012-2-22 14:57:56

我想了想 还是设置一个下单计数器算了 这个marketposition函数存在诸多问题
作者: Joseph0727    时间: 2012-2-22 19:11:36

用的是MarketPostion控制重复开仓

if(marketposition!=-1  && 开仓条件1)
{ xprice = xxx ;  
sellshort(1,xprice);}
if(marketposition!=1 && 开仓条件2)
{xprice=yyy;  
buy(1,xprice);}
= 与 == 的区别?
if(marketposition!==-1  && 开仓条件1)
{ xprice = xxx ;  
sellshort(1,xprice);}
if(marketposition!==1 && 开仓条件2)
{xprice=yyy;  
buy(1,xprice);}
作者: neo_wing    时间: 2012-2-23 15:15:37

实盘建议还是用A函数靠谱点,这个marketpostion也就历史测试用用,buy和sell函数都不靠谱
作者: george_adams    时间: 2013-9-10 17:17:30

neo_wing 发表于 2012-2-23 15:15
实盘建议还是用A函数靠谱点,这个marketpostion也就历史测试用用,buy和sell函数都不靠谱 ...

是嘛??以后观察观察




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