Strategien mit Bears- & Bulls-Power-Histogramm Indikator Test

Beste Broker fur Binare Optionen 2020:
  • Binarium
    Binarium

    Der beste Broker fur binare Optionen fur 2020!
    Ideal fur Anfanger!
    Kostenloser Unterricht!

  • FinMax
    FinMax

    2 Platz in der Rangliste! Zuverlassiger Broker!

Индикатор Bulls Bears Power

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

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

Индикатор Bulls Bears Power

Этот инструмент показывает текущее настроение быков и медведей. Его часто путают с индикатором объемов, однако Bulls Bears Power – это чисто технический инструмент, который отображает результат алгоритмического расчета баланса сил между быками и медведями. В его основе лежат данные максимальной цены текущего бара и значения средней скользящей за определенный период.

Обратите внимание! Стандартные сборки торговых терминалов зачастую содержат два индикатора – Bulls Power и Bears Power. Само собой, для анализа рынка можно использовать и два отдельных графика гистограмм, однако для большего комфорта рекомендуется загрузить в терминал индикатор Bulls Bears Power. Этот слитый воедино инструмент (полученный путем сложения обоих индукторов) позволит сэкономить рабочее пространство и упростит анализ рынка.

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

Bulls ( m) = High (m) – EMA (n-m), где, High (m) – максимальное значение цены текущего бара, EMA (n-m) – экспоненциальная скользящая средняя за период.

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

В случае преобладания медведей на рынке гистограмма опускается под нулевую отметку. Сила продавцов вычисляется по следующей формуле:

Beste Broker fur Binare Optionen 2020:
  • Binarium
    Binarium

    Der beste Broker fur binare Optionen fur 2020!
    Ideal fur Anfanger!
    Kostenloser Unterricht!

  • FinMax
    FinMax

    2 Platz in der Rangliste! Zuverlassiger Broker!

Bears ( m) = Low (m) – EMA (n-m), где, Low (m) – максимальное значение цены текущей свечи.

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

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

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

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

Применение индикатора Bulls Bears Power

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

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

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

Сигналы на покупку:

  • Растущий тренд скользящей средней;
  • Усиление активности медведей – рост гистограммы в нижней части индикатора;
  • Расхождение максимального и минимального значения индикатора и цены на графике (дивергенция).

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

Сигналы на продажу:

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

Обратите внимание!При открытии позиции на продажу, рекомендуется ограничивать убытки путем установки стоп-лосса на уровне выше последнего максимального значения цены.

Одним из основных недостатков индикатора Bulls Bears Power является сложность самостоятельного использования. Без применения скользящей средней сложно будет отфильтровывать ненадежные сигналы, поскольку гистограмма будет двигаться более хаотично, что скажется на качестве сделок.

Технические индикаторы форекс Bears и Bulls (метод Elder-Rays)

Лучи Элдера (Elder-Rays) – метод технического анализа, в котором одновременно работают три форекс индикатора:

Bulls Power – осциллятор силы быков;
Bears Power – осциллятор силы медведей;
EMA(13) — экспоненциальная скользящая средняя.

Все три данных индикатора являются стандартными для торгового терминала MetaTrader4.

Применение торговой стратегии на основе индикаторов Bulls Power и Bears Power

Индикаторы методики Elder-Rays биржевые трейдеры могут использовать как в качестве отдельного метода, так и в совокупности с другими. Если же спекулянт выбрал использование только Лучей Элдера в торговле, необходимо понимать, что индикатор EMA нужен для определения направления тренда, а осцилляторы дают сигналы на вход в рынок.

Торговые сигналы индикаторов Bulls Power и Bears Power

Сигнал к покупке (Buy) возникает, если:

— индикатор EMA показывает восходящий тренд;
осциллятор Силы Медведей принимает отрицательное значение, но в целом растет;
— осциллятора Силы Быков обновляет максимум;
— осциллятор Bears Power растет после образования бычьей дивергенции.

Покупка не рекомендована, если осциллятор Сила Медведей положителен.

Сигнал к продаже (Sell) возникает, если:

