Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите (может кто-нибудь успешно использует), можно ли как-то искусственно вызвать OnCalculate() в OnTimer() ?
так и вызывайте
OnCalculate
это же обычная функция
так и вызывайте
OnCalculate
это же обычная функция
Спасибо. Чуть позже краткий примерчик сделаю, если не получится разобраться...
Вечер добрый!
Как в тестере стратегий накинуть шаблон на график на котором отображаются сделки? Зеленые бары на черном фоне не нравятся очень.
Спасибо!
ps. Пока у меня мысль дошла только до того, что нужно получить историю всех сделок и собственноручно построить график с нужным шаблоном и отобразить на нем историю. Если это единственный вариант, то может найдется уже готовый код под это? Спасибо снова!
так и вызывайте
OnCalculate
это же обычная функция
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
tol64, 2013.05.05 13:29
Спасибо. Чуть позже краткий примерчик сделаю, если не получится разобраться...
Разобрался, но к сожалению свою(?) проблему не решил. Она проявляется редко и по выходным (когда тики не приходят) при переключении таймфреймов/символов. Серии индикатора иногда не отображаются ни в Навигаторе Окне Данных ни на графике, но программно данные можно получить. Выглядит это так:
//---
Думал сначала, что если в подокне не отображается и в Навигаторе Окне Данных тоже, то значит буферы пусты (empty_value) и сделав проверку можно вызвать OnCalculate() для обновления. Но не получилось, так как дынные есть в буферах.
Это баг?
Вручную быстро исправляется, если переключать таймфреймы. Хотелось бы конечно не объяснять об этом пользователям, а решить аккуратно программно. Кто-нибудь сталкивался с подобным?
День добрый!
Добавьте пожалуйста такую возможность или научите как пользоваться, если она есть, одновременной компиляцией ВСЕХ файлов открытых в metaeditor'e
Сейчас мне приходится вручную компилировать библиотеки и основной файл эксперта для "подкомпилирования измененных библиотек"
Спасибо!
День добрый!
Добавьте пожалуйста такую возможность или научите как пользоваться, если она есть, одновременной компиляцией ВСЕХ файлов открытых в metaeditor'e
Сейчас мне приходится вручную компилировать библиотеки и основной файл эксперта для "подкомпилирования измененных библиотек"
Спасибо!
Ctrl+F7
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
tol64, 2013.05.05 19:21
Разобрался, но к сожалению свою(?) проблему не решил. Она проявляется редко и по выходным (когда тики не приходят) при переключении таймфреймов/символов. Серии индикатора иногда не отображаются ни в Навигаторе Окне Данных ни на графике, но программно данные можно получить. Выглядит это так:
...
//---
Думал сначала, что если в подокне не отображается и в Навигаторе Окне Данных тоже, то значит буферы пусты (empty_value) и сделав проверку можно вызвать OnCalculate() для обновления. Но не получилось, так как дынные есть в буферах.
Это баг?
Вручную быстро исправляется, если переключать таймфреймы. Хотелось бы конечно не объяснять об этом пользователям, а решить аккуратно программно. Кто-нибудь сталкивался с подобным?
Если же это не баг, то нужен способ определить, что графические серии индикатора в подокне не отображаются (и в Окне данных тоже). Как это сделать, непонятно, так как программно их можно получить. Далее после того, как определили, что в подокне ничего нет, вызываем в таймере OnCalculate() для пересчёта обнулив переменную prev_calculated.
В Справке написано следующее:
Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции. Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом.
Примечание: если функция OnCalculate возвращает нулевое значение, то в окне DataWindow клиентского терминала значения индикатора не показываются.
В моём случае все расчёты были произведены (к ним возможно приступить только после всех проверок) и OnCalculate() возвращает ненулевое значение, соответственно поэтому данные можно получить программно. Но это не сходится с тем, что написано в Справке.