Попробуйте вместо функции Comment накапливать в массиве, заранее объявив его нужного размера. Графические операции занимают много процессорного времени.
Попробуйте вместо функции Comment накапливать в массиве, заранее объявив его нужного размера. Графические операции занимают много процессорного времени.
У меня в данном случае нет задачи оптимизации чего-либо. Речь сугубо о том, что тестер дает не то количество тиков индикатору, которое ожидается. Если Вы намекаете на то, что индикатор не успевает отлавливать тики, то к тестеру это не относится. В тестере новый тик не приходит, пока программа не обработала предыдущий. Это не онлайн. Хотя, что интересно, онлайн все замечательно работает.
Понял, что в тестере все тики обрабатываются без пропусков
При проверке своего тикового индикатора в тестере наткнулся на странное поведение индикатора - количество собираемых им тиков не совпадает с тем количеством, которое отображается в параметре Volume.
Так было всегда!
При проверке своего тикового индикатора в тестере наткнулся на странное поведение индикатора - количество собираемых им тиков не совпадает с тем количеством, которое отображается в параметре Volume. Создал специальный индикатор для проверки:
Предварительно синхронизировал историю при помощи period_converter. В итоге получил такую картину:
Вывод получается неутешительный: не все тики тестера обрабатываются индикатором, хотя иногда получается наоборот - пришло тиков больше, чем есть на самом деле (свеча 2017.06.01 00:55). Возможно, я где-то ошибся. Но в онлайн все работает правильно.
double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK); double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID); if(MathAbs(ask-askprev)>=_Point)g_nTicks++; if(MathAbs(bid-bidprev)>=_Point)g_nTicks++; askprev=ask; bidprev=bid;соответственно создайте 2 глобальные переменные askprev bidprev и перенесите Comment туда где у вас идет обнуление параметра q_nTicks.
мы имеем дело с изменением цены, цены две, аск и бид. могут измениться сразу обе, может измениться только аск, может измениться только бид. и в любом из этих случаев будет вызвана данная функция.
с уважением.
Так было всегда!
Под "всегда" что подразумеваете? Возможность тестирования индикаторов в тестере появилась сравнительно недавно - год или два назад. Мне в принципе непонятно, почему в тестере не обрабатывается каждый тик. Это ведь однопоточный процесс.
попробуйте добавить следующее условие вместо вашего.соответственно создайте 2 глобальные переменные askprev bidprev и перенесите Comment туда где у вас идет обнуление параметра q_nTicks.
мы имеем дело с изменением цены, цены две, аск и бид. могут измениться сразу обе, может измениться только аск, может измениться только бид. и в любом из этих случаев будет вызвана данная функция.
с уважением.
В МТ4 тестере не может измениться Ask без изменения Bid, т. к. он (Ask) зависит от Bid. Онлайн - другое дело.
Под "всегда" что подразумеваете? Возможность тестирования индикаторов в тестере появилась сравнительно недавно - год или два назад. Мне в принципе непонятно, почему в тестере не обрабатывается каждый тик. Это ведь однопоточный процесс.
Количество генерируемых тиков тестера (индикатор или советник - не важно) не совпадает с суммарным историческим тиковым объемом за интервал тестирования. И так было всегда.
Можете в оффлайне увеличить исторический тиковый объем в 100 раз, от этого тестер не начнет работать в 100 раз медленнее в режиме "Все тики".
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При проверке своего тикового индикатора в тестере наткнулся на странное поведение индикатора - количество собираемых им тиков не совпадает с тем количеством, которое отображается в параметре Volume. Создал специальный индикатор для проверки:
Предварительно синхронизировал историю при помощи period_converter. В итоге получил такую картину:
Вывод получается неутешительный: не все тики тестера обрабатываются индикатором, хотя иногда получается наоборот - пришло тиков больше, чем есть на самом деле (свеча 2017.06.01 00:55). Возможно, я где-то ошибся. Но в онлайн все работает правильно.