— экспоненциальная скользящая средняя указывает на нисходящий тренд;
— осциллятор Силы Быков принимает положительное значение, но в общем своем движении падает;
осциллятор Силы Медведей обновляет свой минимум;
— осциллятор Bulls Power убывает после отработки медвежьей дивергенции.

Сделку на продажу открывать не стоит, если осциллятор Силы Медведей отрицательный.

Лучший период для совершения сделок по методу Elder-Rays — дивергенция между осцилляторами силы быков и медведей.

Формула для расчета индикаторов Bulls Power и Bears Power

BULLS = HIGH — EMA

BEARS = LOW — EMA

— BULLS — сила быков;
— BEARS — сила медведей;
— HIGH — максимальная цена текущего бара;
— LOW — минимальная цена текущего бара;
— EMA — значение экспоненциальной скользящей средней на текущем баре.

Yuriy Fedorov

Не плохо разбираюсь в тематике биржевого рынка, автоматизировал и протестировал множество различных торговых систем.

Индикаторы Bulls Power и Bears Power – описание стратегии на силе быков и медведей

Оглавление. Жми для простмотра

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

p, blockquote 1,0,0,0,0 –>

Описание индикатора Bears Power

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

p, blockquote 2,0,0,0,0 –>

Описание индикатора Bulls Power

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

p, blockquote 3,0,0,0,0 –>

Трактовка сигналов индикаторов силы быков и медведей

Оба они рисуются в подвальном окне как гистограммы, длина и положение относительно 0-го уровня столбцов которой указывает на относительную силу той или иной группы трейдеров. Таким образом, чем длиннее столбец гистограммы у индикатора Bears Power:

p, blockquote 4,0,0,0,0 –>

  • расположенный в положительной зоне, тем слабее медведи;
  • расположенный в отрицательной зоне, тем сильнее медведи.

Соответственно, чем длиннее гистограммный столбец у индикатора Bulls Power:

p, blockquote 5,0,1,0,0 –>

  • расположенный над 0-ым уровнем, тем сильнее быки;
  • расположенный под 0-ым уровнем, тем слабее быки.

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

p, blockquote 6,0,0,0,0 –>

p, blockquote 7,0,0,0,0 –>

Лучший брокер

p, blockquote 8,0,0,0,0 –> Рисунок 1. Описание сигналов индикаторов Bears Power и Bulls Power.

Торговая стратегия на индикаторах Bears Power и Bulls Power

На следующих примерах Bulls Power отображается в верхнем подвальном окне, а Bears Power – в нижнем. Голубыми отрезками обозначена динамика совершаемых сделок.

p, blockquote 9,0,0,0,0 –>

На рис. 2 желтая вертикаль отмечает свечу, на которой столбцы Bulls Power начали двигаться в сторону отрицательной зоны, а столбцы Bears Power, находясь в отрицательной зоне, начали удлиняться. Это признак усиливающегося нисходящего тренда, поэтому на следующей свече можно было совершить продажу. Закрыть ее в прибыли можно было после свечи, обозначенной красной вертикалью – на ней столбцы Bulls Power стали удлиняться в положительной зоне, а столбцы Bears Power переместились в положительную зону.

p, blockquote 10,1,0,0,0 –> Рисунок 2. Продажа на нисходящем тренде по индикаторам силы быков и медведей.

На рис. 3 желтой вертикалью отмечена свеча, на которой гистограмма Bulls Power растет в положительной зоне, а гистограмма Bears Power, переместилась из отрицательной зоны в положительную, что является признаком усиливающегося восходящего тренда. Поэтому на следующей свече совершается покупка. Эта сделка закрывается в прибыли после свечи, отмеченной красной вертикалью, поскольку на ней гистограмма Bulls Power переместилась в отрицательную зону, а столбцы Bears Power начали удлиняться в отрицательной зоне.

p, blockquote 11,0,0,0,0 –> Рисунок 3. Покупка на восходящем тренде, по сигналам индикаторов Bulls Power и Bears Power.

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

