Часто, при долгой оптимизации, требуется проверить сет на другом временном интервале. Раньше я делал копию терминала и загонял в тестр нужные значения ручками. Вот решил автоматизировать этот процесс.
Итак, результаты оптимизации можно скопировать в буфер даже если оптимизация еще не закончилась. Создаем текстовый файл в "каталог_терминала\experts\files\opt.txt" по умолчанию или с другим именем. Выбираем в МТ4 чарт с необходимым символом и ТФ и на него кидаем скрипт. В окне настроек можно указать название созданного файла с данными оптимизации,название эксперта и количество создаваемых сет-фалов. В той же папке выгребаем созданные сеты и используем на свое усмотрение.
Небольшой скрипт, который я иногда использую. Думаю, он может многим оказаться полезным.
Обычно он "висит" у меня на горячих клавишах Ctrl+L.
При вызове скрипт сперва проверяет, существует ли элемент управления - вертикальная линия. Если нет - она создаётся и скрипт завершает работу. Если элемент управления уже создан, то скрипт рассчитывает уровни, проходящие через последние "незакрытые" экстремумы цены на момент времени, указываемый элементом управления.
Данный скрипт позволяет найти (перебором) для каждого
парного сочетания ФИ оптимальный размер окна, в котором поведение
абсолютного значения КК наиболее высокое и стабильное.
Скрипт создает файл истории исходного символа, на которой достигается
увеличение в разы скорости тестирования/оптимизации стратегий на модели "Все тики", при идентичных результатах.
Скрипт позволяет быстро удалять с графика всякие нерыночные шпильки и прочий мусор в котировках, либо просто переходить к редактированию требуемого бара. Достаточно перетащить скрипт мышкой на требуемый бар, появится сообщение "Удалить данный бар?". Если желаем удалить, то жмём "Да", и бар удаляется.
Перетаскиваем скрипт на график(именно перетаскиваем), в зависимости от того в какую временную точку был брошен скрипт, зависит то как скрипт построит линии.
Скрипт быстрого открытия ордеров работает по двум типам исполнения ордеров : Market Execution и Instant Execution
Для выбота типа есть переменная MarketExecution, если ее значение =
false, то стопы ордеров выставляются сразу при открытии ордера, а если
true, то после открытия ордера скрипт будет работать до тех пор, пока не
установит стоплосс и тейкпрофит.
Просто скрипт, который читает HTML файл отчета, или детализированного
отчета, и рисует сделки из него на графике в стандартном виде.
Стрелки ордеров будут отрисованы только для текущего инструмента.
Если отчет содержит торговлю по нескольким инструментам, нужно
переключить график самостоятельно, и запустить на нем скрипт. Для
удаления собственной графики запустите скрипт с переменной
DeleteThisGraphicsFromChart = true.
Торговые инструменты по которым велась торговля будут выведены на печать в виде подсказки.
Внешние переменные - имя файла отчета, и режим стирания собственной графики.
Файл отчета конечно же предварительно нужно положить в \terminal\experts\files\
Скрипт записывает значения индикатора ZigZag в файл формата
CSV, для дальнейшей обработки например в Excel.
Файлы сохраняются в «- Каталог_терминала\experts \files\».
Стандартный обработчик тиков OnTick() позволяет получать тики только
по одному инструменту. Для мультивалютной торговли требуются тики по
каждому требуемому инструменту. Причем иногда желательно их получать по
всем инструментам, которые есть в окне «Обзор рынка». Для этой цели
прилагаемый советник exOnTickMarketWatch.mq5 использует стандартную
функцию обработки пользовательских событий OnChartEvent() благодаря
которой мы получаем:
Скрипт покажет, какова будет ваша прибыль или убыток если
сработают все TakeProfit или StopLoss на открытых в данный момент
ордерах (суммарно по всем инструментам).
В расчете участвуют только те ордера, у которых уровни TakeProfit и(или) StopLoss заданы (не равны нулю).
Информация выводиться в диалоговом окне (Alert).
В использовании очень прост.
Запускаем скрипт - на экране появляются мигающие
линии
уровней StopLoss (красная) и TakeProfit (синяя). Двигая Красную линию,
устанавливаем желаемый уровень StopLoss, при этом скрипт вычислит размер
лота, равный заданному вами в % от депозита убытку по данному ордеру.
Синяя линия (TakeProfit) переместится автоматически
на равноценный % прибыли от депозита (равный % убытка, если коэффициент
kProfitLine=1).