Ошибки, баги, вопросы - страница 983

 
Подскажите (может кто-нибудь успешно использует), можно ли как-то искусственно вызвать OnCalculate() в OnTimer() ?
 
tol64:
Подскажите (может кто-нибудь успешно использует), можно ли как-то искусственно вызвать OnCalculate() в OnTimer() ?

так и вызывайте

OnCalculate

это же обычная функция

 
sergeev:

так и вызывайте

OnCalculate

это же обычная функция

Спасибо. Чуть позже краткий примерчик сделаю, если не получится разобраться...

 
ns_k:

Вечер добрый!

Как в тестере стратегий накинуть шаблон на график на котором отображаются сделки? Зеленые бары на черном фоне не нравятся очень.

Спасибо! 

ps. Пока у меня мысль дошла только до того, что нужно получить историю всех сделок и собственноручно построить график с нужным шаблоном и отобразить на нем историю. Если это единственный вариант, то может найдется уже готовый код под это? Спасибо снова! 

Шаблон (который хотите видеть при визуальном тесте) запишите под названием default и на таком шаблоне будет идти визуализация.
 
sergeev:

так и вызывайте

OnCalculate

это же обычная функция

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

tol64, 2013.05.05 13:29

Спасибо. Чуть позже краткий примерчик сделаю, если не получится разобраться...

Разобрался, но к сожалению свою(?) проблему не решил. Она проявляется редко и по выходным (когда тики не приходят) при переключении таймфреймов/символов. Серии индикатора иногда не отображаются ни в Навигаторе Окне Данных ни на графике, но программно данные можно получить. Выглядит это так:

 

//---

Думал сначала, что если в подокне не отображается и в Навигаторе Окне Данных тоже, то значит буферы пусты (empty_value) и сделав проверку можно вызвать OnCalculate() для обновления. Но не получилось, так как дынные есть в буферах.

Это баг? 

Вручную быстро исправляется, если переключать таймфреймы. Хотелось бы конечно не объяснять об этом пользователям, а решить аккуратно программно. Кто-нибудь сталкивался с подобным?



 

День добрый!

Добавьте пожалуйста такую возможность или научите как пользоваться, если она есть, одновременной компиляцией ВСЕХ файлов открытых в metaeditor'e

Сейчас мне приходится вручную компилировать библиотеки и основной файл эксперта для "подкомпилирования измененных библиотек"

Спасибо! 

 
ns_k:

День добрый!

Добавьте пожалуйста такую возможность или научите как пользоваться, если она есть, одновременной компиляцией ВСЕХ файлов открытых в metaeditor'e

Сейчас мне приходится вручную компилировать библиотеки и основной файл эксперта для "подкомпилирования измененных библиотек"

Спасибо! 

Ctrl+F7
 
Wahoo:
Ctrl+F7
Спасибо! Немного сбивает с толку то, что когда жмешь F7, звездочки исчезают на всех редактируемых файлах, а компилируется по факту, только текущий.
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

tol64, 2013.05.05 19:21

Разобрался, но к сожалению свою(?) проблему не решил. Она проявляется редко и по выходным (когда тики не приходят) при переключении таймфреймов/символов. Серии индикатора иногда не отображаются ни в Навигаторе Окне Данных ни на графике, но программно данные можно получить. Выглядит это так:

...

//---

Думал сначала, что если в подокне не отображается и в Навигаторе Окне Данных тоже, то значит буферы пусты (empty_value) и сделав проверку можно вызвать OnCalculate() для обновления. Но не получилось, так как дынные есть в буферах.

Это баг? 

Вручную быстро исправляется, если переключать таймфреймы. Хотелось бы конечно не объяснять об этом пользователям, а решить аккуратно программно. Кто-нибудь сталкивался с подобным?

Если же это не баг, то нужен способ определить, что графические серии индикатора в подокне не отображаются (и в Окне данных тоже). Как это сделать, непонятно, так как программно их можно получить. Далее после того, как определили, что в подокне ничего нет, вызываем в таймере OnCalculate() для пересчёта обнулив переменную prev_calculated.

В Справке написано следующее:

Для этого обычно достаточно вернуть значение параметра rates_total, которое содержит количество баров при текущем вызове функции. Если с момента последнего вызова функции OnCalculate() ценовые данные были изменены (подкачана более глубокая история или были заполнены пропуски истории), то значение входного параметра prev_calculated будет установлено в нулевое значение самим терминалом.

Примечание: если функция OnCalculate возвращает нулевое значение, то в окне DataWindow клиентского терминала значения индикатора не показываются.

В моём случае все расчёты были произведены (к ним возможно приступить только после всех проверок) и OnCalculate() возвращает ненулевое значение, соответственно поэтому данные можно получить программно. Но это не сходится с тем, что написано в Справке.


 

 
 
Вопрос к начальству. Есть ли у вас демо-сервер дла МТ5, где 1 лот равен 10 000 (а не 100 000 USD), мин лот = 0.01, шаг = 0.01? Хотелось бы прооптимизоровать советник как для центовых счетов. На тех центовых счетах для МТ5, что я нашёл у брокеров мин. лот = 0.1, а я ищу что был с 0.01.