p, blockquote 12,0,0,0,0 –>

  • восходящего – если дивергенция зафиксирована на максимумах (отмечена левыми голубыми отрезками на рис. 4);
  • нисходящего – если дивергенция зафиксирована на минимумах (отмечена на рис. 4 правыми голубыми отрезками).

Elder-Ray Биржевой рентген (Bulls Power и Bears Power)

Введение

Торговую систему „Биржевой рентген“ (Elder-Ray) описал Александр Элдер в своей книге „Как играть и выигрывать на бирже“ (Trading for a living). Она основывается на осцилляторах Bulls Power (индекс силы быков), Bears Power (индекс силы медведей) и трендовом индикаторе Moving Average (EMA — экспоненциальное усреднение).

Торговая система одновременно и простая и сложная:

  • простая — если читать и воспринимать буквально: сигнал к покупке — тенденция идёт вверх (EMA) и Bears Power (индекс силы медведей) ниже нуля, но повышается;
  • сложная — если читать внимательнее, а также посмотреть на график, на котором запущены и EMA, и Bears Power: оказывается, не всё так просто, и таких условий очень мало.

В этой статье мы пройдем все этапы от простого к сложному и проверим две разновидности торговой системы:

  1. все индикаторы на одном графике (а значит, на одном таймфрейме);
  2. в сочетании с системой „Тройной выбор“.

Советники в статье ориентированы на работу только с неттинговыми счетами.

Основные постулаты

Для понимания сущности торговой системы необходимо четко усвоить, что означает каждый элемент Биржевого рентгена: цена, EMA, максимумы и минимумы индикаторов Bulls Power и Bears Power на каждом баре, сила быков и сила медведей.

  • Цена — сиюминутное соглашение о стоимости актива в данный момент. Все покупки совершаются в расчете на подъем цены, а продажи — в расчете на падение. Только когда покупатель согласен купить, а продавец — продать, совершается сделка.
  • EMA — экспоненциальное скользящее среднее. Отражает среднее соглашение о стоимости актива за определенный промежуток. Например, EMA(13) на таймфрейме D1 представляет собой среднее соглашение о стоимости актива за последние 13 дней. Почему лучше использовать экспоненциальное, а не простое скользящие среднее? А. Элдер ответил на этот вопрос в главе 4.2 („Скользящие средние“). Если вкратце, то EMA более чувствительна к изменениям тенденции, чем простое среднее.
  • Максимум Bulls Power показывает максимальную силу быков на данном баре. Когда цена растет, быки зарабатывают, поэтому быки покупают, пока цена не поднимется до максимума. Максимум Bulls Power — это тот момент, когда у быков есть желание двигать цену выше, но денег уже нет.
  • Минимум Bears Power показывает максимальную силу медведей на данном баре. Медведи зарабатывают, когда цена падает, и поэтому продают, пока цена не достигнет своего минимума. Минимум Bears Power — тот момент, когда у медведей есть желание двигать цену вниз, но уже нет возможностей.
  • Сила быков показывает способность быков поднять цену над средним соглашением о ценности актива. Как правило сила быков выше нуля, если же она ниже нуля, значит, в стаде быков паника и они тонут.
  • Сила медведей отражает способность медведей опустить цену ниже среднего соглашения о ценности актива. Обычно сила медведей ниже нуля, а если она выше нуля, значит, необычайно сильные быки подняли на рога медведей и те болтаются в воздухе.

Вариант 1: все индикаторы на одном графике

Исследовать будем фьючерсы и акции на таймфрейме D1. Все три индикатора (Bulls Power, Bears Power и EMA) располагаются на одном графике. Период усреднения всех индикаторов равен 13.

Правила для покупки

  • тенденция идет вверх (ориентируемся по индикатору EMA);
  • индекс силы медведей ( Bears Power ) ниже нуля, но повышается;
  • отложенный ордер Buy stop размещается выше максимума двух последних дней, а защитный стоп-лосс ставится ниже последнего минимума.

CAT, Daily Buy signals

Правила для продажи

  • тенденция идет вниз (опираемся на показания индикатора EMA);
  • индекс силы быков (Bulls Power) выше нуля, но падает;
  • отложенный Sell stop размещается ниже минимума последних двух дней, а защитный стоп-лосс — выше последнего максимума.

