设为首页收藏本站

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

系统修改完毕,在Tick上跑的很疯狂啊: [复制链接]

Rank: 4

精华
0
UID
2276
积分
317
帖子
66
主题
20
阅读权限
50
注册时间
2008-9-4
最后登录
2008-10-20
跳转到指定楼层
1#
发表于 2008-9-5 11:12:06 |只看该作者 |倒序浏览
Params
Vars
NumericSeries N1(0);
NumericSeries N2(0);
Begin
N1=Average(Close,10);
N2=Average(Close,10);
If(CrossOver(Close,N1) && A_BuyPosition()<1)
{
If(A_SellPosition>0  && A_GetOpenOrderCount()==0) A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
If(A_SellPosition()==0 && A_BuyPosition()==0 && A_GetOpenOrderCount()==0) A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice());
Buy(1,N1);
}
If(CrossUnder(Close,N2) && A_SellPosition()<1)
{
If(A_BuyPosition>0 && A_GetOpenOrderCount()==0) A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
If(A_SellPosition()==0 && A_BuyPosition()==0 && A_GetOpenOrderCount()==0) A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
}
End
交易开拓者交流
QQ-1群:38529330(已满)
QQ-2群:24771838

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-9-5 11:25:23 |只看该作者
怎么还有一句用Buy(1,N1)的。

另外,您这么写,要用全局变量来记录仓位,否则,问题很严重,会出现连续下单。

因为,下单之后,查询到的持仓状态不能马上反应真实的状态。有一段时间(1-2秒),这段时间是委托单和成交状态在路上传递的时间,这段时间会出现重复下单的问题。

理想的处理方式是:第一次进去的时候,读仓位,初始化到全局变量,然后就用全局变量来控制仓位。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-27 11:31

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部