if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose if the indicator value on previous bar is higher than the lower bar and current one is lower than this bar.
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if indicator value is below upper bar on the previous bar and is above this bar on current one.
if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose, if the indicator value on previous bar is higher than the lower bar and current one is lower than this bar.
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if indicator value is below upper barrier on the previous bar and is above it on the current bar.
让我们做一个简单的实验,证明单独(每笔)交易的缩减不会显示在余额/权益图上。
我们来写一个两行代码的专家顾问。
让我们在2010年5月1日至2010年8月1日的欧元兑美元D1图表上运行它。它将不得不在1.2200买入欧元,不设止损,并在1.3000处获利平仓。 我们将在平衡/权益图和可视化图上看到缩减。
正如你所看到的,在可视化图表上(截图中的上部),缩减是可见的,而在平衡/权益图表上,缩减则不是。那里只有一个交易。让我们来看看测试员的报告。
在测试员报告中,缩水是FIGURING。
我希望这个问题现在已经解决了?
.
也许,有一个问题 "为什么这样做?"这不是我们用户的问题,而是MT4开发者的问题。在我看来,这是不对的,因为余额/权益表并没有显示出超额出价。
同事们,也许有人遇到过这个问题。
在同一时间打开的文件数量是否有限制?4号是可以的,5号是开放的,但它没有写到它。我搞不清楚哪里出了问题。
有一个问题。当通过指标走廊的上边界(买入)或下边界(卖出)时,应开启交易。
double barier = 0.08; // 走廊的边界。
R() - 指标函数
用于检查越过上界 或下界 条件的功能。
int RFilter()
{
如果 ( R(2)> -barier && R(1) < -barier ) 返回 (-1)。
如果 ( R(2)< barier && R(1) > barier ) 返回 (1)。
}
当指标通过一个边界(不管是哪一个)时,专家顾问会立即开仓。如果它上涨--买入,如果它下跌--卖出。
有一个问题。交易应在通过指标走廊的上边界(买入)或下边界(卖出)时开启。
...
实际上,当指标通过边界时,EA会立即开仓(哪一个并不重要)。如果它上涨--买入,如果它下跌--卖出。
向鉴赏家提问
我可以为我的测试员创建自己的交易工具吗?
用我的或其他的东西取代EURUSD30_2.fxt。
metaquotes/tester/history/EURUSD30_2.fxt
我试图创建simple_csv2fxt,但测试人员用自己的文件替换了该文件。
也许有人对创作有一些经验,谢谢你。
稍微增加barier变量的值
没有帮助。会不会是由于符号分配错误造成的?
你可以阅读咖啡渣或其他东西,因为显然没有足够的信息。
1. 一个指标或震荡器。
2.如果是振荡器,它是否有限制?如果有,它的高点和低点是什么?
3.也许问题不在上述函数的代码中,而是在其解释的代码中?
既然这里没有心灵感应者,而你所掌握的所有必要信息都是保密的,那么问题就是答案。也就是说,根据你提供的信息,增加变量应该能解决这个问题。
你可以阅读咖啡渣或其他东西,因为信息明显不足。
1. 一个指标或震荡器。
2.如果它是一个振荡器,它是否有限制?如果有,它的最大值和最小值是多少?
3.也许问题不在于上述函数的代码,而在于其解释的代码?
既然这里没有心灵感应者,而且你有所有你需要的信息被标记为秘密,那么问题就是答案。也就是说,从你提供的信息来看,一目了然,增加这个变量应该能解决问题。
这是一个指标,其公式如下。
双重R(int shift)}
限制因素。(-1;1)
这是一个有这个公式的指标。
双重R(int shift)}
限制因素。(-1;1)
你的功能必须根据评论中提到的条件正确工作。
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose if the indicator value on previous bar is higher than the lower bar and current one is lower than this bar.
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if indicator value is below upper bar on the previous bar and is above this bar on current one.
return(0); // 在所有其他情况下不做任何事情。
}
那么你的函数对于注释中的条件应该能正确工作。
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose, if the indicator value on previous bar is higher than the lower bar and current one is lower than this bar.
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if indicator value is below upper barrier on the previous bar and is above it on the current bar.
return(0); // 在所有其他情况下不做任何事情。
}