Тему Проблема с индикаторами в тестере видел, ворос не в том, что проблема есть, а как бы с ней справиться. Можно как-нибудь читать моделируемое время? или чего еще..... но что поможет.
Передавайте значение времени из тестируемого советника (Визуальный
режим) в индикатор через Глобальные переменные.
Посчитать время следующего (будущего) бара большого таймфрейма,
по этому времени получить номер бара малого таймфрейма (с exact=false).
Проверить время бара малого таймфрейма (имеющего полученный
номер). Если он из будущего бара, то из номера отнять 1, если
из текущего, то такой номер и использовать. Что-то в таком стиле
можно попробовать.
Rosh писал (а):
Передавайте значение времени из тестируемого советника (Визуальный режим) в индикатор через Глобальные переменные.
Передавайте значение времени из тестируемого советника (Визуальный режим) в индикатор через Глобальные переменные.
Как раз зашел, чтоб спросить! (вспомнил, кто мне их вдалбливал
в свое время)
Вместо пустого советника - советник постоянно формирующий глобальную с временем TimeCurrent() и читай себе из индюков. А узнать хотел - можно ли, не будет ли задержки и т.п. Как понял - можно, спасибо!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как многие - использую тестер с пустым советником для посмотреть на то, что показывает накинутый поверх графика индикатор.
В индикаторе при пересечении нулевым баром заданного уровня цены iCustom читает буфера другого индикатора с заданием младшего ТФ.
В реал-тайм - работает, на тестере что-то странное. Стал смотреть - оказалось что параметры свечек на младшем ТФ читаются не от нулевого бара, совпадающего по времени с моделируемым тестером нулевым баром, а от реального нулевого бара истории.
Пробовал: если в индикатор, вызываемый iCustom, добавить extern datetime и передовать при вызове Time[0] - то номер соответствующего по времени бара на младшем ТФ прочитать iBarShift можно правильно. Проблема в том, что уровни пробиваются баром не в момент открытия бара :).
Пробовал: iTime, iOpen,... , TimeCurrent(),... - не договорились...
Для примера прикладываю два маленьких индикатора:
Writer пишет на нулевом баре в три буфера цены открытия 5, 13, и 21 баров.
Reader, работая например на М15, читает с М1 эти значения и рисует на своем ТФ.
Если накинуть Reader на тестере на М15, то читать он будет то, что покажет Alert Writer'а :), т.е. нарисует три прямые на всем периоде тестирования. А хотелось бы немного другого. Только накидывайте ридер на график, предварительно поставив тестер на паузу, и нажимайте >> только после удаления ридера с графика, иначе Alert затрахает.
Кто-нибудь знает, как в данной ситуации заполучить номер бара младшего ТФ, соответствующего по времени моделируемому бару?