- 精华
- 0
- 在线时间
- 144 小时
- UID
- 7593
- 积分
- 609
- 帖子
- 109
- 阅读权限
- 60
- 注册时间
- 2010-3-19
- 最后登录
- 2014-5-18
- 精华
- 0
- UID
- 7593
- 积分
- 609
- 帖子
- 109
- 主题
- 14
- 阅读权限
- 60
- 注册时间
- 2010-3-19
- 最后登录
- 2014-5-18
|
p_b_yu 你好,我写的程序总是莫名其妙的发一些单子,例如平仓,明明有仓,却提示没有仓位。及止损单发出后一直在发一连串的平仓单。请看下列附件。如果您知道是怎么回事,请指点。谢谢!
下面是我的建仓及平仓程序:
//计算部分略.....
if (BarStatus==0)
{
SetGlobalVar(0,0);//多开平仓标志,没有多单持仓用0表示,有多单持仓用1表示。获取数据用GetGlobalVar(0);
SetGlobalVar(1,0);//空开平仓标志,没有空单持仓用0表示,有空单持仓用1表求。获取数据用GetGlobalVar(1);
return;
}
if (close-down_length>tr_x[1] and close-down_length>tr_hbop[1])
{
if (GetGlobalVar(1)==1)
{
A_SendOrder(Enum_Sell,Enum_Exit,A_SellPosition(),Q_AskPrice());
SetGlobalVar(1,0);
}
if (GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_BidPrice());
SetGlobalVar(0,1);
}
}
if (close+up_length<tr_x[1] And close+up_length<tr_lbop[1])
{
if (GetGlobalVar(0)==1)
{
A_SendOrder(Enum_Buy,Enum_Exit,A_BuyPosition(),Q_BidPrice());
SetGlobalVar(0,0);
}
if (GetGlobalVar(1)==0)
{
A_SendOrder(Enum_Sell,Enum_Entry,1,Q_AskPrice());
SetGlobalVar(1,1);
}
}
FileDelete("C:\\Program_Trading.log");
FileAppend("C:\\Program_Trading.log","现在时间: "+Text(Time));
//----------------止损操作--------------
if ((A_BuyPosition()>0 or A_SellPosition()>0 ))
{
//-------------止损平仓100-----------------
if (A_BuyProfitLoss()<=-100 )
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
SetGlobalVar(0,0);
FileAppend("C:\\Program_Trading.log","多头平仓止损时间: "+Text(date())+Text(time()));
}
if (A_SellProfitLoss()<=-100 )
{
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition(),Q_AskPrice());
SetGlobalVar(1,0);
FileAppend("C:\\Program_Trading.log","空头平仓止损 = "+Text(date())+Text(time()));
}
}
[ 本帖最后由 zejunl 于 2010-5-5 16:29 编辑 ] |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|