Multisystem
Multisystem Multisystem Multisystem Multisystem

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

Мониторинг

Сигналы MQL5 в своем наименовании содержат название используемого советника и другую информацию. К примеру MS RoboForex ECN 1 50 7278670, где MS - название советника Multisystem, RoboForex ECN - название сервера брокера, 1 - номер стратегии, 50 - номер файловой папки с настройками, 7278670 - уникальный номер сигнала:



Быстрый старт

Для начала торговли необходимо совершить несколько действий:

  • Купить или арендовать советника;
  • Установить терминал MT4/Открыть настройки терминала/Добавить следующие URL адреса в разделе советники:
    • https://valutsa.vip/
    • http://ec.forexprostools.com/

Адреса рекомендуется скопировать и вставить для избежания ошибок. Они нужны для скачивания настроек с нашего сервера и загрузки новостей.

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

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

Уже достаточно долгое время советник управляет счетом на котором портфель инвестиций каждый день растет и уже превышает 20.000 долларов:



С этим советником вы также можете стать управляющим трейдером и обладая небольшим депозитом зарабатывать достаточно серьезные деньги!

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


TRADE_REGIME


  • Settings:
    • TradeEASettings - торговля с настройками по умолчанию;
    • TradeFileSettings - торговля с автоматической загрузкой настроек с сервера

В этом случае робот запускается только на один график а торговля будет вестись в мультивалютном режиме на множестве валютных пар и с разным периодом. Количество пар робот будет определять автоматически согласно загруженным настройкам. Обычно используется от 1 до 30 и более валютных пар. При этом робот не допускает перегрузки депозита и может торговать с суммой от 100 долларов.


AUTOMATIC_LOADING


  • DownloadParameterServer - загрузка настроек с сервера;
  • Server - URL адрес сервера;

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

  • ServerName - название сервера вашего брокера;

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

  • SymbolsFile - Если включить то в момент загрузки настроек с сервера советник переберет все доступные торговые инструменты из обзора рынка и попытается загрузить по ним настройки, иначе только те которые прописаны в коде советника.
  • ExpertNumber - Если в рамках одного терминала используется несколько копий этого советника то этот номер должен быть уникальным для каждой отдельной копии.
  • sMagicNumber - Идентификатор позиций и он же номер папки для загрузки настроек с сервера.
  • TotalMagic - В тех случаях когда используется несколько копий советника в рамках одного терминала, здесь необходимо указать количество копий.

Допустим номер (sMagicNumber) первой копии = 1, количество копий (TotalMagic) = 10, это значит что советник попытается загрузить настройки с сервера с номерами от 1 до 10. Если какой то файл на сервере отсутствует или связь с сервером временно прервется то робот выдаст сообщение что не все файлы загружены и запустит перезагрузку файлов через 15 минут. Цикл не будет остановлен до тех пор пока искомый файл не будет загружен или вы не отмените запрос на загрузку недостающих файлов. Отменить загрузку можно изменив настройки отвечающие за поиск и загрузку файлов это - Server, ServerName, SymbolsFile, sMagicNumber и TotalMagic.


DELAY_METHOD


  • DelayMethod - Это очень важный параметр который позволяет советнику передавать необходимую информацию в соседние терминалы в рамках одного компьютера/VPS сервера.

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

  • SecondsTime - Время необходимое на обработку информации в секундах.

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

  • StopSwitch - Этот параметр определяет конец цикла.

Допустим идентификатор позиций и он же номер папки с настройками sMagicNumber в первом терминале равен 1, соответственно во втором терминале sMagicNumber должен быть равен 2, в третьем терминале 3 и так далее. Передача информации происходит по возрастанию и следовательно необходимо определить конец цикла передачи информации. Так если sMagicNumber будет равен 3, а StopSwitch  сделать равным 2 то в результате произойдет простое вычисление 3-2=1. Цикл был начат с 1 и в конце значение возвращается и становится непрерывным. Иногда бывает необходимо сократить цикл передачи или наоборот удлинить его. Для удлинения StopSwitch необходимо приравнять к 0 и тем самым сделать проходным а в следующем терминале завершить. Допустим sMagicNumber = 4, StopSwitch = 3, 4-3=1. 


ACCOUNT_BALANCE_AND_RISK


  • VirtualAccountBalance - если больше 0 размер баланса будет виртуальным, иначе берется реальный баланс. От него происходят расчеты лота и досрочного закрытия всех позиций в случае использования функции ограничения потерь;

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

  • UseBalanceStopAll -  Досрочное закрытие всех позиций в терминале, по всем валютным парам, без учета идентификатора позиций sMagicNumber с номером ExpertNumber. ExpertNumber прописывается в комментариях к позициям.
  • HistoryDatetime - Профит/убыток за определенное здесь время по всем позициям с номером ExpertNumber. Время считается в сутках от текущей даты. Если равен 30 это значит что данные будут посчитаны только за последние 30 суток. Полученное значение прибавляется к фиксированной сумме виртуального баланса VirtualAccountBalance. Если 0 то не используется.
  • TotalBalanceRiskAll - Процент (от баланса виртуального/реального) просадки при котором все позиции в терминале с номером ExpertNumber будут досрочно закрыты. Если флаг UseBalanceStopAll выключен то не используется.

