Техническое задание для сова TIME 2 Добавляем в советник TIME следующие параметры: 1) Время вычисления спреда перед открытием ордеров (в минутах) – советник будет запоминать спред каждый тик в заданном интервале времени, вычислять самый максимальный спред и самый минимальный спред. Эти параметры будут использоваться для фактического входа в рынок, т.е. допустим минимальный спред равен 0,3, а максимальный 1,3, то при параметре отклонения 10% (второй параметр ТЗ), сов будет ждать спреда 0,3-0,4 для входа в рынок 2) Максимальное отклонение от самого наименьшего спреда в % при открытии ордеров (разница между максимальным спредом и минимальным - это 100%) 3) Время вычисления спреда перед закрытием ордеров (в минутах) – тоже самое что при открытии ордеров, только тут используется параметр № 4 из ЗТ для закрытия ордеров 4) Максимальное отклонение от самого наименьшего спреда в % при закрытии ордеров + ещё добавим учёт лог файла статистики, для этого ещё два параметра: 5) Вести статистику? (да/нет) – включает запись спреда в файл 5) Валютная пара используемая при статистике 6) Название файла свц куда записывается статистика Т.е. сов должен каждую СЕКУНДУ записывать текущий спред в файл по выбранной валютной паре Спред = цена Аск – цена Бид Логика алгоритма торговли Советник TIME может по времени выставлять и закрывать два блока ордеров от 1 до 3 штук в каждом блоке. Для примера отключаем все ордера кроме первого и выставляем один ордер по новой логике (хотя доработка должна касаться всех ордеров, которые можно открыть советником, т.е. все 6). Заданная дата и время открытия ордера 13.01.2016 15.00 Заданная дата и время закрытия ордера 13.01.2016 17.00 Отклонение от минимального спреда для открытия и закрытия ставим 10% Время анализа для открытия ставим 20 минут Время анализа для закрытия ставим 30 секунд, т.е. в минутах будет = 0,5 Запускаем советник в 14.00: Что делает советник: 1) Советник вычисляет время и дату начала анализа для открытия, в нашем случае это будет 14.40 2) Советник вычисляет время и дату начала анализа для закрытия, в нашем случае это будет 16.59.30 (с секундами) 3) Советник ждёт 14.40 и каждый тик считает какой получается спред, чтоб открыть ордер. 4) При наступлении заданного времени открытия 15.00, советник каждый тик проверяет спред и если он попадает в заданные пределы, то тут же открывает ордер по минимальному спреду (пример расчёта удовлетворяющего спреда есть в самом первом пункте ТЗ) – когда ордер открыт сов перестаёт считать спред для открытия 5) Советник ждёт 16.59.30 и каждый тик считает какой получается спред, чтоб закрыть ордер 6) При наступлении заданного времени открытия 16.59.30, советник каждый тик проверяет спред и если он попадает в заданные пределы, то тут же закрывает ордер по минимальному спреду (пример расчёта удовлетворяющего спреда есть в самом первом пункте ТЗ) – когда ордер закрыт, сов перестаёт считать спред для закрытия. 7) Сов параллельно ведёт лог файл статистики на заданную валютную пару в формате: первый столбец — это дата и время с секундами, когда был посчитан спред, а напротив во втором столбце - само значение спреда. Сов записывает текущий спред в файл каждую секунду по умолчанию. Настройки советника тогда будут выглядеть при мерно так: http://screencast.com/t/wVPwkuX2wll4