Обсуждение статьи "MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах"

 

Опубликована статья MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах:

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

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

Автор: Sergey

 
полезная статья. :) жду примера торговой операции.
 

Введение в технические индикаторы (по материалам статьи dailyfx)

Trend Following

Индикаторы Trend following были созданы для того, чтобы помочь трейдерам торговать валютными парами, которые имеют восходящий или нисходящий тренд. Все мы слышали фразу "тренд - ваш друг". Эти индикаторы помогают определить направление тренда и могут сказать нам, существует ли тренд на самом деле.

Скользящие средние

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

Ichimoku

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

ADX

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

Осцилляторы

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

RSI

Индекс относительной силы - это, пожалуй, самый популярный осциллятор. Важным компонентом его формулы является соотношение между средней прибылью и средней потерей за последние 14 периодов. RSI находится в диапазоне от 0 до 100 и считается перекупленным выше 70 и перепроданным ниже 30. Трейдеры обычно ищут возможность продавать, когда 70 пересекается сверху, и покупать, когда 30 пересекается снизу.

Стохастик

Стохастик предлагает трейдерам другой подход к расчету ценовых колебаний, отслеживая, как далеко находится текущая цена от самого низкого минимума за последние X периодов. Затем это расстояние делится на разницу между максимальной и минимальной ценой за то же количество периодов. Созданная линия, %K, затем используется для создания скользящей средней, %D, которая располагается прямо поверх %K. В результате получаются две линии, движущиеся в диапазоне 0-100, с уровнями перекупленности и перепроданности на отметках 80 и 20. Трейдеры могут ждать пересечения этих двух линий, находясь в зонах перекупленности или перепроданности, или же искать дивергенцию между стохастиком и фактической ценой, прежде чем заключать сделку.

CCI

Индекс товарного канала отличается от многих осцилляторов тем, что у него нет ограничений на то, насколько высоко или низко он может опуститься. В качестве центральной линии используется 0, а уровни перекупленности и перепроданности начинаются с +100 и -100. Трейдеры стремятся продавать прорывы ниже +100 и покупать прорывы выше -100. Чтобы увидеть несколько реальных примеров CCI в действии,

MACD.

Скользящая средняя конвергенции/дивергенции отслеживает разницу между двумя линиями EMA, 12 EMA и 26 EMA. Разница между этими двумя EMA рисуется на подграфике (так называемая линия MACD), а 9 EMA рисуется прямо поверх нее (так называемая сигнальная линия). Трейдеры покупают, когда линия MACD пересекается выше сигнальной линии, и продают, когда линия MACD пересекается ниже сигнальной линии. Также есть возможность торговать дивергенцией между MACD и ценой.

Волатильность

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

Bollinger Bands®

Полосы Боллинджера представляют собой 3 линии, расположенные прямо поверх ценового графика. Средняя "полоса" представляет собой 20-периодную простую скользящую среднюю, а верхняя и нижняя "полосы" расположены на 2 стандартных отклонения выше и ниже 20 MA. Это означает, что чем более волатильна пара, тем шире будут внешние полосы, что дает возможность использовать полосы Боллинджера универсально для всех валютных пар, независимо от их поведения. Чем шире полосы, тем более волатильна пара. Чаще всего полосы Боллинджера используются для торговли двойными вершинами/низами, которые попадают в верхнюю или нижнюю полосу, или для торговли отскоками от внешней полосы в направлении общего тренда.
Bollinger Bands® является зарегистрированной торговой маркой Джона Боллинджера.

ATR

Average True Range показывает среднее расстояние между максимумом и минимумом цены за последнее X количество баров (обычно 14). Этот индикатор представлен в пунктах, и чем выше ATR, тем более волатильна пара, и наоборот. Это делает его идеальным инструментом для измерения волатильности, а также может оказать огромную помощь при выборе места установки стоп-лоссов.

Поддержка/сопротивление

Точки разворота

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

Каналы Дончиана

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

Introduction to Technical Indicators
Introduction to Technical Indicators
  • Rob Pasche
  • www.dailyfx.com
The first time I opened a charting package and viewed all the available indicators, I felt completely overwhelmed. It looked like an endless list of terms written in a different language. Attempting to learn what all of them did seemed like a near impossible task, but over time, I did learn how many indicators can be helpful with my trading...
 
Здравствуйте! А вот еще один вопрос к Вам: Как получить значений технического индикатора Heiken Ashi или ZigZagColor в своих экспертах? Есть такой пример?
 
Aslanbiy Botashev:
Здравствуйте! А вот еще один вопрос к Вам: Как получить значений технического индикатора Heiken Ashi или ZigZagColor в своих экспертах? Есть такой пример?
Например, поискать статью на эту тему - Пример торговой системы на основе индикатора Heiken-Ashi
 
Rashid Umarov:
Например, поискать статью на эту тему - Пример торговой системы на основе индикатора Heiken-Ashi

Спасибо! Да, я это еще раньше скачал этот пример и разобрал.  Нашел упрошенный вариант копирования буферов.

Вариант кода предоставляю:

         double ExtColorBuffer[2];         
         if (CopyBuffer(hHeiken_Ashi,4, 0, 2, ExtColorBuffer)<0) return;


         if (ExtColorBuffer[0]==0.0);  // DodgerBlue

         if (ExtColorBuffer[1]==1.0);  // Red
Только остается искать код закрытия ордеров. Даже стесняюсь часто спрашивать. :-D
 

Здравствуйте Сергей,

Я привык к МТ4 и начинаю осваивать МТ5.

Ваша статья на https://www.mql5.com/en/articles/31 одна из немногих с четкой структурой и очень ценная.

Я частично скопировал ваш код и хочу увидеть/проверить значения пользовательских индикаторов в советнике.

Эта вариация на тему встроенных индикаторов работает отлично:

OnInit часть: MA_handle=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE);

OnTick часть: CopyBuffer(MA_handle,0,0,100,MA); ArraySetAsSeries(MA,true); Comment(MA[0]); Комментарий показывает текущее значение MA

---

теперь при использовании/замене iMA на MA_handle=iCustom(NULL,0, "ParabolicSAR", 0.04, 0.5 );

или моего собственного индикатора я получаю "-1", так что даже встроенный Параболик не обрабатывается правильно ?!!

Буду очень благодарен за подсказки, как это решить.

---

Btw: мой CustomIndicator, который я хотел бы проверить в следующем шаге, имеет 5 входов (A-E) и 3 буфера

OnInit часть, вероятно, должна быть: MA_handle=iCustom(NULL, 0, "Indic. Name",A,B,C,D,E);

MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors
MQL5 for Newbies: Guide to Using Technical Indicators in Expert Advisors
  • 2010.03.18
  • Sergey Pavlov
  • www.mql5.com
In order to obtain values of a built-in or custom indicator in an Expert Advisor, first its handle should be created using the corresponding function. Examples in the article show how to use this or that technical indicator while creating your own programs. The article describes indicators that are built n the MQL5 language. It is intended for those who don't have much experience in the development of trading strategies and offers simple and clear ways of working with indicators using the offered library of functions.
 

Отличная справочная статья. Очень помогла мне! :)

 
Меня раздражает ArraySetAsSeries() внутри Ontick(). Должно быть достаточно установить его один раз, нет?
 
Дорогой друг, как "новичок" я хотел бы поблагодарить вас за прекрасную статью.
 
Как записывать несколько циклов? Записывать каждый цикл при инициализации - это мучение.