Описание параметров №2

Автоматическая оптимизация

Современные технологии

часть №2

MultiLevelRecording (MLR) AutoStartTime StartTime TotalPass UseForwardTester
ManualControl SymbolTotal SwitchSymbol iSymbol sSymbol
dSymbol cSymbol xSymbol rSymbol tSymbol
#TestFileOne #ProtectionFile #Profit (USD) #Relative equty drawdown percent (%) #Profit factor
#Expected payoff #_5_Statistics #_5_Stat #Statistics_5_  #Forward
#AutoForwardTime #ForwardTime #ForwardProfit #OptDrawdown #OptProfitFactor
#OptExpectedPayoff #DeleteFile #MaxTimeFile #_SendMail #MinimumAccountBalance
#MaxTimeFile #_SendNotification #_Alert #CheckingStatus #CheckingPositions
#Message #PauseTime      

MultiLevelRecording (MLR)

Количество папок с файлами, если 0 то настройки сохраняться не будут. Во время оптимизации советник анализирует результаты каждого прохода в тестере стратегий и сохраняет настройки с лучшими показателями в отдельные файлы. Файлы с настройками (включая валютную пару и период графика) сохраняются в отдельную папку. 

Однако по результатам оптимизации положительные результаты могут быть достигнуты с разными настройками и какие именно настройки окажутся наиболее эффективными в реальных условиях рынка никто не знает. Поэтому есть смысл сохранять как минимум несколько комбинаций настроек, которые в последствии можно использовать сразу на нескольких счетах распределив между ними средства. Таким образом достигается диверсификация риска. В то время пока по одному счету мы можем получить убыток, по другому счету достигается прибыль.

Для того чтобы автоматизировать процесс сохранения настроек в разных вариациях достаточно увеличить значение параметра MultiLevelRecording (сокращенное название - MLR) на желаемое количество. В результате после сохранения настроек в одной папке (по определенной валютной паре с определенным периодом графика) для следующей вариации советник создаст новую папку увеличив ее номер на один крат. 

Основным номером папки является параметр FolderNumber в которую помещаются все подпапки с начальным номером Magic_Number. Все последующие папки имеют номера - (Magic_Number+порядковый номер создания). Номер каждой последующей папки превосходит предыдущий на один крат (одну цифру).

AutoStartTime

Включает в себя общее количество баров для оптимизации. Это значение используется для установки начальной даты оптимизации которая при одном и том же количестве баров для разных периодов определяется по разному. Так допустим с периодом H1 18000 баров это чуть больше 2 лет оптимизации. Однако при установке меньшего периода время оптимизации сокращается пропорционально периоду графика.

Это имеет абсолютно обусловленный характер учитывая сколько времени может занять оптимизация советника за 2 года с периодом M1. Это огромное количество баров которое нужно пройти при каждом проходе. Количество проходов может исчисляться тысячами.

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

Единственным недостатком этой функции по сравнению с ручной установкой даты оптимизации в тестере стратегий является постоянная необходимость проходить в холостую лишнее время установленное в тестере стратегий. К примеру в тестере стратегий установленный временной участок занимает 2 года а согласно внутренним настройкам советника на 18000 баров с периодом M1 временной участок устанавливается намного меньше и при каждом проходе советник вынужден проходить лишний участок в холостую что отнимает какое то время. Это влияет исключительно и только на общее время оптимизации, на качество оптимизации это никак не влияет.

Все это при условии проведения оптимизации по ценам открытия. Где за один и тиот же момент может быть пройден период как в один час (H1), так и одну минуту (M1).

StartTime

Время начала оптимизации (устанавливается вручную) если AutoStartTime = 0. Это выпадающий блок в котором вы можете установить любую дату начала оптимизации.

TotalPass

Это очень важный параметр который определяет метод оптимизации. Если 0 оптимизация будет размеренной, если больше 0 то не размеренной. Допустим у вас оптимизируется 28 пар в 10 вариациях. Сначала робот подберет настройки для одной пары и наполнит 10 папок разными настройками, затем перейдет к следующей паре и так далее. Однако в случае размеренной оптимизации если робот не может подобрать подходящие настройки по определенной паре согласно вашим критериям он будет продолжать их искать до того момента пока тестер стратегий не исчерпает все комбинации и не остановится, после чего потребуется перезапуск тестера стратегий и все опять может повториться.

