Пишите в сервис-деск - для МТ5 могут сделать (когда-нибудь, может быть), МТ4 уже закрыт для изменений. В общем-то в тестере есть кнопка паузы. Чем она не устраивает? Если бы была более подробно описана прикладная проблема, возможно удалось бы найти другое решение.
В обоих терминалах можно использовать так называемые кликеры, чтобы нажимать кнопки в интерфейсе тестера по условиям. Для МТ4 я давно писал DLL BreakPoint, там можно было на паузу поставить тестер вызовом функции из MQL, но с тех пор терминал сильно изменился и нужно вносить в сишные исходники правки - иначе работает не совсем корректно. Если устраивает, что по выбранным условиям (например, при смене дня при открытии очередного бара) вылазит модальный диалог с запросом, продолжать ли искать контролы тестера (при этом выполнение останавливается, интерфейс терминала фактически недоступен), то можно пользоваться как есть.

- www.mql5.com
Попробую другими словами сказать о проблеме.
Я сделала для себя панельку с кнопками открыть ордер, закрыть, ну у много других кнопок управления ордерами.
Запускаю свой советник в режиме визио и тестирую свою скальп-стратегию на истории, мне нужно ощущение реального времени в тестере,
чтобы 1 бар на ТФ 1 минута, был по реальному времени 60 секунд. Ползунок скорость не дает установить точного времени, 1 бар может пролететь за секунды, или длится на много больше минуты.
Мне надо синхронизировать 1 бар 1 минутного ТФ с реальным временем.
1 минута в тестере = 1 минуте в реале.
Что-то подобное когда-то делал... Надо поглядеть...
Поглядел - у меня это сделано через GetTickCount() - запрашиваем в цикле, пока не наберется нужное количество милисекунд. В тестере это приводит к паузе.
По идее, можно исхитриться сделать "1 минуту в реале = 1 минуту в тестере" будет проблематично.
Но, смысла я в этом как-то не вижу - что толку-то тянуть минуты, если нет торговых действий или каких-то других изменений ? Если же они есть - гораздо разумнее поставить брейкпоинт в нужном месте.
Что-то подобное когда-то делал... Надо поглядеть...
Поглядел - у меня это сделано через GetTickCount() - запрашиваем в цикле, пока не наберется нужное количество милисекунд. В тестере это приводит к паузе.
По идее, можно исхитриться сделать "1 минуту в реале = 1 минуту в тестере" будет проблематично.
Но, смысла я в этом как-то не вижу - что толку-то тянуть минуты, если нет торговых действий или каких-то других изменений ? Если же они есть - гораздо разумнее поставить брейкпоинт в нужном месте.
Смысл есть, полный симулятор реального скальпа, с ожиданием нового тика, с распределением сил на внимание к графику, с ощущением времени и т.д. Это не относится к логике, это относится к чувствам, эмоциям и интуиции.
"GetTickCount() - запрашиваем в цикле".
Бедный тестер будет кружить по кругу и греть процессор. А более изящного решения нет?
Смысл есть, полный симулятор реального скальпа, с ожиданием нового тика, с распределением сил на внимание к графику, с ощущением времени и т.д. Это не относится к логике, это относится к чувствам, эмоциям и интуиции.
"GetTickCount() - запрашиваем в цикле".
Бедный тестер будет кружить по кругу и греть процессор. А более изящного решения нет?
Вы за процессор волнуетесь ?
А насчет "чувств, эмоций и интуиции" - это лучше пойти в онлайн казино. А в трейдинге это, боюсь, прямой путь к сливу и неудачам.
"А насчет "чувств, эмоций и интуиции" - это лучше пойти в онлайн казино. А в трейдинге это, боюсь, прямой путь к сливу и неудачам. "
Спасибо за предупреждение... но это тема для другой дискуссии.
"Вы за процессор волнуетесь ? " - ну согласитесь, нагрузить процессор холостым циклом, это же Моветон.
"Вы за процессор волнуетесь ? " - ну согласитесь, нагрузить процессор холостым циклом, это же Моветон.
теоретически, можно регулировать частоту тактового генератора)
будет "тёплый ламповый звук"
теоретически, можно регулировать частоту тактового генератора)
будет "тёплый ламповый звук"
Кстати это тоже вариант, частотой процессора регулировать скорость тестера )
Забавно, не правда ли...
Попробую другими словами сказать о проблеме.
Я сделала для себя панельку с кнопками открыть ордер, закрыть, ну у много других кнопок управления ордерами.
Запускаю свой советник в режиме визио и тестирую свою скальп-стратегию на истории, мне нужно ощущение реального времени в тестере,
чтобы 1 бар на ТФ 1 минута, был по реальному времени 60 секунд. Ползунок скорость не дает установить точного времени, 1 бар может пролететь за секунды, или длится на много больше минуты.
Мне надо синхронизировать 1 бар 1 минутного ТФ с реальным временем.
1 минута в тестере = 1 минуте в реале.
Непосредственно в тестере (без помощи MQ) вряд ли удастся сделать.
Как вариант, можно посмотреть на эту статью, где один товарищ фактически сделал аналог тестера и сам там реализовал генерацию тиков - так что управление временем доступно. Но потребуется допилить.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня сверхзадача, для себя, сделать в тестере стратегий МТ4, да и МТ5 не помешало бы, паузу
но
"Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды. Функция Sleep() в тестере стратегий не вызывает никаких задержек."
Просто мне нужен полный реализм времени, чтоб свеча 1 минута была по времени 1 минута, а не пролетала за 3сек или наоборот тикала 5 минут.
Регулятор скорости тестера здесь очень грубо регулирует скорость.
Подскажите как из советника, на время поставить тестер на паузу и потом пустить опять.
Например скорость тестера ставим заведомо большую, и он постоянно догоняет реальные секунды, а потом пауза и опять догоняет...