Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

2012.09.18 17:05
Советники

SelfLearningExperts - эксперт для MetaTrader 5

| Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
9246
Рейтинг:
голосов: 32

Эксперт переписан с MQL4, автор lsv, ссылка на оригинал - https://www.mql5.com/ru/code/9431.

Принцип работы

Эксперт работает по тикам, таймфрейм, на котором работает эксперт не важен. По мере изменения цены формируются паттерны определяющие текущую рыночную ситуацию. Формируется несколько паттернов с разными параметрами. Количество паттернов задается переменной Nidelt. Для первого паттерна используется параметр dstop, для второго dstop*2 и т.д. до dstop*N, где N - количество паттернов. Если цена изменилась на величину dstop*N, фиксируется новая точка паттерна, самая старая точка удаляется, таким образом, паттерн всегда имеет длину Nidelt точек. Чем больше значение параметра паттерна, тем на большую глубину он охватывает историю. Получается, что рынок одновременно отслеживается на разную глубину истории.

При изменении какого-то паттерна (изменении рыночной ситуации), открывается виртуальная позиция. Здесь стоит задача связать позицию с определенной рыночной ситуацией. Это делается следующим образом: паттерн выраженный последовательностью ценовых значений перекодируется в бинарную последовательность, если значение одной точки больше значения предыдущей точки, это 1, иначе - 0. По такой последовательности вычисляется уникальный номер паттерна (по сути - перевод двоичного числа в десятичное).

Может открываться от одной до трех виртуальных позиций с различными стоплоссом/тейкпрофитом, значение стоплосса и тейкпрофита одинаковое. Величина стоплосса/тейкпрофита определяется параметром dstop, для одной позиции dstop*1, для другой dstop*2 и т.д. Если цена пойдет вверх на величину стоплосса/тейкпрофита, это добавит величины к вероятности движения вверх для этого паттерна, если вниз - то повысит значение вероятности вниз. Открываются свои виртуальные позиции для каждого сочетания трех параметров: параметр паттерна, номер паттерна (его форма) и для каждого из значений стоплосса/тейкпрофита. Так же, для каждого из этих сочетаний, по результатам виртуальной торговли, вычисляется вероятность движения вверх или вниз.

Если по какому-то сочетанию трех параметров (параметр, номер, стоплосса/тейкпрофита) произведено не менее 10-ти виртуальных сделок, то при появлении на рынке такой же ситуации (выявлен паттерн определенного параметра и номера) может открываться позиция с направлением соответствующим вероятности вычисленной на основе этой статистики и соответствующей величиной стоплосса/тейкпрофита.

Для накопления статистики может потребоваться значительное время, как пишет автор эксперта, может потребоваться несколько недель. Процесс сбора статистики можно ускорить за счет использования тестера. Однако, изменения цены в тестере и реальном рынке могут значительно отличаться, автор рекомендует поступить следующим образом: обучить эксперта в тестере, затем запустить на демосчете примерно на неделю. Если на демосчете эксперт покажет положительные результаты (при этом он еще немного подучится), то использовать его на реальном счете.

Подготовка эксперта

Первым этапом подготовки эксперта к работе будет оптимизация его параметров: Nidel, Nstop, dstop, forg, Probab, NN, delta. На этом этапе оптимизация выполняется с выключенными параметрами ReadHistory и SaveHistory. После того, как будет найдено приемлемое сочетание параметров, следует провести одно тестирование с SaveHistory=true. Затем, запустить эксперта на счете с ReadHistory=true - эксперт сразу начнет работу, так как накопил достаточное количество статистики в тестере. При работе на счете рекомендуется включать SaveHistory, что бы по мере переучивания эксперта данные сохранялись автоматически и эксперт всегда был готов к работе в случае его перезапуска.

При SaveHistory в тестере, по окончанию тестирования данные обучения сохраняются в файл, файл имеет имя FD_[Symbol], если эксперт работал на EURUSD, файл будет иметь имя «FD_EURUSD», если на GBPUSD – «FD_GBPUSD» и т.д. Файлы сохраняются в папке Files - общей папке данных всех терминалов. Найти общую папку данных можно через главное меню MetaEditor’а – Открыть общую папку данных. Из этой же папки данные считываются при ReadHistory.

Кроме сохранения результатов обучения, эксперт сохраняет еще два файла, которые нужны ему в процессе торговли. Файлы имеют имена: FDlast_buy[Symbol][TimeFrame], и FDlast_sell[Symbol][TimeFrame]. На эти файлы не следует обращать внимания.

Единственная зависимость от таймфрейма у эксперта – периодичность сохранения данных обучения и минимальное время между виртуальными сделками, оно равно длительности двух баров, так что, вероятно некоторое различие в результатах работы эксперта на разных таймфреймах.

На изображении показаны результаты тестирования эксперта за последний месяц на EURUSD M15 с настройками по умолчанию.

 

Параметры

  • ReadHistory - Чтение сохраненной истории обучения.
  • SaveHistory - Сохранять историю обучения. При работе в тестере история сохраняется по завершению тестирования, при работе на счете - регулярно, по мере переобучения.
  • Lots - Объем позиции.
  • Nidelt - Количество различных паттернов, не более 30.
  • Nstop - Количество параметров виртуальных позиций (различных значений стоплосса и тейкпрофита, стоплосс и тейкпрофит равны), 1, 2 или 3.
  • dstop - Шаг изменения параметров виртуальной позиции (стоплосса и тейкпрофита).
  • forg - Скорость забывания результатов обучения, значение должно быть немного больше 1.
  • Probab - Уровень вероятности определенный по результатам обучения при котором выполняется открытие позиции.
  • NN - Размер паттерна, не более 12.
  • delta - Шаг изменения параметра паттерна.
  • ReplaceStops - Модифицировать стоплосс/тейкпрофит при новых сигналах открытия. Перенос стоплосса/тейкпрофита выполняется только по направлению позиции.
  • Trailing - Уровень трейлинга, при значении 0 трейлинг выключен.
YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя

Скрипт рисует уровни Рудолфа Акселя

YURAZ_CLOSEPRC_V1 YURAZ_CLOSEPRC_V1

Закрытие всех открытых позиций одним кликом либо закрытие всех позиций при достижении указанного профита в процентах от депозита

EA Simple BB EA Simple BB

Советник основан на индикаторе Bollinger Bands.

Мультипериодный индикатор MK_LaguerreMultiPeriodV2 Мультипериодный индикатор MK_LaguerreMultiPeriodV2

Обычный Laguerre на нескольких таймфреймах одновременно.