В случае использования неразмеренной оптимизации, робот будет подбирать настройки для определенной валютной пары только определенное количество проходов TotalPass после чего переключится на следующую пару и так далее. После того как он достигнет конца списка валютных пар то возвращается назад к первой паре и так по кругу. 

В первом варианте плюсом является то что во всех папках в итоге вы получите одинаковое количество оптимизируемых файлов не считая последней оптимизируемой пары если оптимизация по ней не была закончена в следствии остановки тестера стратегий. Минусом является то что робот может зациклиться на какой то паре не в силах подобрать для нее настройки под ваши критерии и в нужном вам количестве. По этой причине оптимизация по остальным парам откладывается.

Во втором варианте плюсом является полное отсутствие зацикливания на определенной паре робот все время переключается с одной пары на другую, однако папки с файлами таким образом наполняются не размерено. В первой папке как правило будет наибольшее количество оптимизируемых файлов, во второй может быть чуть меньше а в третей еще меньше и так далее, потому что наибольшее количество проходов приходится на первую папку, остальное на вторую и последующие папки. До последних сразу оптимизация может даже не доходить. Выравнивание количества файлов в папках происходит только после наполнения первых папок, в этом случае первенство передается дальше и так до самой крайней папки.

UseForwardTester

Если включить то настройки с лучшими результатами будут сохраняться только во время автоматического форвард тестирования, которое может быть использовано в тестере стратегий МТ5. Пока советник будет оптимизироваться робот будет игнорировать все полученные результаты и начнет анализировать результаты и выбирать лучшие настройки только после окончания оптимизация и начала автоматического форвард тестирования.

ManualControl

Если включить советник будет отбирать настройки исключительно во время тестирования. Настройки отбираются в соответствии со всеми заданными критериями. Однако перебираются не все настройки подряд как во время оптимизации а только те которые вы выберите в ручном режиме (после полного завершения оптимизации) и прогоните в тестере стратегий в режиме тестирования.

SymbolTotal

Оптимизация советника проходит в мультивалютном режиме, здесь указывается количество оптимизируемых валютных пар. Валютные пары оптимизируются не одновременно а поочередно. Сначала советник подбирает настройки для одной пары, затем для другой и так далее.

SwitchSymbol

Если - 2 то перебираться будут все валютные пары из списка, - 1 только текущая валютная пара тестера стратегий, если 0 и больше выбирается конкретная валютная пара из списка. 0 это первая пара в списке, 1 вторая пара, 2 третья пара и так далее.

Список валютных пар

Форекс

iSymbol

EURUSD/ USDJPY/ USDCHF/ GBPUSD/ USDCAD.

nSymbol

NZDUSD/ AUDUSD/ EURGBP/ EURCHF/ EURJPY.

sSymbol

AUDCAD/ CADJPY/ CADCHF/ AUDCHF/ AUDNZD.

dSymbol

EURCAD/ EURAUD/ NZDJPY/ EURNZD/ GBPJPY.

cSymbol

NZDCHF/ GBPNZD/ GBPCHF/ NZDCAD/ AUDJPY.

xSymbol

CHFJPY.

rSymbol

GBPAUD.

tSymbol

GBPCAD.

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

Количество валютных пар и других инструментов которыми вы торгуете может достигать 200 наименований.  Советник включает в себя достаточно мощный потенциал, однако такое количество торгуемых инструментов едва ли наберется у вашего брокера. При этом еще инструменты необходимо подбирать в соответствии со стратегиями которые вы используете. В основном используется не более 28 валютных пар которые прописаны по умолчанию.

Обращаем ваше внимание что чем больше валютных пар вы используете тем больше нагружаете терминал и соответственно компьютер/VPS. Это создает сравнительно приемлемую нагрузку на средний по мощности сервер при запуске нескольких терминалов, однако если на сервере запустить до 10 терминалов и больше необходимо проследить способен ли ваш сервер справиться с такой нагрузкой.

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

TestFileOne

С помощью этого параметра можно протестировать конкретный файл с настройками из общей папки. 0 первый файл, 1 второй файл, 2 третий файл и так далее. Это позволяет подвергнуть дополнительной проверке файлов с настройками по отдельности, выявить и исключить файлы которые ослабляют общий результат. Такие файлы необходимо удалять из обшей папки в ручном режиме. Для этого пройдите по пути - \AppData\ Roaming\ MetaQuotes\ Terminal\ Common\ Files (общая папка с файлами советника) найдите ненужные (по вашему усмотрению) файлы с настройками и удалите их.

