![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Определение того, что индикатор находится на графике визуального тестирования:
При вызове индикатора из эксперта при тестировании, функции IsTesting() и IsVisualMode() работаю в индикаторе правильно.
Сложновато писать то что очевидно (субъективно).
Думаю вопрос решен?.
(смотрим далее )Думаю вопрос решен.
и решен красиво.
Мамачки:)
ну вот... и ото стоило столько писанины писать вместо одной строчки кода очевидной тебе и не очевидной другим? ;)
Замените TimeCurrent() на MarketInfo(Symbol(),MODE_TIME). Я исправил свое сообщение с этим кодом.
Нет, TimeCurrent() более (>=) MarketInfo(Symbol(),MODE_TIME).
Ведь если некоторое время не было открыто окно моделируемого символа архив символа не изменится (и незачем вызывать MarketInfo, могу ошибаться?).
Нет, TimeCurrent() более (>=) MarketInfo(Symbol(),MODE_TIME).
Ведь если некоторое время не было открыто окно моделируемого символа архив символа не изменится (и незачем вызывать MarketInfo, могу ошибаться?).
В нормальном режиме, по другому символу может уже открыться бар, а по рабочему (на котором индикатор) еще нет, а будет определено визуальное тестирование.
Обновление данных. Это другая тема. Если это кртично для работы индикатора, то нужно отдельно, в начале, принять меры по контролу подгрузки, потом все остальное делать.
В нормальном режиме, по другому символу может уже открыться бар, а по рабочему (на котором индикатор) еще нет, а будет определено визуальное тестирование.
Обновление данных. Это другая тема. Если это кртично для работы индикатора, то нужно отдельно, в начале, принять меры по контролу подгрузки, потом все остальное делать.
Решил проверить, оказалось что TimeCurrent грубо говоря и есть время последнего тика всего "обзора рынка".
лог
2010.12.10 16:29:44 IsTestingOpt EURUSD,M1: Alert: 2010.12.10 16:29:52 áîëåå (>=)2010.12.10 16:29:51 2010.12.10 16:29:44 IsTestingOpt EURUSD,M1: Alert: 1291998592 áîëåå (>=)1291998591.00000000 2010.12.10 16:29:44 IsTestingOpt EURUSD,M1: initialized
но при вызове через iCustom(0,0,"IsTestingOpt",0,0);
лог выглядит иначе ;))
Если используется iCustom() при оптимизации тестировании в режиме визуализации,
функции IsTesting() IsVisualMode() IsOptimization() работают корректно.
Если индикатор выкидываем в ручную на график (visual) они не работают.
Т.е. берутся не моделируемые данные, а из вне, данной "песочницы" (см. индикатор выше)
зы странно что MarketInfo("USDSEK",MODE_TIME) тоже был смоделирован, ХМ.
Хух... Спасибо огромное, наблюдал издалека, ибо аргументы закончились оставались одни междометия.
Спасибо, тема раскрыта, надеюсь форуму больше не потребуется отвечать на этот вопрос.