CAT, Daily Sell signals

По рисункам 1 и 2 можно заметить, что в варианте торговой системы „Все индикаторы на одном графике“ правила для покупки и для продажи срабатывают при откатах на устойчивом тренде. А таких благоприятных моментов встречается довольно мало, тем более что анализируемый таймфрейм — D1. Поэтому в варианте „Все индикаторы на одном графике“ необходимо проводить анализ очень большого количества инструментов для увеличения частоты сделок на торговом счете.

Но в графиках D1 есть и один весомый плюс: анализ наклона EMA и показаний индикаторов Bulls Power и Bears Power можно проводить только один раз в сутки — в момент рождения нового бара. Именно так и будет работать советник: ожидать по каждому заданному символу на таймфрейме D1 новый бар и только после этого проводить анализ возможности входа.

Так как фьючерсы или акции — это только неттинг, разнонаправленные позиции (хедж) недопустимы, а вот наращивание объема позиции вполне допустимо. Советник может торговать или только по текущему символу, или по нескольким символам, которые хранятся в текстовом файле. Если с текущим символом всё понятно, то выбор нескольких символов может представлять следующие проблемы:

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

Как отобрать все символы с одного рынка? К примеру, есть символ „CAT„, и он расположен по следующему пути: „Stock Markets\USA\NYSE/NASDAQ(SnP100)\CAT“

Допустим, этот символ нас устраивает, и мы хотим выбрать все остальные инструменты из ветки „\NYSE/NASDAQ(SnP100)\“. В таком случае можно поступить так:

  1. открыть график этого символа;
  2. запустить скрипт (назовем его Symbols on the specified path.mq5), который получит путь символа (в примере выше для символа „CAT“ это будет „Stock Markets\USA\NYSE/NASDAQ(SnP100)„) и сохранит в текстовый файл все символы из полученного пути. Текстовый файл будет сохраняться в общую папку Common Data Folder;
  3. останется в настройках советника указать название текстового файла.

Реализация скрипта Symbols on the specified path.mq5 будет описана ниже.

Сборка советника. Вариант 1: все индикаторы на одном графике

Symbols on the specified path.mq5 — скрипт, с помощью которого получим текстовой файл с символами.

ВНИМАНИЕ: только распечатка текста „Everything is fine. There are no errors“ во вкладке „Эксперты“ гарантирует, что скрипт отработал без ошибок и полученный файл с символами можно использовать для работы советника!

Для сокращения кода файловых операций подключается класс CFileTxt , и работу с тестовым файлом ведёт m_file_txt — объект класса CFileTxt. Скрипт выполняет свою работу в семь шагов :

Алгоритм работы скрипта:

  • STEP 1: для текущего символа определяется SYMBOL_PATH — путь в дереве символов;
  • STEP 2: полученный путь разбирается на подстроки с разделителем „\“;
  • STEP 3: заново собираем текущий путь, но уже без последней подстроки, так как последняя подстрока — это название символа;
  • STEP 4: цикл по всем доступным символам; если у символа путь в дереве символов совпадает с текущим путем, выделяем название символа и добавляем в массив найденных символов;
  • STEP 5: проверяем размер массива найденных символов;
  • STEP 6: создаем файл;
  • STEP 7: записываем в файл наш массив найденных символов и закрываем файл.

Elder-Ray 1 — советник (или несколько советников) с номерами версий 1.xxx, который будет торговать по варианту 1: все индикаторы на одном графике.

Как задавать объем позиции — минимальный лот может различаться

Простой эксперимент: проверим размер минимального лота у фьючерсов и ценных бумаг: по аналогии со скриптом Symbols on the specified path.mq5 переберем все символы, расположенные по тому же пути, что и текущий символ, только вместо сохранения символов в файл, выведем статистику по размеру минимального лота.

Gets minimal volume.mq5 — скрипт, с помощью которого выведем статистику по минимальному объему группы символов. Скрипт обходит группу символов и накапливает статистику (minimal volume to close a deal и counter) в двухмерном массиве:

