Настройки

Полный список настроек BelkaMiner EA (v1.19x Май 2020)

Настройки содержат множество ссылок для чтения

Режимы

  • SystemMode — режимы работы: ‘Machine Learning’ используется для дата майнинга и машинного обучения, ‘BackTesting & Trading’ используется для бэктестинга, исследований и торговли в реальном времени.

Управление Капиталом

  • LotSize – фиксированный размер лота для торговли, если UseMargin% и Balance установлены в 0.
  • Balance – пропорциональный размер лота, рассчитывается по формуле: LotSize * AccountBalance / Balance. Работает вместе с LotSize. Этот MM пропорционально увеличивает (уменьшает) размеры лота, когда баланс на счете увеличивается (уменьшается) соответственно. Чем меньше значение, тем выше риск. В случае ненулевого значения советник рассчитывает размеры лотов на основе баланса счета, например, 0.05 лота на каждые 1000 долларов. Если Balance установлен на отрицательное значение, то советник рассчитывает размеры лотов на основе эквити счета.
  • MaxRiskPerTrade% – максимальный риск (в процентах от баланса) на сделку, основанный на начальном значении StopLoss. Если MaxRiskPerTrade% = 0, то советник будет использовать LotSize или UseMargin%.
  • MaxLot_Overall – максимальный размер лота, который советник может использовать для торговли.

GMT

  • AutoGMT_Detection — при значении true советник автоматически определит часовой пояс вашего брокера. Не работает в тестере стратегий.
    Чтобы использовать эту возможность в реальной торговле, необходимо разрешить запросы:
    https://www.worldtimeserver.com
    https://belkaglazer.com (резервный URL)

    BelkaMiner EA
    BelkaMiner EA

    GMT[m] — GMT рассчитан вручную, GMT[a] — GMT обнаружен автоматически.
    +3 — текущее смещение (учитывается DST), [NY] — NY Close Broker.

  • NYCloseBroker — установите этот параметр в false, если серверное время вашего брокера не соответствует New York Сlose. Если вы используете NY Close брокера (он закрывает дневные свечи в 17:00 по нью-йоркскому времени, это GMT+2 зимой и GMT+3 летом), тогда нет необходимости изменять настройки по умолчанию.
  • GMT_offset — смещение вашего брокера в зимний период. Этот параметр следует настраивать только если NYCloseBroker = false.
  • Daylight_Saving_Time — установите этот параметр в US/Europe, если ваш брокер меняет смещение GMT в летний период. Этот параметр следует настраивать только если NYCloseBroker = false.

Исполнение

  • EventHandling — как часто обрабатывать события: Once a minute — один раз в минуту (по умолчанию) или Every tick — каждый тик (может использовать слишком много ресурсов процессора).
  • MaxSpreadPip — если спред превышает это значение, то советник не позволит открыть новую сделку. Работает только с рыночными ордерами, отложенные ордера не будут затронуты.
  • MaxSpreadToExitPip — советник не разрешит закрывать открытую сделку, пока спред не опустится ниже этого значения.
  • MaxSlippagePip — параметр позволяет указать максимальное проскальзывание (как максимальное отклонение от котировочной цены) для рыночного ордера. Работает только с Instant Execution (например, со стандартными, классическими, микро- и нано-счетами). Этот параметр не влияет на ECN счета. Если MaxSlippagePip> 0, советник будет контролировать проскальзывание, используя максимальное отклонение от bid/ask цены. Если брокер не cможет выполнить ордер в пределах указанного проскальзывания, то ордер будет отклонен.

