While (vhandle>0)一行似乎没有任何特殊的负载,因为在第一个CopyBuffer<0的情况下,它将返回(0);
我将朝这个方向工作。
if(!PositionSelect(Symbol1) && !PositionSelect(Symbol2))
{
for(uchar u=0;u<100;u++) //запускаем цикл с ограниченным количеством шагов
{
if(CopyBuffer(vhandle,0,0,50,Sp1Buffer) && CopyBuffer(vhandle,1,0,50,Sp2Buffer))
{
return(true); //дождались копирования буферов - выходим
}
else
{
if(u==99) //т.е. выявляем последний шаг нашего цикла for, который не принёс ожидаемых результатов
{
Alert("Ошибка копирования буферов индикатора номер ошибки:",GetLastError());
return(0);
}
Sleep(50); //засыпаем ненадолго (хотя я сам не сторонник использования Sleep в теле OnTick)
}
}
}
试着阅读帮助中的BarsCalculated,顺便说一下,它给出了正确的例子。
也就是说,只要CopyBuffer>0,我们就计算它,而新的参数(Close())
当位置关闭时出现。换句话说,我们需要通过While进行循环。结果是这样的。
我会这样说:"当CopyBuffer<0 时,我们重复调用这个函数"。
While (vhandle>0)一行似乎没有任何特殊的负载,因为在第一个CopyBuffer<0的情况下,它将返回(0);
我将朝这个方向工作。
一般来说,沿着这些路线的东西,由作者决定。正如正确指出的那样,一份参考指南不会有什么问题。
试着读一下关于BarsCalculated的帮助,顺便说一下,那里给出了正确的例子。
谢谢你的介绍 - 有效,似乎没有问题(测试了1个月)。
以下是我的第一对工作代码
我会说:"只要CopyBuffer<0,就重复调用这个函数"。
While (vhandle>0)这一行似乎没有什么负载,因为在第一个CopyBuffer<0的情况下,它将返回(0)。
我将朝着这个方向努力。
基本上,类似这样的事情,由作者决定。正如正确地指出的那样,一本参考书也无妨。
这就更简单了,让我们看看这2种方法哪个更好、更快--这就是我们要采取的方法。
谢谢大家!让我们去测试。
开发人员,请注意第33601号 请求(有一个关于不同操作系统的杠杆作用的 "伟大功能")...
也许你们使用的是最初 从不同经纪商那里安装的 终端?请在您的申请中添加详细信息。
给开发者的问题。
关于点差的一切都很清楚,它们被存储在条形图中,测试人员可以运行整个历史,考虑到变化的点差(如果历史是正常加载的),但掉期呢?
也就是说,如果经纪人/交易商改变掉期或佣金的费率会怎样?
我明白这种情况有点荒唐,但仍然。
如果我没有理解错的话,现在MT4中的测试器将接受掉期和佣金,最后....。
PS
再次澄清,现在有屏幕截图....
给开发者的问题。
关于点差的一切都很清楚,它们被存储在条形图中,测试人员可以运行整个历史,考虑到变化的点差(如果历史是正常加载的),但掉期呢?
也就是说,如果经纪人/交易商改变掉期或佣金的规模会发生什么?
交换和佣金历史不被存储,这些设置取自最后一次连接。