Полный код скрипта:

Алгоритм работы скрипта:

  • STEP 1: для текущего символа определяется SYMBOL_PATH — путь в дереве символов;
  • STEP 2: полученный путь разбирается на подстроки с разделителем „\“;
  • STEP 3: заново собираем текущий путь, но уже без последней подстроки, так как последняя подстрока — это название символа;
  • STEP 4: цикл по всем доступным символам; если у символа путь в дереве символов совпадает с текущим путем, получаем минимальный объем символа и производим поиск в массиве символов. Если такое значение уже есть, то увеличиваем счетчик. Если такого значения еще нет, добавляем в массив и счетчик ставим в „1.0“;
  • STEP 5: проверяем размер массива найденных символов;
  • STEP 6: выводим статистику.

Результат запуска на ценных бумагах:

– на двух рынках размер лота одинаковый — 1.0.

Значит, не будем усложнять систему и примем за минимальный лот размер „1.0“.

Визуализация используемых индикаторов

Когда вы в тестере запускаете визуальное тестирование, то вы видите индикаторы, которые использует советник. Но когда этот советник запускается на графике в терминале, индикаторы не показываются. В этой торговой системе я бы хотел видеть эти индикаторы на графике в терминале для визуального контроля работы советника. Что-то вроде этого:

Как видите, здесь я для всех индикаторов использовал свои настройки цвета и толщины линии (конечно, это всё было проделано вручную). А вот для автоматической визуализации индикаторов, используемых на графике в терминале, необходимо немного переписать индикаторы Moving Average, Bulls Power и Bears Power. Нечто подобное я уже реализовывал в коде Custom Moving Average Input Color — во входные параметры был вынесен цвет индикатора: этот входной параметр доступен при создании индикатора из советника. Остается по образу и подобию написать еще три индикатора.

Эти индикаторы (Custom Moving Average Inputs, Custom Bulls Power Inputs и Custom Bears Power Inputs) можно скачать в CodeBase. Обратите внимание, что скачанные индикаторы необходимо поместить в корень папки [data folder]\MQL5\Indicators\.

Elder-Ray 1.001.mq5визуализация используемых индикаторов, у которых можно настраивать цвет и ширину. Работает как в тестере стратегий, так и при запуске советника на графике:

Как это реализовано?

Главное условие — это наличие индикаторов Custom Moving Average Inputs, Custom Bulls Power Inputs и Custom Bears Power Inputs в папке [data folder]\MQL5\Indicators\

Управление внешним видом индикаторов, а также задание периода производится во входных параметрах, а для работы с индикаторами объявляются три переменные, в которых потом будут храниться хендлы индикаторов (handle_iCustom_MA, handle_iCustom_Bulls и handle_iCustom_Bears).

В OnInit() создаются хендлы пользовательских индикаторов (применяется iCustom), и созданные индикаторы добавляются на график (применяется ChartIndicatorAdd).

Экономим ресурсы. Elder-Ray 1.010.mq5

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

В советнике подключается класс CFileTxt (мы его уже применяли в скрипте Symbols on the specified path.mq5) — объект этого класса m_file_txt отвечает за доступ к текстовому файлу и чтение информации из файла. Также подключаем класс CSymbolInfo — объект этого класса m_symbol отвечает за проверку существования символа и за добавление символа в окно „Обзор рынка“. Почему выбор пал именно на CSymbolInfo, а не на реализацию через SymbolInfoInteger и SymbolSelect функции? Всё просто: в классе CSymbolInfo весь код по проверке, добавлению или сообщениям об ошибках спрятан внутри класса, и в советнике нужно лишь прописать эти три строки:

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

Итак, советник работает по такому алгоритму: в OnInit() открывает текстовой файл, считывает символ и сразу пытается создать три пользовательских индикатора (Custom Moving Average Inputs, Custom Bulls Power Inputs и Custom Bears Power Inputs) по считанному символу и на текущем таймфрейме. Если индикатор создать не удалось (например, банально не хватило баров для создания Custom Moving Average Inputs), то просто идем по циклу дальше. Если же индикаторы были созданы, заносим имя символа в массив m_symbols_array, а хендлы трех индикаторов — в трехмерный массив m_handles_array. Таким образом по первому измерению оба массива синхронно содержат информацию по имени символа и о хендлах на этом символе:

