Если у вас уже есть опыт работы на валютном рынке, то вы по достоинству оцените преимущества работы с Альфа-Форекс Самые узкие спреды на рынке: EUR/USD — от 0,7 пункта Отсутствие минимального депозита Быстрый ввод и вывод средств Исполнение ордеров без проскальзываний и реквот Альфа-Форекс входит в банковскую группу в составе Консорциума...
int calculated=BarsCalculated(RSI1_Handle);
if(calculated<rates_total)
{
Print("Not all data of RSI1_Handle is calculated (",calculated,"bars ). Error",GetLastError());
return(0);
}
calculated=BarsCalculated(RSI2_Handle);
if(calculated<rates_total)
{
Print("Not all data of RSI2_Handle is calculated (",calculated,"bars ). Error",GetLastError());
return(0);
这个错误不是在编译过程中出现的,而是在我把指标附加到图表上,或者改变时间框架时出现的。
这个错误信息 是一直在播放,还是会随着时间的推移而消失?
伙计们!MT5可以连接到任何经纪公司吗?
不,通过MT5交易可以通过提供该平台交易可能性的经纪商,如VTB24和Alfa forex。
这个错误信息 是不断播放,还是随着时间的推移而消失?
这个错误信息 是一直在播放,还是会随着时间的推移而消失?
这个错误信息 是不断播放,还是随着时间的推移而消失?
FinEngineer:
有一次,当我把指标附在图表上时...
那么你就做得很好。当你只是把程序附加到图表上或改变时间框架时,终端中没有RSI指标或其他任何新的计算数据。而终端需要一些时间来计算必要的指标缓冲区。仔细看看你的代码(我知道它是根据别人的样本写的,但尽管如此):当RSI的计算数据不够时,函数OnCalculate() 停止工作('return(0);')并等待一个新的tick。一旦在下一个tick上计算出RSI的指标缓冲区,你的指标就开始以正常模式工作。从你所说的来看,它确实如此。
你也可以在OnInit()函数中插入BarsCalculated()的检查 - 那么错误将很少发生(如果有的话)。在BarsCalculated()函数 的描述中给出了一个例子。
关于这个错误,我昨天已经给你写了信。(别忘了正确插入代码 :) )
删除了导致数据不足的一段代码(如下)。
int calculated=BarsCalculated(RSI1_Handle)。
if(calculated<rates_total)
{
Print("不是所有RSI1_Handle的数据都被计算出来了(",calculated, "bar)。错误",GetLastError())。
return(0);
}
calculated=BarsCalculated(RSI2_Handle)。
if(calculated<rates_total)
{
Print("不是所有RSI2_Handle的数据都被计算出来了(",calculated, "bar)。错误",GetLastError()。
return(0);
你能告诉我如何在信息中标记代码片段吗?
现在有一个错误出来了。
2012.12.22 15:14:00 Pair_delta_RSI (EURGBP,M1) 获取RSI1失败!错误4806正确插入代码。
它在那里工作得很好,那个 "负责数据不足的一块代码"。并正确地报告说,RSI的第一个刻度数据还没有被终端计算出来。如果你不喜欢收到错误信息,可以尝试像上面 那样做,即不仅在OnCalculate()中检查计算数据,而且在OnInit()中也检查。换句话说,尝试在OnInit()中等待所选技术指标的数据计算,然后在OnCalculate()中转入ticks处理,此时指标的数据保证被计算。
添加。最后,删除一部分检查代码并没有增加计算的指标数据的数量 :)