- 精华
- 0
- 在线时间
- 320 小时
- UID
- 237756
- 积分
- 20682
- 帖子
- 120
- 阅读权限
- 200
- 注册时间
- 2016-7-26
- 最后登录
- 2020-3-7
- 精华
- 0
- UID
- 237756
- 积分
- 20682
- 帖子
- 120
- 主题
- 31
- 阅读权限
- 200
- 注册时间
- 2016-7-26
- 最后登录
- 2020-3-7
|
本帖最后由 kookzw 于 2016-9-23 22:44 编辑
平仓反手代码,重复发单开仓。求大神和版主查查我的代码哪里有问题?
If(A_BuyPosition == 0 && 开多仓条件 )
{
If( A_TotalPosition == 0 || BarStatus != 2 )
// 无持仓, 直接买多仓
// 持空仓且 Bar 不是实时行情, 平空仓, 买多仓
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_Buy,Enum_Entry,lots,Q_AskPrice + Offset * OnePoint ); //开多仓
BillingCounter = 1;
}
}Else // 持空仓, Bar 实时行情, 平空仓, 通过 TickCounter 计数, 延迟反手
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_Buy,Enum_Exit,A_sellPosition,Q_AskPrice + Offset * OnePoint ); //平空仓
BillingCounter == 1;
}
If( TickCounter == 0)
{
TickCounter = 1;
}Else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}Else
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_Buy,Enum_Entry,lots,Q_AskPrice + Offset * OnePoint ); // 平空后延时后的开多仓
BillingCounter = 1;
}
}
}
}
If(A_sellPosition == 0 && 开空仓条件 )
{
If(A_TotalPosition == 0 || BarStatus != 2)
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_sell,Enum_Entry,lots,Q_BidPrice - Offset * OnePoint ); //开空仓
BillingCounter = 1;
}
}Else // 持多仓且 Bar 为实时行情, 平多, 延迟反手
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_Sell,Enum_Exit,A_BuyPosition,Q_BidPrice - Offset * OnePoint ); //平多仓
BillingCounter == 1;
}
If( TickCounter == 0 )
{
TickCounter = 1;
}Else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}Else
{
If( BillingCounter == 0 )
{
A_SendOrder( Enum_sell,Enum_Entry,lots,Q_BidPrice - Offset * OnePoint ); //开空仓
BillingCounter = 1;
}
}
}
}
SetGlobalVar(0,LastBarTime);
SetGlobalVar(1,TickCounter);
SetGlobalVar(2,BillingCounter);
出现的重复发单问题。。。错误信息如下。和交易助手设置。
这个重复次数出故障时设置的是10 ,我现在刚改成1.不知道能不能控制住重复发单,开仓。。还没有碰到条件满足的时候。。 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|