Фильтр новостей

  • UseTailFilter — позволяет автоматически отключать торговлю вместе со мной до/во время редких и нерегулярных очень важных новостей (таких как Brexit, выборы и т.д.), чтобы защитить портфели во время событий с хвостовым риском. Хвостовые события могут привести к хвостовому риску и существенным потерям или разрушению портфелей. Чтобы использовать фильтр необходимо разрешить запросы к https://belkaglazer.com
  • UseNewsFilterвключить/выключить фильтр новостей. Чтобы использовать фильтр новостей в реальной торговле, необходимо разрешить запросы:
    http://ec.forexprostools.com
    https://www.worldtimeserver.com
    https://belkaglazer.com
     (резервный URL)

    Tools -> Options -> Expert Advisors -> Allow WebRequests for listed URL.
    Belkaglazer Allow WebRequests
    Чтобы использовать его во время бэктеста, вы должны загрузить базу данных новостей и извлечь ‘BelkaEventsData‘ в папку ‘\Common\Files‘ (File -> Open Data Folder -> Up to ‘Terminal’ -> Common -> Files).

    Belkaglazer MT4
  • DataProvider — выберите поставщика, данные которого вы хотите использовать.
  • Symbols символы, используемые для загрузки новостных событий, разделенные запятой (например, EUR, USD, GBP). Если этот параметр пуст, советник будет использовать текущие символы. Если Symbols установлен в ALL, будут использоваться все возможные символы.
  • FilterEvents — позволяет выбирать новостные события в зависимости от уровня их воздействия: HIGH, MOD, LOW, SPEECH. Если установлено значение ‘Custom‘, то советник будет использовать параметр FilterCustomEvents.
  • FilterCustomEvents — новостные события или ключевые слова, разделенные запятой, регистр букв (нижний, верхний) не имеет значения. Например: FOMC,rate,job,HIGH,MOD. Если значение пустое, советник будет использовать все новостные события. Например, если FilterCustomEvents=rate, советник будет использовать все новостные события, заголовки которых содержат ‘rate‘.
  • FilteringAction — действие, которое будет выполнено: Ignore new & close exist. trades (игнорировать новые и закрывать существующие сделки), Ignore new signals (игнорировать новые сигналы), Close existing trades (закрывать существующие сделки), No action (Нет действия).
  • BeforeEventMin — количество минут до выхода новостей, когда торговля будет отключена.
  • AfterEventMin — количество минут после выхода новостей, когда торговля будет включена.
  • DisplayEvents — показывать новости на графике.
  • CBOE_VIX_Filter — позволяет использовать ‘CBOE Volatility Index‘ в качестве краш фильтра. Индекс волатильности CBOE, известный под тикером VIX, является популярной мерой ожидаемой волатильности фондового рынка (индекса S&P500).
    Этот фильтр может помочь автоматически отключить торговлю во время глобального финансового кризиса, такого как крах 2008 или 1987 года. Если закрытие VIX превысит указанное значение, то советник не разрешит открывать новую сделку весь день. Я рекомендую использовать значение 30 или выше для стратегий MR. Для М лучше не использовать его вообще (они хорошо работают в условиях нестабильного рынка).

    Belkaglazer CBOE VIX Filter Chart
    Пример использования VIX в качестве краш фильтра (кликабельно)

    Чтобы использовать его во время бэктеста, вы должны загрузить базу данных новостей и извлечь ‘BelkaEventsData‘ в папку ‘\Common\Files‘ (File -> Open Data Folder -> Up to ‘Terminal’ -> Common -> Files). Чтобы использовать CBOE_VIX_Filter в реальной торговле, необходимо разрешить запросы:
    https://www.investing.com
    https://www.cboe.com/vix (резервный URL)
    https://finance.yahoo.com (резервный URL)

Время

  • OrderHourStart/Stop — час, когда советник должен начинать/прекращать поиск торговых сигналов.
  • OrderDayOfWeek – день(дни) недели, когда советнику разрешено открывать новую сделку.
  • DaysOffBeforeAfterNY – торговая пауза, которая активируется до/после Нового года на указанное количество дней. Например, если DaysOffBeforeAfterNY = 3, то советник не будет открывать новые сделки с 29 декабря по 3 января.

Базовые правила входа

  • StrategyType – тип ‘white-box‘ алгоритма. Этот алгоритм основан на булевой логике, четких и понятных правилах. Он используется для генерации точек входа и дает множество сделок с низким средним трейдом. Он должен иметь «торговый эдж», который может быть слишком малым, чтобы покрыть торговые издержки. Эдж можно увидеть только после того, как спред/комиссия выключены или установлены на минимальное значение.
    Reversal (PCh) — мин реверсионная стратегия, использующая развороты между уровнями поддержки и сопротивления.
    Breakout (PCh) — пробойная стратегия входящая в рынок, когда цена выходит за пределы определенного ценового диапазона (уровни поддержки и сопротивления).
    Momentum (PA) — импульсная стратегия, использующая значительное движение цены в одном направлении.
  • AllowExtraTrades — максимальное количество дополнительных сделок, которые могут быть открыты, если советник получит новый торговый сигнал, и есть открытые позиции.
  • ExtraTradesPause — минимальная пауза в барах между дополнительными сделками.
  • DailyATR_Period – период DailyATR. Используется для нормализации волатильности.
  • PCh_Type —  методы, используемые для расчета ценового канала:
    Donchian Channel — ценовой канал формируется путем взятием самой высокой (максимума из High) и самой низкой (минимума из Low) цены за предыдущие n периодов с последующим обозначением области между ними на графике.
    Bollinger Bands — основывается на двух стандартных отклонениях от простого скользящего среднего.
  • PCh_Period — период Price Channel.
  • PCh_OffsetPip – смещение уровней Price Channel.
  • PA_Bars – количество баров для анализа движения цены (для Momentum стратегии).
  • PA_Size%ATR – минимальный размер (в % ATR) движения цены (для Momentum стратегии).