Хендлы индикаторов создаются в CreateHandles().

Итак, потребление памяти замерялось через TERMINAL_MEMORY_USED и визуально в диспетчере задач Windows 10. Чтобы определить потребление памяти по шагам, в версии 1.010 специально отключались некоторые строки (строки были закомментированы). В итоговой версии 1.010 все строки по добавлению символов и созданию индикаторов раскомментированы.

  • Запуск советника обычным способом: советник прикреплен на график:
    • старт терминала (символы из текстового файла еще не добавлены в окно „Обзор рынка“) — TERMINAL_MEMORY_USED 345 МБ, диспетчер задач от 26 до 90 МБ;
    • добавляем около сотни символов в окно „Обзор рынка“ — TERMINAL_MEMORY_USED 433 МБ, диспетчер задач + 10 МБ;
    • а теперь по каждому символу создаем три индикатора — TERMINAL_MEMORY_USED 5523 МБ, диспетчер задач 300 МБ.
  • Запуск тестера (без визуализации) — TERMINAL_MEMORY_USED 420 МБ, а в диспетчера задач 5 ГБ.

Вывод: TERMINAL_MEMORY_USED показывает суммарное потребление ОЗУ и дискового пространства. И так как потребление ОЗУ в обычном режиме не превышает 300 МБ, ничего экономить не будем.

Тенденция (EMA) идет.

Определить направление тренда (EMA) — это главная задача советника. На одном баре тренд не определить — необходима информация с нескольких баров. Обозначим этот параметр „bars„. Вот три графика ценных бумаг — CAT, MCD и V. Пусть обозначения тренда следующее: тренд вверх „+1“, нет тренда „0“ и тренд вниз „—1“

Тогда на графике „CAT“ тренд „0“ (4 бара вниз, 4 вверх, на остальных барах изменение индикатора мизерное), на „MCD“ тренд „—1“ (8 баров вниз, остальные в неопределенном состоянии) и на „V“ тренд „0“ (6 баров вверх, 2 или 3 вниз). Возможно, следует ввести параметр different — минимальная разница между показаниями индикатора на соседних барах.

Определяем тренд. Elder-Ray 1.020.mq5

Условия наличия тренда: EMA на протяжении bars должна быть направлена в одну сторону. Вероятно, потом следует проверить два дополнительных параметра:

  • different — минимальная разница между показаниями индикатора на соседних барах;
  • trend percentage — минимальный процент показаний индикатора в одну строну (на рисунке: символ CAT – индикатор EMA направлен в разные стороны на участке bars, а на символе MCD все показания индикатора EMA (или почти все) направлены в одну строну).

Что добавлено и удалено в версии 1.020:

  • не реализован параметр different — минимальная разница между показаниями индикатора на соседних барах;
  • „—“ перечисление enum ENUM_INPUT_SYMBOLS — решено, что советник будет работать только символами из текстового файла;
  • „+“ параметр number of bars for identifying the trend — количество баров для идентификации тренда по EMA;
  • „+“ параметр minimum percentage of the trend — минимальное качество тренда (однонаправленность);
  • „+“ массив m_prev_bars — массив для хранения времени открытия предыдущего бара;
  • „+“ таймер 60 секунд — в таймере проходит проверка на новый бар.

Блок отлавливания нового бара и определения направления тренда

В OnTimer() раз в 60 секунд обходим массив символов (m_symbols_array), загруженный из текстового файла, и л овим новый бар на символе из массива . Получаем в массив ema_array данные индикатора EMA, достаточные для определения тренда . Производим подсчет: на скольких барах индикатор шел вверх, а на скольких — вниз. Выводим на печать найденные закономерности .

