解决频繁开仓或者报警的方法 新评论 wangguangli 2009.04.14 05:20 近来有一些网友总是问一些问题,所他们自己的做的EA,或者铃声提示,在到达条件的时候,总是频繁的开仓或者频繁的报警,这样给他们带来很多的不便。事实上,这样的问题是很好解决的,你只要再加一个变量来限制一下就解决了!举例如下:写一个报警的条件吧 如果“价格向上达到指定价位”,则“报警” 如果“MACD上穿”,则“报警” 如果“均线金叉”,则“报警”。 如果我们这样写 if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1) { Alert(symbol(),"价格向上触及1.0000"); mark=1; } if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2) { Alert(symbol(),"价格向下触及1.0000"); } 在达到if后面的条件后,肯定的连续的要报警,因为后面一段时间都会连续符合条件。这样,就不会达到做程序的目的,如果是下单不限制的情况下,那就会更加危险。那么我们怎么避免呢?那我还是把上面的程序修改成下面的代码一下就解决问题了: int mark=0; if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1) { Alert(symbol(),"价格向上触及1.0000"); mark=1; } if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2) { Alert(symbol(),"价格向下触及1.0000"); mark=2; } 那为什么会是这样呢?这是因为 当mark=0时,说明从未报过警,上、下穿都能报警; 当mark=1时,说明已经上穿报过警了,不能再上穿报警了,但仍可下穿报警; 当mark=2时,说明已经下穿报过警了,不能再下穿报警了,但仍可上穿报警。 当然这个看起来很简单的程序,里面却蕴涵丰富的理论知识,同样,如果是一个EA狂开定单的情况下,是不是也可以用相同的方法来解决呢?当然解决的方式也不是一种哦。由于篇幅有限,我也不能在这里一一列举其他容易出现的问题了。如果你有什么不懂的问题,或者有什么不明白的地方,请QQ:450459237。 Need help on my EA Help with closing all buy or all sell when takeprofit is hit or reach 精英指标 :) 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
近来有一些网友总是问一些问题,所他们自己的做的EA,或者铃声提示,在到达条件的时候,总是频繁的开仓或者频繁的报警,这样给他们带来很多的不便。事实上,这样的问题是很好解决的,你只要再加一个变量来限制一下就解决了!举例如下:写一个报警的条件吧
如果“价格向上达到指定价位”,则“报警”
如果“MACD上穿”,则“报警”
如果“均线金叉”,则“报警”。
如果我们这样写
if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1)
{
Alert(symbol(),"价格向上触及1.0000");
mark=1;
}
if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2)
{
Alert(symbol(),"价格向下触及1.0000");
}
在达到if后面的条件后,肯定的连续的要报警,因为后面一段时间都会连续符合条件。这样,就不会达到做程序的目的,如果是下单不限制的情况下,那就会更加危险。那么我们怎么避免呢?那我还是把上面的程序修改成下面的代码一下就解决问题了:
int mark=0;
if( High[1]<1.0000 && High[0]>=1.0000 && mark!=1)
{
Alert(symbol(),"价格向上触及1.0000");
mark=1;
}
if( Low[1]>1.0000 && Low[0]<=1.0000 && mark!=2)
{
Alert(symbol(),"价格向下触及1.0000");
mark=2;
}
那为什么会是这样呢?这是因为
当mark=0时,说明从未报过警,上、下穿都能报警;
当mark=1时,说明已经上穿报过警了,不能再上穿报警了,但仍可下穿报警;
当mark=2时,说明已经下穿报过警了,不能再下穿报警了,但仍可上穿报警。
当然这个看起来很简单的程序,里面却蕴涵丰富的理论知识,同样,如果是一个EA狂开定单的情况下,是不是也可以用相同的方法来解决呢?当然解决的方式也不是一种哦。由于篇幅有限,我也不能在这里一一列举其他容易出现的问题了。如果你有什么不懂的问题,或者有什么不明白的地方,请QQ:450459237。