Базовые правила выхода

  • StopLoss, TakeProfit – стоп-лосс и тейк-профит. Могут быть выражены в пипсах (в случае значения > 3) или в %ATR (в случае 0 < значение <3). Если значение = 0, то советник размещает SL(TP) в середине ценового диапазона (уровень HL/2).
  • StopBar – временной стоп, который автоматически закрывает сделки по прошествии определенного количества баров, независимо от других условий (0 = выкл).
  • StopHour – временной стоп, который автоматически закрывает позиции в указанный час, независимо от других условий (отключен, если >23). Позволяет ограничить максимальное время удержания позиций.
  • FridayStopHour – час для закрытия сделок в пятницу (-1 = выкл).
  • TrailingStopPip – в случае значения > 0: трейлинг в пипсах, когда позиция находится в прибыли. В случае значения < 0: минимальный уровень прибыли в пипсах, когда SL должен быть переведен в безубыток (0 = выкл).
  • TrailingActivationPip – определяет количество пипсов для активации ‘TrailingStopPip‘.

Машинное обучение

  • Use_Machine_Learning — включить/выключить машинное обучение в бэктестинге и реальной торговле. Если отключено, то советник будет использовать только правила базовой стратегии.
  • Machine_Learning_Technique — техника машинного обучения:
    Clustering (Unsupervised) — (обучение без учителя) многомерная статистическая процедура, выполняющая сбор данных, содержащих информацию о выборке объектов, и затем упорядочивающая объекты в сравнительно однородные группы. Советник группирует набор точек входа (набор данных) таким образом, что точки в одной группе (называемой кластером) больше похожи друг на друга, чем на точки в других группах (кластерах). Затем мы тестируем каждый кластер и пытаемся найти прибыльные с хорошей производительностью. Мы предполагаем, что точки в прибыльных кластерах обладают определенными свойствами, которые делают их прибыльными. Задача кластеризации относится к статистической обработке, а также к широкому классу задач обучения без учителя.
    Обучение без учителя (самообучение, спонтанное обучение, англ. Unsupervised learning) — один из способов машинного обучения, при котором испытуемая система спонтанно обучается выполнять поставленную задачу без вмешательства со стороны экспериментатора. Подробнее о Unsupervised Learning->
    Belkaglazer EA
    Belkaglazer EA
    Neural Network (Supervised) — (обучение с учителем) советник обучает перцептрон, используя необработанные данные без кластеризации. Обучение с учителем — один из способов машинного обучения, в ходе которого испытуемая система принудительно обучается с помощью примеров «стимул-реакция». Подробнее о Supervised Learning->
    Этот метод менее робаст и несет в себе экстремальный риск чрезмерной подгонки!

BelkaMiner EA

  • ConfigFile — файл конфигурации, содержащий результаты кластеризации и машинного обучения. Он находится в директории ‘Common\Files‘. Конфигурационный файл по умолчанию (для стратегии по умолчанию) создается после первого запуска советника. Узнать больше ->
  • WhatToSave — данные, которые будут сохранены в конфигурационном файле:
    DoNotSavePoints — советник будет сохранять только среднее, стандартное отклонение и координаты центроидов. Быстрый метод, но обучение нейронной сети для классификации номера кластера не будет возможно в будущем.
    SavePointsOnly — советник будет сохранять среднее, стандартное отклонение, координаты центроидов и точки с номерами кластеров. Быстрый метод, нейросеть может быть обучена позднее.
    SavePoints & TrainPerceptron — советник сохранит все и обучит нейросеть. Это может занять много времени (часы или даже дни, это зависит от настроек, МТ5 работает намного быстрее).
  • DatasetMaxSize — максимальный размер набора данных. Обычно изменять не требуется.

Входные данные / Метрики

  • UseTradingHours_Measureиспользовать торговый час в качестве атрибута. Может использоваться для определения внутридневной сезонности.
  • UseEMA_Measure — daily EMA метрика, нормированная по ATR и вычисленная по формуле: (Close-EMA(n)) / ATR(m). Может использоваться для обнаружения трендов.
  • EMA_Period — период daily EMA.
  • UseMomentum_Measure — метрика движения цены до точки входа нормированная по ATR. Может помочь выяснить, как рынок реагирует на движения цены определённых размеров.
  • Momentum_Bars — количество баров для расчета движения цены.
  • UseDailyVolatility_Measure — метрика волатильности, рассчитанная по формуле: ATR / ATR(30). Может помочь в фильтрации дневной волатильности.
  • UseIntradayVolatility_Measure — метрика волатильности, нормализованная по ATR и вычисленная по формуле: (Upper PCh level — Lower PCh level) / ATR. Может помочь в фильтрации внутридневной волатильности.
  • UseHurst_Measure — метрика на основе показателя Херста. Используется в качестве меры памяти (режимы M/MR).
  • Hurst_Bars — количество баров для расчета показателя Херста.