Результат определения тренда. Настройки: number of bars for identifying the trend — 6, minimum percentage of the trend — 75%. Помним, что если работаем в момент рождения нового бара, то нулевой бар не учитывается:

Выставляем отложенные ордера (Buy stop или Sell stop). Elder-Ray 1.030.mq5

Как обойти ошибку нехватки средств при открытии позиции? Так как мы работаем с отложенными ордерами, то ответ: „Никак“! Могут быть какие-то половинчатые решения, но гарантировать ничего нельзя, и основная причина — никто не знает, в какой момент сработает отложенный ордер и вообще сработает ли он когда-нибудь.

Итак, определять тренд советник вроде научился, теперь нужно, используя Правила для покупки и Правила для продажи, найти точки, в которых можно выставить отложенный ордер. Для открытия BUY будет простая проверка: значение индикатора Bears Power на баре #1 должно быть меньше нуля и больше значения Bears Power на баре #2. Для открытия SELL условие зеркальное: значение индикатора Bulls Power на баре #1 должно быть больше нуля и меньше значения Bears Power на баре #2.

В описании стратегии Александр Элдер указал, что для открытия BUY позиции „. защитный Стоп Лосс ставится ниже последнего минимума . „, а для открытия SELL позиции „. защитный Стоп Лосс – выше последнего максимума . „. Само понятие „последнего“ оказалось размытым, и я проверил два варианта:

  1. выставлял стоп-лосс по ценам бара #1 и
  2. производил поиск ближайшего экстремума.

Вариант 1 оказался нежизнеспособным – очень часто были срабатывания стоп-лосса, поэтому в коде советника Elder-Ray 1.030.mq5 я остановился на варианте 2: поиске ближайшего экстремума.

Поиск ближайшего экстремума

Функция ищет ближайший экстремум:

Если экстремум не найден или обнаружена ошибка, возвращается false:

Что добавлено и удалено в версии 1.030:

  • „+“ торговый класс CPositionInfo (и m_position – объект этого класса);
  • „+“ торговый класс CTrade (и m_trade – объект этого класса);
  • „+“ торговый класс COrderInfo (и m_order – объект этого класса);
  • „+“ трейлинг (параметры Trailing Stop и Trailing Step);
  • „+“ magic number — уникальный идентификатор эксперта;
  • „+“ OnInit() — проверка типа счета: если это хедж-счет – запретить торговлю и выгрузиться с ошибкой;
  • OnInit() — изменен порядок визуализации: если запущен тестер стратегий, и текущий символ (символ, на котором запущен эксперт) есть в текстовом файле – индикаторы на текущий символ не добавляем (ChartIndicatorAdd не применяем);
  • OnTimer() — добавлен код подтверждения сигнала и торговые операции по выставлению отложенных Buy Stop и Sell Stop ордеров;
  • OnTradeTransaction() — добавлен механизм компенсации, если был разворот позиции или частичное закрытие;
  • „+“ при срабатывании Алгоритма компенсации, в OnTradeTransaction() стоп-лосс НЕ ВЫСТАВЛЯЕТСЯ, вместо этого модернизируется функция трейлинга: если в процессе перебора позиций обнаружится позиция без стоп-лосса, стоп-лосс будет выставлен по правилу поиска ближайшего экстремума;
  • „+“ добавлена переменная m_magic_compensation — идентификатор компенсационных сделок.

Чтобы разобраться с ситуациями, когда срабатывает отложенный ордер, противоположный по направлению к текущей позиции, нужно рассмотреть три типичных ситуации после срабатывания отложенного ордера Buy Stop:

Существующая позиция, объем Сработал отложенный ордер, объем Получилась позиция, объем Примечание к моменту срабатывания отложенного ордера magic позиции был Алгоритм компенсации (важно: перед компенсацией magic устанавливаем в m_magic_compensation) magic позиции стал
1 Sell 1.0 Buy Stop 3.0 Buy 2.0 Разворот позиции (направление сделки DEAL_ENTRY_INOUT) m_magic Дополнительно открыть Buy объемом 3.0 — 2.0 = 1.0 m_magic_compensation
2 Sell 1.0 Buy Stop 1.0 Полное закрытие позиции (направление сделки DEAL_ENTRY_OUT) m_magic Поиск позиции. Если позиции нет, открыть Buy объемом 1.0 m_magic_compensation
3 Sell 2.0 Buy Stop 1.0 Sell 1.0 Частичное закрытие позиции (направление сделки DEAL_ENTRY_OUT) m_magic Поиск позиции. Если позиции есть и она противоположна Buy, открыть Buy объемом 1.0 + 1.0 = 2.0 m_magic_compensation

