intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
//---if (prev_calculated==0) Print("Полный перерасчёт!");
//--- return value of prev_calculated for next callreturn(rates_total);
}
Бросаю его на график М5:
2013.07.26 22:17:12 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:17:12 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:17:06 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:17:00 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:59 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:54 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:53 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:52 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:51 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:51 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:50 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:46 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:45 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:42 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:40 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:39 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:37 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:36 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:15 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:15 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:12 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:11 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:11 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:10 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:10 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:06 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:06 testprevbar (EURUSD,M5) Полный перерасчёт! 2013.07.26 22:16:05 testprevbar (EURUSD,M5) Полный перерасчёт!
И чё за фигня?
В справке:
Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции. Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом.
prev_calculated может сбрасываться в 0, но почему так часто?
MetaDriver: Злой ты! Никаких от тебя биткоинов. Только монгольские тугрики.
Та лаадно. Вон с ребятами щас очередного бота мутим. Взял в долю просто потому что самому скучно и писать влом. Потенциально этот грааль должен обскакать мой предыдущий.
Да, извините, неправильно перенес из своего кода - не работает в неторговое время
bool bringToTop = true;
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, 0, bringToTop )
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
//этим хотел показать что пробовал оба варианта
ChartGetInteger и не должен работать, поскольку CHART_BRING_TO_TOP - write only. Исправлю заявку в СервисДеск
Сегодня неторговый день, ошибка снова воспроизводится (что мешает тестированию). В торговый - все работает корректно - отключал связь - все равно работало.
приводит периодически к появлению подобных сообщений : NL 2 21:06:36 Trades 2013.02.01 05:42:33 failed cancel order #0 buy 0.00 at market [Invalid request] LI 2 21:06:36 Trades 2013.02.01 05:42:33 failed cancel order #0 buy 0.00 at market [Invalid request] ??? В чём может быть причина и как её устранить? Происходит такое один раз на несколько десятков раз удачного выполнения этой части кода.
Бросаю его на график М5:
2013.07.26 22:17:12 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:17:06 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:17:00 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:59 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:55 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:54 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:53 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:52 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:51 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:51 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:50 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:46 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:45 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:42 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:40 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:39 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:37 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:36 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:15 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:15 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:12 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:11 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:11 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:10 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:10 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:09 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:06 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:06 testprevbar (EURUSD,M5) Полный перерасчёт!
2013.07.26 22:16:05 testprevbar (EURUSD,M5) Полный перерасчёт!
И чё за фигня?
В справке:
Необходимо отметить связь между значением, возвращаемым функцией OnCalculate() и вторым входным параметром prev_calculated. Параметр prev_calculated при вызове функции содержит значение, которое вернула функция OnCalculate() на предыдущем вызове. Это позволяет реализовать экономные алгоритмы расчета пользовательского индикатора с тем, чтобы избежать повторных расчетов для тех баров, которые не изменились с предыдущего запуска этой функции.
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции. Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом.
prev_calculated может сбрасываться в 0, но почему так часто?
Оформил багом #804979
Простейший индикатор:
Бросаю его на график М5:
2013.07.26 22:17:12 testprevbar (EURUSD,M5) Полный перерасчёт!
...............
И чё за фигня?
В справке:
prev_calculated может сбрасываться в 0, но почему так часто?Биткоинами норм? :)
Все равно ничего путного не выйдет.
Злой ты! Никаких от тебя биткоинов. Только монгольские тугрики.
Биткоинами норм? :)
Все равно ничего путного не выйдет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2013.07.22 09:28
Да, извините, неправильно перенес из своего кода - не работает в неторговое времяChartGetInteger и не должен работать, поскольку CHART_BRING_TO_TOP - write only. Исправлю заявку в СервисДескСегодня неторговый день, ошибка снова воспроизводится (что мешает тестированию). В торговый - все работает корректно - отключал связь - все равно работало.
Симптомы те же https://www.mql5.com/ru/forum/1111/page1036#comment_550221
Подскажите, пожалуйста, кто знает, почему при работе советника вот этот кусок кода:
приводит периодически к появлению подобных сообщений :NL 2 21:06:36 Trades 2013.02.01 05:42:33 failed cancel order #0 buy 0.00 at market [Invalid request]
LI 2 21:06:36 Trades 2013.02.01 05:42:33 failed cancel order #0 buy 0.00 at market [Invalid request] ???
В чём может быть причина и как её устранить?
Происходит такое один раз на несколько десятков раз удачного выполнения этой части кода.
Купил ноут windows 8 x64 и начались проблемы.
В терминале не успев попользоваться нашел вот это. Ок но с выбором цвета открывается полноценно 50 на 50
Зачем терминал ломится на login.mql5.com, если в "настройках - сообщество" пустые поля?
(821 билд не ломится)Как определяете что ломится? Как определяете что ломится именно терминал? Нужны подробности. Пока не получилось повторить.
Как определяете что ломится? Как определяете что ломится именно терминал? Нужны подробности. Пока не получилось повторить.
По журналу, случайно внимание обратил.
Извиняюсь, не в сообщество, это сигналы, каждые 5 минут. Подписок нет, в настройках сигналы не заполнены, но каждые 5 мин. попытка коннекта.
На 821 другого брокера (сервис сигналов у брокера включен, но терминал там тоже не подключен к сигналам) такого нет.