Настройки Кластеризации

  • ClusteringMethod — метод, используемый для кластеризации:
    K-means++ является одним из самых простых и популярных алгоритмов обучения без учителя с нахождением более «хороших» начальных значений центроидов.
  • NumberOfClusters — желаемое количество кластеров для кластеризации. 30…50 рекомендуется. Оптимальное количество зависит от размера набора данных (количество точек/векторов).
  • NumberOfRestarts — максимальное количество рестартов для нахождения хорошего/глобального оптимума. Попробуйте уменьшить, если кластеризация занимает слишком много времени.
  • OutlierDataPercentile — параметр для расчёта 2 процентилей (мин & макс) для фильтрации выбросов перед нормализацией. Мин. процентиль = OutlierDataPercentile, Макс. процентиль = 100-OutlierDataPercentile.
  • NormalizationMethod — перевод значений, измеренных на разных шкалах, на условно общую шкалу:
    Z-Score — мера относительного разброса значения, которая показывает сколько стандартных отклонений составляет его разброс относительно среднего значения. Это безразмерный статистический показатель используемый для сравнения значений разной размерности или шкалой измерений.

Настройки Перцептрона

BelkaMiner EA
Multilayer perceptron
  • NeuronInHiddenLayer — количество нейронов в скрытом слое. Если ноль, то скрытый слой использоваться не будет. Не используйте скрытые слои, если это не требуется. Они могут снизить скорость обучения и привести к переобучению (ошибки классификации на неизвестных данных).
  • TrainingAlgorithm — алгоритм обучения:
    Levenberg–Marquardt — метод оптимизации, направленный на решение задач о наименьших квадратах. Алгоритм был сформулирован независимо Левенбергом и Марквардтом.
    L-BFGS — алгоритм оптимизации в семействе квазиньютоновских методов, который аппроксимирует алгоритм Бройдена–Флетчера–Гольдфарба–Шанно (BFGS) с использованием ограниченного объема компьютерной памяти. Это популярный алгоритм оценки параметров в машинном обучении.
  • NumberOfRestarts — максимальное количество рестартов для нахождения хорошего оптимума. Попробуйте уменьшить, если обучение занимает слишком много времени.

Общие настройки торговли

  • Classifier — метод, используемый для классификации номера кластера во время бэктестов и реальной торговле:
    Euclidean Distance — авторский метод, который использует кратчайшее расстояние до центроидов, рассчитанное по формуле Пифагора. Быстрый, но менее точный метод, нейросеть не используется. Этот метод очень полезен при работе с небольшими наборами данных, где нейросеть не может достичь высокой точности.

    Neural Network — обучить нейросеть классифицировать номер кластера и сохранить результаты в файл конфигурации (существующие сети будут перезаписаны!). Это может занять много времени (часы или даже дни, это зависит от настроек, МТ5 работает намного быстрее).

Настройки торговли кластеров

  • MeanInsteadOfValue — номер метрики для замены ее значений на среднее (среднее значение равно 0 после нормализации). Это помогает выяснить, использует ли прибыльный кластер эту метрику.
  • ClusterNumberForOptToBuy(Sell) — параметры для поиска стабильных и прибыльных кластеров.
  • ClusterNumber(s)ToBuy(Sell) — номера кластеров для торговли, разделенные запятой.

Настройки торговли нейросети

  • ProbabilityOfProfit% — минимальная прогнозируемая вероятность того, что сделка принесет прибыль. Если персептрон предсказывает значение ниже указанного, торговый сигнал будет проигнорирован и сделка не будет открыта.
  • MinimumProfit% — минимальный уровень прибыли, рассчитываемый как % от средней прибыльной сделки, для маркировки сделки как прибыльной в выходных данных для обучения персептрона.

Прочие настройки

  • UserComment – пользовательский комментарий, используемый для обозначения ордеров, открытых советником.
  • MagicNumber – уникальный базовый идентификатор ордеров советника. Это число должно быть меньше 99999.
  • Graphics – эта опция позволяет включать/отключать графические объекты на графиках.