Не все ТС можно автоматизировать. Часто необходимо ручное тестирование. При этом возникает проблема "заглядывания в будущее", что сильно влияет на качество тестирования. Скрипт позволяет имитировать торги, пошагово выводя исторические котировки разных инструментов и тайм-фреймов. Подача управляется пользователем.
Состав:
IdleLib.dll - библиотека перехвата нажатия клавиш в окнах Metatrader. Скопировать в \experts\libraries
StepByStep.mq4 - сам скрипт
Входные параметры для скрипта:
startdate - дата и время начала тестирования
instruments - инструменты тестирования через пробел, например "EURUSD GBPUSD USDCHF"
minperiod - минимальный период тестирования. М.б. M1, M5, M15, M30, H1, H4, D1, W1.
После запуска скрипта Файл->Открыть автономно. Там выбираем файлы с приставкой "t_" и тайм-фреймом на 1 больше. Например, чтобы открыть EURUSD 30-минутный - нужно открыть файл "t_EURUSDM31.hst". Далее клавишей "6" на расширенной клавиатуре пошагово добавляем котировки. Шаг добавления будет соответствовать тайм-фрейму активного окна. Например, если нажали "6" в окне с часовым тайм фреймом, то шаг будет 1 час и т.д.
Merin095 писал(а):
Входные параметры для скрипта:
startdate - дата и время начала тестирования
Ломаю голову как дожны выглядеть вводные данные "дата и время"
если любые данные компиляция не пропускает?????
Подскажите кто знает.
я это скрипт впервые вижу, но судя по всему, раз там используется
формат datetime, то время в секундах прошедших от 1.1.1970...
Входные параметры для скрипта:
startdate - дата и время начала тестирования
instruments - инструменты тестирования через пробел, например "EURUSD
GBPUSD USDCHF"
minperiod - минимальный период тестирования. М.б. M1, M5, M15, M30, H1, H4, D1,
W1.
Ломаю голову как дожны выглядеть вводные данные "дата и время"
если любые данные компиляция не пропускает?????
Подскажите кто знает.
Если я правильно понял, в " extern string period="M5 H1 D1"; "
задаются периоды, на которых собираемся работать, включая и
М1,
Правильно?
А в StepbyStep_v1 (вариант, в котором тики генерируются сами)
как я понимаю надо сделать аналогично или нет ?
Avals писал(а):
Блин, в одно сообщение не влазит. Вот продолжение:
Avals, добрый вечер!
Соединил оба блока, пока все ОК.
Если я правильно понял, в " extern string period="M5 H1 D1"; "
задаются периоды, на которых собираемся работать, включая и М1,
Правильно?
А в StepbyStep_v1 (вариант, в котором тики генерируются сами)
как я понимаю надо сделать аналогично или нет ?
Сейчас будем пытать.
Star
На скорость кроме ресурсов и быстродействия компа влияет кол-во валют и мин. TF, а так же кол-во прикрепленных индикаторов и их оптимальность. Некоторые индикаторы каждый раз пересчитывают себя заново, что конечно тормозит работу. Чем меньше мин. TF, тем больше файлов нужно писать при каждом тике, например при M1 - 8 файлов для каждой валюты. Поэтому можно упростить и писать только в TF которые используешь. В приложении - вариант в котором вместо мин. TF задается перечень исп-ых TF в порядке возрастания - это должно ускорить работу.
Ваша прог. StepbyStep обладает свойствами тикового эмулятора!
Это означает, что если "extern string minperiod="M1"; ", то при каждом
очередном шаге на периоде М5 на нем формируется сразу свечка,
на старших периодах, М15, Н1 и т.д., свеча формируется по тикам
периода М5.
Для старших периодов это почти тиковая эмуляция.
Есть два но.
1. Если младшим периодом выбрать М1(для увеличения количества
тиков на старших периодах) то прога не работает.
Посоветуйте, что нужно сделать, чтобы Ваша прекрасная прога
заработала
с периода М1.
2. Ваша прога не запускает эксперт, если он присоединен к графику.
Я понимаю, для Вашей проги эксперт не может выполнить торговые
команды, но в режиме индикатора то он может выдавать сигналы.
Посоветуйте, что нужно сделать, чтобы по сигналам Вашей проги
мог работать и эксперт.
P.S.
Все индикаторы, находящиеся в окне, работают исправно по сигналам
Вашей проги.
В общем если удастся решить эти два пунктика, то получается
полноценный эмулятор для МТ4, позволяющий трассировать и пошагово
проверять выполнение экспертом программы как в ручном так и
в автоматическом режиме с использованием всех програмных наработок,
имеющихся для МТ4.
В общем то работает и на М1, но при tick=2 , но StepbyStep1 медленно и с
задержками.
Поясните в чем причина ограничения скорости работы, что нужно
сделать чтобы ее можно
было увеличить и регулировать. Может это связано с записью данных
цен к файл. В таком случае
переписывать их во временные множества в памяти и от туда брать
их для работы программы
Надо этот вопрос доработать и приспособить ее для работы с экспертом.
StepbyStep1 ведь
отличая программа для анализа и тренировки. Надо ее довести
до ума. А мы поможем в меру своих
сил и опыта.
Star