Для каждого из трех случаев я подготовил распечатку сделок и ордеров (тест на реальном неттинговом счете, но в тестере). Для формирования отчета по сделкам и ордерам я использовал код из скрипта History Deals and Orders.

#1: Sell 1.0 -> Buy Stop 3.0

#2: Sell 1.0 -> Buy Stop 1.0

#3: Sell 2.0 -> Buy Stop 1.0

И еще одна ситуация уже на реальном счете и реальном времени (не в тестере): по рынку Buy объемом 2.0 (торговый приказ на открытие Buy породил две сделки объемами 1.0 — 20087494 и 20087495 ), затем был выставлен Sell limit объемом 2.0 для фиксации прибыли и закрытия позиции. Чуть позже этот Sell limit исполнился за два захода (сделки 20088091 и 20088145 ). Распечатка:

Советы по тестированию 1.xxx

  • Старайтесь в текстовом файле оставить ценные бумаги примерно одинаковой стоимости.
  • При тестировании в текстовом файле лучше оставлять небольшое количество символов. Идеальный случай: оставлять один символ и по нему проводить тест.

Вариант 2: в сочетании с системой „Тройной выбор“

В Варианте 1 (все индикаторы на одном графике) трендовый индикатор был на том же таймфрейме. В варианте 2 трендовый индикатор будет находиться на более крупном таймфрейме. Таким образом добавится только один новый параметр — трендовый таймфрейм (Trend timeframe).

Вариант 2 реализован в советнике Elder-Ray 2.000.mq5.

Файлы, прикрепленные к статье:

Название Тип файла Описание
Symbols on the specified path.mq5 Скрипт Формирует текстовой файл с символами данной группы, сохраняется в Commom Data Folder
Gets minimal volume.mq5 Скрипт Выводит статистику по минимальному объему данной группы.
Elder-Ray 1.001.mq5 Советник Демонстрирует визуализацию используемых индикаторов
Elder-Ray 1.010.mq5 Советник Начинаем работать с текстовым файлом и создавать индикаторы по символам из файла. Советник служит для наблюдений за расходом используемой памяти
Elder-Ray 1.020.mq5 Советник Определяем тренд. Проверяем правильность определения тренда
Elder-Ray 1.030.mq5 Советник Рабочая версия по Варианту 1: все индикаторы на одном графике
Elder-Ray 2.000.mq5 Советник Вариант 2: в сочетании с системой „Тройной выбор“

Заключение

Торговая система Elder-Ray Биржевой рентген (Bulls Power и Bears Power) имеет право на жизнь, особенно в сочетании с системой „Тройной выбор“, когда индикатор тренда (EMA) рассчитывается на более высоком таймфрейме, чем индикаторы Bulls Power (индекс силы быков) и Bears Power (индекс силы медведей).

При тестировании советника следует понимать, что в подготовленном текстовом файле может быть до 100 символов: для старта теста по такому количеству символов может понадобиться до 10 минут только для старта и до 5 Гб памяти в процессе теста.

И как ни доверяй советнику, а всё время хочется влезть руками в процесс. Например, пока статья писалась и тестировались версии советников, я так и поступал:

Beste Broker fur Binare Optionen 2020:
  • Binarium
    Binarium

    Der beste Broker fur binare Optionen fur 2020!
    Ideal fur Anfanger!
    Kostenloser Unterricht!

  • FinMax
    FinMax

    2 Platz in der Rangliste! Zuverlassiger Broker!

Like this post? Please share to your friends:
Binäre Optionen für Anfänger
Schreibe einen Kommentar

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: