На самом деле я не вижу большой проблемы, если знать о такой особенности формирования нового бара.
Если Вам необходимо считать формирования нового бара с наступлением новой минуты, то можно обойти эту некорректность. Например, для минутного ТФ в первом приближении это будет выглядеть так:
intOnInit()
{
return(INIT_SUCCEEDED);
}
intOnCalculate(constint rates_total,constint prev_calculated,constdatetime &time[],constdouble &open[],constdouble &high[],
constdouble &low[],constdouble &close[],constlong &tick_volume[],constlong &volume[],constint &spread[])
{
staticulong prev_time=0;
staticint prev_rates_total =0;
int real_rates_total=rates_total;
datetime t = TimeCurrent();
t -= t%60;
if (prev_time>0 && prev_rates_total==rates_total && prev_time<t) real_rates_total++;
prev_time=t;
prev_rates_total=rates_total;
// ......return(rates_total); // или return(real_rates_total);
}
для других ТФ будет чуть посложнее с применением функции Bars. Только хочу добавить, что нужно не забывать, что пока функция Bars в МТ5 глючная и лучше ( также и быстрее) будет использовать этот её аналог.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
еще раз прошу прощения. Сегодня я невероятно туплю :)) ... спал всего 3 часа.
Вот исправленный код:
Программа "Ойкает" почти на каждой секунде.
Наверное все же правильнее сказать на каждой минуте, а не секунде (судя по скрину).
Я лично не знаю в чем тогда проблема, т.к. у меня все ОК.
Может проблема у брокера
Может в символе.
А попробуйте запустить на EURUSD
Наверное все же правильнее сказать на каждой минуте, а не секунде (судя по скрину).
Я лично не знаю в чем тогда проблема, т.к. у меня все ОК.
Может проблема у брокера
Может в символе.
А попробуйте запустить на EURUSD
К форексу доступа у меня нет, да и не нужен.
Проверил на фьючерсе доллар/рубль как более ликвидном, там та же ерунда.
Спасибо за попытку разобраться.
К форексу доступа у меня нет, да и не нужен.
Проверил на фьючерсе доллар/рубль как более ликвидном, там та же ерунда.
Спасибо за попытку разобраться.
Тогда проблема существует, но по видимому, действительно, причина где то у брокера или в соединениии.
Да, забыл добавить. Брокер "БКС".
Спасибо.
Да, забыл добавить. Брокер "БКС".
Спасибо.
Я выхожу из игры - у меня нет реала на бирже. К сожалению.
Да, забыл добавить. Брокер "БКС".
Спасибо.
На самом деле я не вижу большой проблемы, если знать о такой особенности формирования нового бара.
Если Вам необходимо считать формирования нового бара с наступлением новой минуты, то можно обойти эту некорректность.
Например, для минутного ТФ в первом приближении это будет выглядеть так:
для других ТФ будет чуть посложнее с применением функции Bars.
Только хочу добавить, что нужно не забывать, что пока функция Bars в МТ5 глючная и лучше ( также и быстрее) будет использовать этот её аналог.
еще раз прошу прощения. Сегодня я невероятно туплю :)) ... спал всего 3 часа.
Вот исправленный код:
Ваше
Разве не равно
Ваше
Разве не равно