Для работы советнику необходимо чтобы в общей папке находился минимум один файл, максимум 200 файлов. Каждый файл может включать в себя разные настройки, разные периоды графиков, разные валютные пары или полностью разные стратегии.

ProtectionFile

Это защита от случайных нажатий в тестере стратегий в следствии чего тестер может запуститься и перезаписать/удалить устаревшие файлы которые могут быть вполне еще пригодными для торговли (по результатам торговли некоторые наборы с настройками могут показывать выдающиеся результаты). Чтобы этого не допустить вы можете защитить отдельные файловые папки от каких либо изменений. Для этого пропишите здесь их номера через косую черту.

Profit (USD)

Профит в твердой валюте, ниже которого настройки не принимаются.

Relative equty drawdown percent (%)

Относительная просадка, выше которой настройки не принимаются.

Profit factor

Профит фактор, ниже которого настройки не принимаются.

Expected payoff

Матожидание, ниже которого настройки не принимаются.

_5_Statistics

Пользовательский критерии приемлемости настроек в виде выпадающего списка. Выберите критерий которому на ваш взгляд должен соответствовать результат приемлемости настроек. Все результаты которые не будут соответствовать данному критерию будут автоматически отсекаться:

  • Initial deposit - значение начального депозита.
  • Withdrawal - количество выведенных со счета средств.
  • Profit - чистая прибыль по окончании тестирования.
  • Gross profit - общая прибыль, сумма всех прибыльных (положительных) трейдов. Значение больше или равно нулю.
  • Gross loss - общий убыток, сумма всех убыточных (отрицательных) трейдов. Значение меньше или равно нулю.
  • Maximal profit trade - максимальная прибыль – наибольшее значение среди всех прибыльных трейдов. значение больше или равно нулю.
  • Maximal loss trade - максимальный убыток – наименьшее значение среди всех убыточных трейдов. значение меньше или равно нулю
  • Maximal consecutive profit - максимальная прибыль в последовательности прибыльных трейдов. Значение больше или равно нулю.
  • Maximal consecutive wins - общая прибыль в самой длинной серии прибыльных трейдов.
  • Maximal consecutive loss - общий убыток в самой длинной серии убыточных трейдов.
  • Maximal consecutive losses - количество трейдов  в самой длинной серии убыточных трейдов.
  • minimal balance - минимальное значение баланса.
  • Maximal balance drawdown - максимальная просадка баланса в деньгах. В процессе торговли баланс может испытать множество просадок, берется наибольшее значение.
  • Balance drawdown percent - просадка баланса в процентах, которая была зафиксирована в момент максимальной просадки баланса в деньгах.
  • Maximal relative balance drawdown - максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение.
  • Relative balance drawdown percent - просадка баланса в деньгах, которая была зафиксирована в момент максимальной просадки баланса в процентах.
  • Minimal equIty - минимальное значение собственных средств.
  • Maximal equIty drawdown - максимальная просадка средств в деньгах. В процессе торговли средства могут испытать множество просадок, берется наибольшее значение.
  • EquIty drawdown percent - просадка средств в процентах, которая была зафиксирована в момент максимальной просадки средств в деньгах.
  • Maximal relative equIty drawdown - максимальная просадка средств в процентах. В процессе торговли средства могут испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение.
  • Relative equIty drawdown percent - просадка средств в деньгах, которая была зафиксирована в момент максимальной просадки средств в процентах.
  • Expected payoff - математическое ожидание выигрыша.
  • Profit factor - прибыльность.
  • Recovery factor - фактор восстановления.
  • Sharpe ratio - коэффициент Шарпа.
  • Minimal margin level - минимальное достигнутое значение уровня маржи.
  • On tester result - значение рассчитанного пользовательского критерия оптимизации.
  • Deals - количество совершенных сделок.
  • Trades - количество трейдов.
  • Profit trades - прибыльные трейды.
  • Loss trades - убыточные трейды.
  • Short trades - короткие трейды.
  • Long trades - длинные трейды.
  • Profit short trades - короткие прибыльные трейды.
  • Profit long trades - длинные прибыльные трейды.
  • Trades of maximal consecutive profit - сделки с максимальной последовательной прибылью.
  • Maximal consecutive wins count - максимальное количество побед подряд.
  • Trades of maximal consecutive loss - сделки с максимальным непрерывным убытком.
  • Maximal consecutive losses count - максимальное количество последовательных проигрышей.
  • Average consecutive wins - средняя длина прибыльной серии трейдов.
  • Average consecutive losses - средняя длина убыточной серии трейдов.

