Звуковые сигналы в индикаторах
Не смотря на возрастающую популярность автотрейдинга, многие трейдеры продолжают торговать вручную. И если эксперту для оценки текущей ситуации на рынке требуется несколько миллисекунд, то обычному человеку необходимо потратить много времени, усилий и, главное, внимания.
Как и несколько лет назад, многие трейдеры для анализа пользуются Техническими индикаторами — одним или несколькими сразу. А некоторые стратегии учитывают значения индикаторов одновременно на нескольких периодах.
- Написать эксперта, который будет анализировать рынок и сообщать о важных событиях;
- Сидеть возле монитора и, переключаясь между десятками графиков, пытаться сопоставить полученную информацию;
- Добавить во все используемые индикаторы систему оповещения о торговых сигналах.
Первый вариант по моему мнению наиболее правильный, но требует либо навыков программиста либо денег на реализацию. Второй — очень трудоемкий, утомительный и нерациональный. А третий вариант — нечто среднее между первыми двумя. Для его реализации необходимо намного меньше времени и умений, но он значительно облегчит жизнь (работу) трейдеру, торгующему вручную.
Именно реализации третьего варианта и посвящена данная статья. После её прочтения каждый трейдер сможет добавлять в индикаторы удобные для себя сигналы.
Виды сигналов
Способов интерпретации индикаторов существует очень много. Даже стандартные индикаторы терминала MetaTrader 4 можно понимать по разному. О всевозможных пользовательских индикаторах я вообще молчу.
Кто-то покупает, когда главная линия MACD пересекает сигнальную, кто-то ждет пересечения с нулевой линией, а кто-то открывает длинную позицию, когда MACD меньше 0 и начинает движение вверх. Предусмотреть все возможные варианты интерпретации мне не представляется возможным, поэтому я вам расскажу принцип добавления сигнального блока, а вы, отталкиваясь от него, сможете добавить любой тип сигнала в большинство индикаторов.
- Пересечение двух линий индикатора (пример приведен выше — главная линия MACD и сигнальная линия);
- Пересечение линией индикатора определенного уровня (главная линия MACD и нулевая линия, Stoсhastic и уровни 70 и 30, CCI и уровни -100 и 100);
- Изменение направления движения (AC и AO, обычный MA);
- Изменение расположения по отношению к цене (Parabolic SAR);
- Появление стрелочки над или под ценой (Fractals).
Способы оповещения
- Обычное сообщение на экран (функция Comment);
- Текст в журнале (функция Print);
- Окно с сообщением и звуковой сигнал (функция Alert);
- Отдельный звуковой сигнал с выбором воспроизводимого файла (функция PlaySound).
В этой статье мы рассмотрим только способы звукового и визуального оповещения терминала MetaTrader 4.
Самый простой и удобный из них — функция Alert, так как содержит и текст и звук. Кроме того, терминал хранит историю Alert-ов и всегда можно посмотреть, какой сигнал был час назад.
Но, как известно, на вкус и цвет товарищей нет. Поэтому я сделаю заготовку для всех упомянутых способов (кроме SendFTP, MessageBox и SendMail), а вы выберете удобный для себя.
Фильтр на частоту сигналов
- Сигналы определять на основании сформировавшихся баров. Это наиболее правильное решение;
- Чередовать сигналы — после покупки только продажа, и наоборот (тоже очень логичный ход, его можно использовать одновременно с другими);
- Делать паузу между сигналами (не очень хорошая идея);
- Давать один сигнал на бар (тоже достаточно искусственное ограничение).
Итак, приступим к реализации.
Сигнал первый — пересечение двух индикаторных линий
Начнем с приводимого в примерах MACD.
Главная наша задача — определить в каких массивах хранятся линии индикатора. Для этого посмотрим в код:
Обратите внимание на комментарий «indicator buffers» — это именно то, что мы искали. Такие массивы чаще всего имеют интуитивно понятное имя (MacdBuffer — буфер значения главной линии MACD, SignalBuffer — буфер сигнальной линии) и всегда располагаются вне функций init, deinit и start.
Если массивов много и сложно понять какой из них необходим, посмотрите в функцию init — все массивы, отображенные на графике, «привязываются» к определенному номеру с помощью функции SetIndexBuffer:
И именно в таком порядке (от 0 до 7) значения линий индикатора отображаются в окне DataWindow. Имена, которые вы увидите там же, назначаются функцией SetIndexLabel — это третий способ идентификации.
Теперь, когда мы знаем, где хранятся необходимые данные, можем переходить к реализации сигнального блока. Для этого перемещаемся в самый конец функции start — выше последнего оператора return:
Ни в коем случае нельзя добавлять сигнальный блок в цикл расчета индикатора — это замедлит его работу и не принесет никакой пользы.
Итак, начинаем сочинять:
Каждый раз, когда будет выполняться функция start, будет выполняться наш код. Обычные переменные обнуляются после каждого выполнения функции. Поэтому для хранения последнего сигнала и номера просчитанного бара мы объявили две статические переменные.
Дальше находится простая проверка, начался ли новый бар (работает только, если SIGNAL_BAR больше 0).
Кстати, саму переменную SIGNAL_BAR мы объявили намного раньше, ещё до функции init:
Обратите внимание на директиву #define — компилятор просто заменит во всем коде переменную SIGNAL_BAR указанным значением (1).
Теперь, собственно, код сигнала:
Тут тоже все просто. Если предыдущий сигнал был на продажу, проверяем пересечение линий:
если значение главной линии MACD на баре №1 больше, чем значение сигнальной линии на баре №1
И
значение сигнальной линии на баре №2 больше, чем значение линии MACD на баре №2
значит
линии пересеклись.
Дальше отмечаем, что последний сигнал был на покупку, и выводим сообщение. Обратите внимание на три закомментированные строки — это ещё три варианта оповещения. Вы можете разкомментировать или удалить любую из них или все сразу. По умолчанию я оставил только Alert, как самый удобный.
А в функции PlaySound можно указать, какой аудио файл проигрывать. Файл должен находиться в директории MetaTrader 4sounds и иметь расширение wav. Например, сделать свой звук на сигнал бай и свой — на селл или разные звуки разным индикаторам.
Сигнал на продажу полностью аналогичен:
Остальные сигналы
Теперь, когда мы освоились в коде индикатора, нам будет намного проще написать другие блоки оповещения. Меняться будет только «формула», остальной код будем просто копировать.
Сигнал на пересечение определенного уровня очень похож на пересечение линий. Я его добавил в Stochastic, но вы можете провести аналогию для любого другого индикатора:
Как видите, при пересечении линией %K (MainBuffer) уровня 30 снизу вверх индикатор скажет «Buy», а при пересечении уровня 70 сверху вниз — «Sell».
Третий вид сигнала — изменение направления движения. Его мы рассмотрим на примере индикатора AC. Обратите внимание, в этом индикаторе используется пять буферов:
ExtBuffer3 и ExtBuffer4 используются для промежуточных расчетов, ExtBuffer0 всегда хранит знчение индикатора, а ExtBuffer2 и ExtBuffer3 «разукрашивают» столбики в 2 цвета. Поскольку нам необходимо только значение индикатора, будем использовать ExtBuffer0:
Если значение индикатора уменьшалось, а потом начало увеличиваться, даем сигнал на покупку, если наоборот — увеличивалось и начало уменьшаться — на продажу.
Четвертый вид сигнала — изменение расположения по отношению к цене — достаточно редкий.
Но все равно его можно встретить, например, в Parabolic-е. На его примере мы и напишем «формулу»:
Тут вообще все просто — сравниваем значение индикатора с ценой закрытия бара. Заметьте, если установить SIGNAL_BAR равным 0, каждое «прикосновение» цены к параболику будет сопровождаться сигналом.
И последний сигнал — появление стрелочки на графике. В стандартных индикаторах он встречается достаточно редко, зато очень распространен в пользовательских «определителях разворотов». Я рассмотрю этот вид сигналов на примере индикатора Fractals (исходный код на MQL 4 находится в Code Base: Fractals).
Общим для всех подобных индикаторов является то, что в тех местах, где они рисуются на графиках, они не равны 0 (или EMPTY_VALUE). На всех остальных барах их буферы пустые. То есть для определения сигнала достаточно сравнить значение буфера с 0:
Но если вы присоедините индикатор с таким кодом на график, вы никогда не дождетесь сигнала. У фракталов есть одна особенность — они используют 2 будущих бара для анализа, поэтому стрелочки появляются только на втором по номеру (или третьем по счету — 0-й, 1-й, 2-й) баре. Поэтому для того, чтоб сигналы заработали, надо установить SIGNAL_BAR равным 2:
Всё, теперь сигналы будут работать!
Заключение
В статье были рассмотрены различные способы добавления звуковых сообщений в индикаторы. Также были определены такие понятия, как способ интерпретации сигнала (вид сигнала), способ оповещения и фильтр частоты сигналов.
- Пересечение двух линий индикатора;
- Пересечение линией индикатора определенного уровня;
- Изменение направления движения;
- Изменение расположения по отношению к цене;
- Появление стрелочки над или под ценой.
- Comment() — для обычного сообщения на экран;
- Print() — для отображения сообщения в журнале;
- Alert() — для отображения сообщения в специальном окне и звукового сигнала;
- и PlaySound() — для воспроизведения любого звукового файла.
- При определении сигнала использовались сформировавшиеся бары;
- Все сигналы чередовались — после покупки только продажа, и наоборот.
Я надеюсь, вы убедились, что ничего сложного в добавлении сигнального блока в индикаторы нет — это по силам каждому. Может быть, теперь на форумах будет меньше подобных просьб и мы сможем развиваться дальше.
Звук при открытии/закрытии ордера
Устали постоянно смотреть в монитор ожидая закрытие ордера? Данный советник значительно облегчит Ваш труд! Робот OrderSound издает звуковой сигнал при любых изменениях с Вашими ордерами. Они издает сигнал при срабатывании отложенного ордера, при открытии любого из ордеров руками, и самое главное — при закрытии любого ордера причем неважно закрыт ордер советником, либо трейлинг стопом, безубытком, стоп лоссом, или тейк профитом! В любом случае Вы услышите громкий звуковой сигнал и никогда не пропустите этот Важный момент! Звук можно изменять на любой другой.
Советник экономит не только Ваше время, но и сохраняет зрение! Теперь не нужно сидеть у терминала, Вы сможете заниматься любыми делами пока сделка открыта, либо должна открыться (если установлен отложенный ордер). Советник будет следить за каждым изменением в терминале. Очень хорошо советник работает в паре с другими роботами! Для правильной работы задайте роботам одинаковый магик номер и поместите на одну пару в разных окнах терминала.
Настройки робота:
- Sound = true — Включить/выключить звук
- File = «email.wav» — Файл который нужно воспроизвести. Можете поменять на любой другой wav формата закинув его в папку терминала sounds
- Magic_Number = 0 — Задать магик номер (для работы с советниками) данный робот должен быть установлен на той же валютной паре, что и советник, но в другом окне.
Для того, что бы оставить комментарий, зарегистрируйтесь на сайте.
Отзывов пока нет. Оставить отзыв могут только покупатели!
Опубликована версия 1.0.0
Уведомление о рисках. Торговля на финансовом рынке Форекс сопряжена с высокими рисками и может привести к потере вашего депозита.
Мы крайне не рекомендуем инвестировать средства, которые вы не можете позволить себе потерять.
Индикаторы со звуковыми сигналами: варианты на Форекс
Многие трейдеры негативно относятся к внутридневной торговле, и когда приходится слушать аргументы большинства критиков, становится очевидно – люди не понимают истинную причину своих неудач, кроющуюся в нежелании следить за рынком. Новички предполагают, что можно заключать сделки в хаотичном порядке и получать в итоге прибыль.
На самом деле, системная торговля предполагает не только соблюдение правил в момент заключения сделки, главная её сила кроется в соблюдении последовательности сделок. Отрабатываться должны абсолютно все поступающие сигналы, только в этом случае общий результат от серии ордеров будет положительный.
Я не хочу сказать, что многие новички недисциплинированные, например, очень часто приходится совмещать работу и трейдинг, а может быть, какие-то домашние дела требуют решения.
В любом случае, следить за колебаниями цены зачастую становится непросто, поэтому помочь в данном случае могут только индикаторы со звуковыми сигналами. Главное помнить, что надёжная внутридневная сделка – это часы ожидания и всего несколько минут реального действия.
Как работают индикаторы со звуковыми сигналами
В терминал MetaTrader по умолчанию добавлены специальные звуковые файлы, которые используются для уведомления трейдера о различных событиях. Найти их названия можно через меню «Сервис – Настройки — вкладка События».
Альтернативный вариант – перейти в директорию терминала по следующему пути: «MetaTraderSounds».
Находящиеся здесь файлы с расширением «wav» и используются при написании индикаторов со звуковыми сигналами. Программист просто добавляет в код определённое условие, при достижении которого терминал «выдаст» оповещение, при этом сам терминал может быть свёрнут. Всё что остаётся трейдеру – развернуть рабочий график, оценить ситуацию и принять решение.
Я не зря сказал «оценить ситуацию», дело в том, что полностью автоматизировать действительно хорошие интрадей стратегии – очень сложно. Тем не менее, многие скальперы торгуют именно роботами (результат полной автоматизации – это советник, логично?).
Конечно, если рассуждать теоретически, то входы в полностью автоматизированной стратегии можно автоматизировать, но с выходами часто возникают проблемы (начиная от реквот и заканчивая спецификой инструмента). Поэтому многие скальперы предпочитают фиксировать прибыль вручную, т.е. грубо говоря – математика отвечает за вход, а накопленный опыт – за выход из сделки.
Пример использования индикаторов со звуковыми сигналами
Начну с того, что прикрутить «алерт» можно практически ко всем индикаторам. Если всю совокупность звуковых индикаторов распределить по группам, то получим следующую классификацию (если постараться, то можно выделить и подгруппы, но для нас это сейчас не важно):
- Выдают сигнал на пробой уровня (если цена открытия свечи находится за уровнем) – это достаточно сложные алгоритмы, так как с правильной разметкой уровней проблемы возникают даже у трейдеров, что уж говорить про «машину».
- Издают звуковой сигнал при достижении осциллятором критического уровня – это самые простые помощники, построенные на стандартных индикаторах.
- Уведомляют трейдера о переломе тенденции, который чаще всего определяется при помощи MA.
Фактически, это скользящая средняя, при изменении угла которой терминал издаёт звуковые сигналы. В отличие от стандартной МА, пользователь при настройке AllAverages_2.5 может выбрать в качестве формулы расчёта один из двадцати вариантов, начиная от простой скользящей и заканчивая интегральной линейной регрессией.
Как и многие другие индикаторы со звуковыми сигналами, AllAverages может использоваться в качестве упреждающего сигнала. Например, если торговая стратегия предусматривает покупки/продажи по тренду на откатах, трейдеру уже не требуется постоянно следить за рынком, всю эту работу сделает алгоритм.
В данном случае звуковой сигнал поступит после того, как средние цены начнут расти или падать (если это произошло, можно говорить о завершении отката), пользователю остаётся лишь найти удачный момент для заключения сделки.
Кстати о сигналах, на графике можно заметить, что уникальный цвет присваивается не только основным направлениям движения цены (красный – медвежьему, синий – бычьему), есть ещё жёлтый цвет, которым обозначается перелом тенденции.
Именно в момент появления жёлтого цвета индикатор со звуковым сигналом просигналит в первый раз. Поэтому даже если трейдер торгует агрессивно и открывает позиции сразу после разворота «машки», у него ещё будет некоторое время для того, чтобы ознакомиться с ситуацией.
В зависимости от того, какая формула используется для расчёта средних цен, продолжительность периода, окрашенного в жёлтый цвет, может значительно отличаться, также результат расчёта сильно зависит от типа цены (Open, Close и т.д.).
Надеюсь, я ответил на вопрос «зачем нужны индикаторы со звуковыми сигналами» при торговле внутри дня. Можно было привести ещё десяток примеров, но это бессмысленно, так как звук без проблем «прикручивается» к любому эксперту. Практически для всех стандартных индикаторов (стохастик, RSI и т.д.) звуковые версии находятся в свободном доступе.
Источник https://www.mql5.com/ru/articles/1448
Источник https://mqlea.com/ru/assistant/order-sound
Источник https://www.megafx.ru/Indikatory-so-zvukovymi-signalami-varianty-na-Foreks/