MONEY_MANAGEMENT


  • RiskPercent - если больше 0 лот в зависимости от баланса иначе Lots;
  • Lots - на каждые 0.01 - фиксированный лот:
    • $100 (высокий риск);
    • $500 (средний риск);
    • $1000 (низкий риск);
  • LotExponent (1,0.1,2) ***  - коэффициент умножения лота последующих позиций;

MULTICURRENCY_SETTINGS


  • DistancePriceMin - Минимальное расстояние между позициями по одной валютной паре независимо от идентификатора;
  • CountSymbolMax - количество валютных пар которые могут торговаться одновременно;

В одной серии по одной валюте могут быть открыты несколько ордеров. Робот считает количество валютных пар по которым открыты позиции. Это необходимо для того чтобы не допустить перегрузку депозита. Допустим открыто 2 позиции по EURUSD и 3 позиции по GBPUSD робот выдаст значение - 2. Это значит что всего в работе 2 валютные пары.

  • CountTradesSymbolMax - количество позиций по одной паре после которой торговля по другим парам будет запрещена;

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

  • DrawdownSymbolMax - просадка по всем парам после которой торговля по другим парам будет запрещена;

Общая просадка депозита при которой открытие новых позиций (за исключением усредняющих) приостанавливается.

  • StopTradeLossUpdate - сброс данных о количестве закрытых убыточных серий;

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

  • StopTradeLossMax - количество закрытых серий с минусом по одной паре после которого торговля по данной паре будет запрещена;

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

  • Vertax - Параметр позволяет вести отчет валютных пар с заданого здесь значения.

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


MAXIMUM SPREAD AND SLIPPAGE


  • MaxSpread - максимально допустимый спред;
  • MaxSlippage - максимально допустимое проскальзывание;

NUMBER OF POSITIONS AND DISTANCE


  • MaxTrades (2,1,3) *** - максимальное количество позиций, категорически не рекомендуется использовать в одной серии больше 3 позиций;
  • AutoDistance - автоматическое расстояние между позициями;
  • FixDistance (120,10,500) *** - фиксированное расстояние между позициями, если параметр - AutoDistance = false;
  • CountCandles - количество свечей для расчета дистанции, если параметр - AutoDistance = true;
  • DelCandles - коэффициент деления, если параметр - AutoDistance = true;

TP AND SL


  • VirtualStop - виртуальные стопы, невидимые для брокера;
  • TakeProfit (30,10,100) *** - тейк-профит;
  • Stoploss (300,100,1000) *** - стоп-лосс;

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


BALANCE LIMIT


  • CopyBalanceStop - Если выключить то настройки данного блока не будут считываться с текстовых файлов;

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

  • UseBalanceStop - ограничение потерь;
  • TotalBalanceRisk - процент ограничения;

TRAILING STOP


  • UseTrailingStop - трейлинг-стоп;
  • TrailingStart - старт трейлинга;
  • TrailingStop - стоп трейлинга;

EXPIRATION OF ORDERS


  • UseTimeOut - флаг включения/выключения блока закрытия позиций по истечению определенного времени;
  • MaxTradeOpenHours - время в часах;
  • DrawdownHours - закрытие позиций после окончания времени жизни выше указанного здесь профита в валюте депозита, может иметь минусовое значение.

Допустим MaxTradeOpenHours = 120, DrawdownHours = -20, это значит что все позиции с учетом валютной пары, идентификатором позиций, и номером эксперта будут закрыты по истечению 120 часов с прибылью/убытком выше 20% от выделенных средств. ;


TIME FILTER


  • BeginSessionHour (20,1,24) *** - начало торговой сессии;
  • EndSessionHour (0,1,3) *** - завершение торговой сессии;
  • TradeWednesday - торговля в среду, день тройного свопа;
  • TradeFriday - торговля в пятницу, перед закрытием рынка;
  • GMTDifer - сдвиг времени относительно времени по гринвичу;
  • GMTAuto - автоматический сдвиг времени;

Автоматический сдвиг времени использовать не рекомендуется так как рассчитывается разница между временем сервера и GMT, в то время как время сервера останавливается в моменты закрытия рынка.


NEWS FILTER


  • UseNews- новостной фильтр;
  • Indent after News, minuts
  • Indent before News, minuts
  • Enable light news
  • Enable medium news
  • Enable hard news

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


EXPORT_INDICATORS


  • ExportIndicators - Если включить то советник начнет вести торговлю по внешнему индикаторному блоку. Блок подключается посредством подключаемой библиотеки. 

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

  • DownloadIndicators - если включить то ускоряется процесс тестирования и оптимизации однако предварительно необходимо в терминал установить все используемые пользовательские индикаторы, в отключенном положении используются индикаторы предварительно загруженные в код через ресурсы, этот метод замедляет тестер стратегий;

OPENING_POSITIONS


  • SwitchStrategyOpen - Номер используемой стратегии, стратегии постоянно добавляются и каждая стратегия по сути это новый советник.

Дальше следуют настройки стратегии. При смене стратегии все нижеследующий настройки требуют соответствующих изменений;


CLOSING_POSITIONS


  • CopyCloseSignal - Если выключить то положение флага Close_Signal не будет считываться с текстовых файлов;;

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

 

  • Close_Signal - Закрытие позиций по обратному сигналу индикаторного блока;
  • UseReverseSignal - Если включить то обратным сигналом будет считаться противоположный сигнал индикаторного блока который используется для открытия позиций;
  • SwitchStrategyClose - Номер стратегии используемой для закрытия позиций;
  • TimeCloseInterval - Временной интервал между закрытиями позиций в минутах;

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

Дальше следуют настройки стратегии. При смене стратегии все нижеследующий настройки требуют соответствующих изменений;


USE CANDLES


  • UseCandles - Направление движения последних несколько свечей. 

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


TRADE TURBO


  • TradeTurbo - Дополнительный блок определения ценового импульса;

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

  • TimeModify - время изменения цены;
  • Steps - шаг изменения цены;
  • ReStart - шаг обновления времени;
  • Reverse - обратный сигнал;

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


AUTOMATIC_OPTIMIZATION


  • MultiLevelRecording - Количество папок с файлами, если 0 то настройки сохраняться не будут;
  • AutoSwitch - если включить то при заполнении всех папок робот будет требовать переключить валютную пару, иначе будет переписывать;
  • TestFileOne- выборочное тестирование файлов, в зависимости от порядкового расположения в папке, 0 значит первый файл, 1 второй и так далее;
  • ProtectionFile = "/*/*/" - номера папок через косую черту защищенные от перезаписи;
  • TimeCurrentOpt  - дата окончания оптимизации;
  • _1_Statistics- критерий приемлемости настроек:
    • Maximal consecutive losses;
    • minimal balance;
    • Maximal balance drawdown;
    • Balance drawdown percent;
    • Maximal relative balance drawdown;
    • Relative balance drawdown percent;
    • Minimal equty;
    • Maximal equty drawdown;
    • Equty drawdown percent;
    • Maximal relative equty drawdown;
    • Relative equty 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;
  • _1_Stat - больше или меньше;
  • Statistics_1_- значение критерия;
  • _2_Statistics- критерий приемлемости настроек:
  • _2_Stat - больше или меньше;
  • Statistics_2_- значение критерия;

 FORWARD_OPTIMIZATION


  • Forward - Если включить то во время оптимизации робот будет сбрасывать все данные начиная с определенной даты и проводить форвард оптимизацию. 

Это решает проблему МТ4 в отсутствии возможности проведения форвард оптимизации, то что в последствии было внедрено в МТ5.

  • ForwardTime - Дата начала форвард оптимизации
  • ForwardProfit - Приемлемый профит в валюте депозита, меньше которого настройки не принимаются
  • OptDrawdown - Приемлемая относительная просадка выше которой настройки не принимаются
  • OptProfitFactor - Профит-фактор ниже которого настройки не принимаются
  • OptExpectedPayoff - Матожидание ниже которого настройки не принимаются
  • OptTrades - Количество трейдов меньше которого настройки не принимаются

MAX_TIME_FILE


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

Дата файлов с настройками определяется в момент их записи/перезаписи.

  • DeleteFile - Автоматическое удаление старых файлов по истечению срока действия
  • GlobalDD - Если больше 0 робот записывает максимальную просадку во время торговли и если просадка меньше указанного здесь значения в процентах от выделенных средств, то загрузка новых настроек не производится. 

Это будет показателем наиболее удачных настроек которые максимально соответствуют рыночному настроению

  • Confirmation - На  графике присутствуют кнопки закрытия и открытия позиций в ручном режиме на случай необходимости. При включении этого флага на реальном счете робот каждый раз будет требовать подтверждения действия. Это защита от случайных нажатий.

OPENING CHARTS


  • OpenChart - автоматическое открытие графиков используемых валютных пар;

(1,2,3) *** - параметры рекомендуемые для оптимизации в тестере стратегий (в скобках старт, шаг, стоп).