设为首页收藏本站

 找回密码
 注册
查看: 3028|回复: 7
打印 上一主题 下一主题

我发觉:MarketPosition,检查的是上一根Bar: [复制链接]

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
跳转到指定楼层
1#
发表于 2008-3-10 22:11:46 |只看该作者 |倒序浏览
我发觉:MarketPosition,检查的是上一根Bar的持仓情况,比如,上一根Bar持有多仓,那么即使在当前Bar平光所有多仓,系统仍然会认为当前持仓是多仓,那么请问,有没有办法得出实时的情况呢?

Rank: 5Rank: 5

精华
0
UID
1064
积分
864
帖子
80
主题
1
阅读权限
60
注册时间
2008-1-13
最后登录
2008-6-27
2#
发表于 2008-3-11 00:47:44 |只看该作者
原帖由 szdfc 于 2008-3-10 22:11 发表
我发觉:MarketPosition,检查的是上一根Bar的持仓情况,比如,上一根Bar持有多仓,那么即使在当前Bar平光所有多仓,系统仍然会认为当前持仓是多仓,那么请问,有没有办法得出实时的情况呢? ...

上面的话是有误吧,
我想,在15分钟周期中,假设当前BAR是9点15分的BAR,在9点20的时平完,超过3秒?(查询时间)后再来一个TICK的时候公式又会重新算一遍,此时的查询到的MarketPosition状态应该是0吧.
呵呵,明天测试下.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
3#
发表于 2008-3-11 09:18:48 |只看该作者
呵呵,我是在日线上使用的啊

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1064
积分
864
帖子
80
主题
1
阅读权限
60
注册时间
2008-1-13
最后登录
2008-6-27
4#
发表于 2008-3-11 11:51:27 |只看该作者
哈哈,日线更没有问题了,已测试过,你也可以用fileappend函数测试一下啊

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
5#
发表于 2008-3-11 12:06:19 |只看该作者
我在1分钟Bar上,当MarketPosition==0时候,才Buy,但是,一下买进了很多手,我推测有这样几种情况:
1,MarketPosion 检测的是上一根Bar的持仓,不是实时的
2,随着价格的上下摆动,买入信号多次出现,上一次的委托尚未成交,新的委托已经发出,结果两次或者更多次委托都成交了
3,但是,我看到,在已经有持仓的情况下,还会发生新的交易,有可能是已经委托的单在成交,海有可能是,又发出了新的委托。。。。

请问,这种问题该如何解决呢?我想到的方法如下:
1,获得最后一次成交的数据,是多单还是空单,成交价格,成交数量,但是不知用什么函数来得到这些信息!
请大家帮忙

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1064
积分
864
帖子
80
主题
1
阅读权限
60
注册时间
2008-1-13
最后登录
2008-6-27
6#
发表于 2008-3-11 12:56:35 |只看该作者
是图表上买了很多手,还是帐户上买了很多手?
在一根BAR上一次交易买进很多手还是多次交易买进很多手?
说得不清楚啊,最好把代码也贴出来

[ 本帖最后由 哈哈 于 2008-3-11 13:02 编辑 ]

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
7#
发表于 2008-3-11 13:11:49 |只看该作者
1,是帐户买入好多手,图表显示是符合预期的
2,是发生了多次交易,多次买进
3,代码如下:

params

  vars

  Numeric nMaxContracts(1);

  Begin

  if(MarketPosition==-1)//如果持有空仓
   {
    BuyToCover;//平空仓
    if( MaxContracts()<=nMaxContracts) //    如果目前总持仓少于等于: nMaxContracts

    {
     buy(1,(close+nOffset*MinMove*PriceScale));//反手开多仓
    }
   }

  End


[ 本帖最后由 szdfc 于 2008-3-11 13:13 编辑 ]

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5903
积分
748
帖子
95
主题
11
阅读权限
60
注册时间
2009-11-14
最后登录
2010-11-25
8#
发表于 2009-11-17 08:26:05 |只看该作者
buy(1,(close+nOffset*MinMove*PriceScale));//反手开多仓
中把close改成H就OK了

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-24 00:15

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部