昨天大概16:30-17:30我的EA突然帮我大量开仓,不到1小时开了111张单,然后全部平仓了,挂了半个月从没发生如此情况,我先说一下策略原理:
交易原油15分钟图,首单开仓后每浮亏一定点数便加仓1次,最多加20次,没有止损,若加仓单跟首单盈亏相若便一起离场,但昨天加仓的数量远超20张,而且下午情况没有什么波动,而EA每过3-4秒便很有规律自动加仓一次,直至17:30左右才停止开仓
当时也有同时挂另一个EA,但另一EA没有受影响,而两者的交易原理也没有冲突
顺带一提,我是放在VPS跑的,当时已关掉本地MT4的EA功能,EA都是在VPS里运行的,不知道VPS是否有影响
因为我看不到你的EA代码,无法判断是什么问题,有很多原因可能导致重复大量开单,最最最常见的原因(十个人问七个都是这个原因):EA的交易函数过滤重复开单的条件有问题,如果是这个问题就直接改一下交易函数的调用语句即可。
也有可能是vps本身出错,这个很少发生,如果这是vps的问题就要联系平台修复了。
因为我看不到你的EA代码,无法判断是什么问题,有很多原因可能导致重复大量开单,最最最常见的原因(十个人问七个都是这个原因):EA的交易函数过滤重复开单的条件有问题,如果是这个问题就直接改一下交易函数的调用语句即可。
开单之前先检测一下已经下单的总数,超过就不能下单了
这个是检测此单的代码,挂单的就你自己写了。
int order_buy = 0;
int order_sell = 0;
for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of open positions
{
if(m_position.SelectByIndex(i))
{
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
{
if(m_position.PositionType()==POSITION_TYPE_BUY )
{
order_buy++;
}
else if(m_position.PositionType()==POSITION_TYPE_SELL )
{
order_sell++;
}
}
}
}
昨天大概16:30-17:30我的EA突然帮我大量开仓,不到1小时开了111张单,然后全部平仓了,挂了半个月从没发生如此情况,我先说一下策略原理:
交易原油15分钟图,首单开仓后每浮亏一定点数便加仓1次,最多加20次,没有止损,若加仓单跟首单盈亏相若便一起离场,但昨天加仓的数量远超20张,而且下午情况没有什么波动,而EA每过3-4秒便很有规律自动加仓一次,直至17:30左右才停止开仓
当时也有同时挂另一个EA,但另一EA没有受影响,而两者的交易原理也没有冲突
顺带一提,我是放在VPS跑的,当时已关掉本地MT4的EA功能,EA都是在VPS里运行的,不知道VPS是否有影响