Год выпуска: 2015
Версия: 2.0
Таймфрейм: M1
Время торговли: круглосуточно
Валютная пара: Любые
Сайт: Сайта нет, автор я.
Описание:
Работает по известной стратегии для новостей (подробно можно набрать в поисковике "стратегия торговля на новостях"): перед событием устанавливаются 2 отложенных стоповых ордера на покупку и продажу на определенном расстоянии от цены. Расчет на то, что при резком движении откроется ордер в нужном направлении и цена пройдет дальше на импульсе от новостей.
В данном роботе есть дополнительные возможности:
- Можно сделать отложенные ордера на статичными, а "подвижными", т.е. они будут медленно следовать за ценой, пока не произойдёт резкий рывок цены и не сработает ордер в сторону рывка цены.
- Можно везти лог- файл тиков цены, например, смотреть движение цены каждые 2-5 тиков, чтобы иметь возможность посмотреть, как скакала цена и в дальнейшем оптимизировать параметры под конкретные события/новости.
Описание параметров
BaseLot : Базовый лот ордеров;
Lotdecimal : Кол-во десятичных знаков в лоте;
SecondLotK: Коэффициент для лота второго ордера. Можно открывать ордера с разными лотами;
TradeOn : Разрешить или нет торговлю. Если требуется только записать лог-файл с тиками (см далее) без открытия ордеров, можно выставить false;
TakeP, MaxSL : Тейк профит и стоп-лосс. Все пункты здесь «новые».
BreakEvenLevel: уровень в пунктах, при котором ордер будет переведен в безубыток;
sFileName : Имя файла расписания. Робот из этого файла берёт расписание событий, по которым он будет активироваться . Файл по сути текстовый, должен располагаться в папке «папка терминала\MQL4\Files» и далее следует еще папка робота, указанная в параметре «lDirectoryName» . Например, если
lDirectoryName=”Data”, подпапка для файлов робота.Местонахождение файла расписания и лог-фалов. «папка терминала\MQL4\Files\Data».
В случае, если запуск происходит из тестера стратегий, папка, в которой ищется файл будет такой :
«папка терминала\tester\Files\Data». Т.е. при тестах и «боевом» режиме файлы событий лежат в разных папках! Это так у программистов «Metatrader» задумано.
Содержимое в строке файла расписания пишется в таком формате "Символ; yyyy.mm.dd hh:mi"
пример строки с событием : «EUROUSD; 2015.02.22 15:30» На все другие строки, не начинающиеся с названия символа валюты, робот не реагирует, поэтому можно писать свои пояснения. Также в одном файле расписания могут быть собраны все расписания для разных валют, чтобы не создавать для этого робота разных файлов для разных валют. Всё можно разместить в одном.
Пример файла расписаний:
EURUSD;2015.04.29 15:30
GBPUSD;2015.04.29 15:30
EURUSD;2015.05.25 16:30
StartActiveSecBefore : за сколько секунд до события робот перейдёт в активное состояние;
Если установлен параметр записи лог-файла –с этого момента начнёт писаться лог-файл тиков.
ActivePeriodSec: период активности по текущему событию. В период активности, если выставлено указание пишет лог-файл с тиками. Слишком большое время выставлять не желательно, забивает память компьютера логом тиков. Больше 20 минут нет смысла. По истечению этого срока перейдёт в неактивное состояние и в зависимости от расписания, будет ждать следующего события;
Если остался торговаться ордер не закрытый - робот его уже никак не отслеживает.
Send_pendord_Before_Event_Sec: За сколько секунд до события начинать выставлять ордера. На реале проверено - меньше 10 секунд нежелательно, у брокера могут быть «тормоза» и проблемы с выставлением ордеров. Я практиковал где-то секунд 30-20.
Dist_pendord_Price_Buy; Dist_pendord_Price_Sell: дистанция в пунктах отложенных ордеров от тек. Цены.
OrdState – принцип работы с отл. Ордерами. Static – ордера выставлены и не больше не двигаются. Если Moving – то периодически, по истечению времени, указанного в FreezTimeMovingOrdSec ордера передвигаться на расстояние Dist_pendord_Price_ от уже текущей ситуации на рынке. Практикуется такая стратегия, когда вышла новость и ожидается резкий скачок в нужную нам сторону , поэтому ордера «двигаются» за ценой, но при скачке не успевают двинуться и срабатывает нужный ордер. Не всегда такая стратегия срабатывает. Иногда за резким скачком бывает отскок и можно словить наоборот СЛ. Вообщем, тут на выбор 2 варианта действий.
CloseMirrorOrdAfterTrig – закрывать ли противположный ордер, когда сработал один из ордеров. В любом случае при переходе в неактивное состояние все отложенные ордера снимутся.
TrailingStart, TrailingStop, TrailingStep – стандартный трал.
"Сервис ===========================";
CountMin – За какое количество минут хранить в оперативной памяти информации. Осталось пока с прошлой версии. Пока не трогать.
NumTicks - Младший Тф указанный в количестве тиков. В роботе реализован подсчет изменения цены как, в таймфрейме, только отсчитывается таймфрейм не в единицах времени, а в тиках. За каждое кол-во тиков записывается на сколько цена сходила вверх и вниз. Затем, это можно записать в файл и проанализировать.
CountMTF- Сколько данных этих младших ТФ хранить в оперативной памяти DispMTF- можно показывать данные по изменению цен. ТФ на экране.
WriteLog: писать или нет лог файл с тиками и изменением цены. Формат файла «csv» -7 столбцов:
1Время сервера, 2- время локальное на компьютере,3 -Bid текущий, Up- сколько пунктов прошла цена вверх предыдущего установленного количества тиков , Down- сколько пунктов прошла цена вниз с предыдущего установленного количества тиков , ticks – через сколько тиков делать замер (параметр NumTicks), Spred -текущий спрэд брокера.
lFileName - Начальная часть имени файла лога. Потом к имени прибавляется символ валюты, число месяца, номер месяца, час и минута старта расписания. Например, имя лога может иметь вид "SHFTNT2-EURUSD-25-5-15-25.csv" – это значит лог-файл евро, 25 мая, в 15-25 минут стартовал .
lDirectoryName- имя подкаталога для файлов расписания и лог-файлов робота.
Инструкция:
Для работы необходимо создать текстовый файл с расписанием времени событий включения и положить в нужную папку. Без расписания робот не запустится. Тестировать в тестере имеет смысл если только в визуальном режиме –посмотреть на его принципы работы и выявления багов. В тестере тики генерируются случайным образом и не имеют ничего общего с реальными . Реального спреда в тестере тоже нет, поэтому результаты в тестере подходят просто для ознакомления. Тестировать лучше в реальном времени на живых событиях. А лучше всего - на реальном счете с минимальным лотом, где будет виден реальный спред и реальные задержки по исполнению.
От себя : Я только изучаю процесс торговли на новостях.
Но кое-какие выводы есть:
-Новости все подряд брать не надо. Надо только самые волатильные.
Лучше брать самые волатильные , например, в пятницу выходят «нонки».
- Брокер и тип счета не всякий подходит для новостей. Спред на волатильных новостях может расширяться раз в 5.
Хороший вариант, например счет с фиксированным спредом. Или вообще, есть счета с нулевым спредом, но с комиссией - по сути это тоже фикс. спред.
Анализ лог-файлов от разных брокеров поможет правильно подобрать брокера и счет.
Изменено 10 июля, 2017 пользователем Pavel888