_5_Stat

Больше или меньше. Допустим если вы выбрали в качестве критерия просадку то этот флаг должен быть установлен в позицию меньше (просадка чем меньше, тем лучше). А если выбран критерий профит фактор то естественно больше (профит фактор чем больше, тем лучше).

Statistics_5_ 

Минимальное/максимальное значение критерия при котором настройки принимаются.

Forward

Форвард тестирование. Если включить советник будет проводить форвард тестирование непосредственно во время оптимизации независимое от того которое проводится тестером стратегий МТ5. С установленной даты внутри советника включаются блоки которые рассчитывают критично важные показатели такие как прибыль (фиксированная в валюте депозита), относительная просадка (в процентах), профит фактор и матожидание.

AutoForwardTime

Автоматическая установка даты начала форвард тестирования:

  • 1/2 - 50%;
  • 1/3 - 30%;
  • 1/4 - 25%;

Custom - задается пользователем с помощью параметра ForwardTime;

  • 1 month;
  • 2 months;
  • 3 months;
  • 4 months;
  • 5 months;
  • 6 months;
  • 7 months;
  • 8 months;
  • 9 months;
  • 10 months;
  • 11 months;
  • 12 months.

Точкой отсчета является текущая дата сегодняшнего дня, точкой завершения установленная дата начала оптимизации AutoStartTime или StartTime в зависимости от того какой метод применяется. От этого временного участка отсчитывается временной отрезок для проведения форвард тестирования. Он можете быть установлен как в отмеренной части так и в определенном количестве месяцев от текущей даты.

ForwardTime

Начало форвард тестирования если AutoForwardTime = 0.

ForwardProfit

Профит в твердой валюте депозита при котором настройки принимаются;

OptDrawdown

Относительная просадка в процентах от депозита в рамках которой настройки принимаются;

OptProfitFactor

Профит фактор при котором настройки принимаются.

OptExpectedPayoff

Матожидание при котором настройки принимаются.

DeleteFile

Если включить робот будет удалять файлы созданные более MaxTimeFile дней назад. День создания отсчитывается от даты завершения оптимизации установленный в тестере стратегий. Это необходимо для автоматического удаления старых файлов. До того момента пока файлы будут существовать они не могут быть переписаны в процессе оптимизации или тестирования. Эти файлы необходимо удалить принудительно в ручном режиме или автоматически по истечению определенного количества дней. Также эти файлы могут быть обновлены онлайн путем перезагрузки их с сервера.

MaxTimeFile

Количество дней в течении которых файлы будут считаться пригодными для торговли. По истечению, открытие первых позиций приостанавливается, открытие усредняющих позиций продолжается и так до закрытие всех серий. Далее советник полностью прекращает торговлю до обновления файлов. Если = 0 не используется.

_SendMail

Отправка сообщений на вашу электронную почту. Предварительно необходимо настроить терминал на отправку почты. Отправляются не все сообщения а только несколько критично важных.

MinimumAccountBalance

Снижение баланса до минимально допустимого. В сообщении будет номер счета, валютная пара, и произвольное сообщение (Message).

MaxTimeFile

Истечение времени файлов, необходимость обновление файлов или продление их активности в зависимости от результатов Checking activity status - периодичная отправка сообщений с перерывом PauseTime которые подтверждают активность советника.


_SendNotification

Отправка пуш сообщений на ваш мобильный терминал. Предварительно необходимо настроить терминал на отправку сообщений.

_Alert

Звуковые сообщения в терминале.

CheckingStatus

Периодическая отправка сообщений которые будут подтверждать активность советника. Отсутствие сообщений является поводом проверки VPS сервера на котором он будет работать.

CheckingPositions

Если включить советник будет отправлять вам на почту сообщения об открытии и закрытии сделок. Помимо общей информации в сообщении будет информации об общем количестве действующих сделок, размере баланса и плавающего профита.

Message

Произвольный текст, здесь вы можете прописать IP VPS или любой другой текст который позволит вам быстро сориентироваться.

PauseTime

Пауза между сообщениями в минутах.