Что нужно знать об индикаторах

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
210896
MetaQuotes Software Corp.  

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


Самая первая статья на эту тему - Как написать индикатор в MQL5. В ней дано описание концепции технического индикатора, заложенной в язык MQL5 и клиентский терминал MetaTrader 5:

Что представляет собой индикатор? Это набор вычисленных значений, которые мы хотим отобразить на экране монитора удобным для нас образом. Наборы значений представляются в программах в виде массивов. Таким образом, создание индикатора - это написание алгоритма, который обрабатывает одни массивы (массивы цен) и записывает результаты обработки в другие массивы (значения индикаторов).




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

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



Как создать хэндл индикатора для последующих обращений к его значениям - об этом рассказывает статья MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах:

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



Хочу также напомнить, что сейчас для каждого встроенного технического индикатора в языке MQL5 дан пример его использования с подробными комментариями. Можно скопировать пример в редактор MetaEditor 5, скомпилировать и запустить в терминале. Мы постарались, чтобы внешний вид и порядок показа индикаторных буферов в окне данных был аналогичен встроенному одноименному индикатору.

Еще одно подробное изложение на примере создания индикатора можно найти в статье Пользовательские индикаторы в MQL5 для начинающих:

Любой новый предмет для новичка с первого взгляда кажется сложным для понимания. Нам кажется простым и ясным то, что мы уже знаем. Но мы просто не помним, что всем нам когда-то приходилось изучать с нуля, даже родной язык, на котором мы разговариваем. Так и язык MQL5, таящий в себе огромные возможности для написания торговых стратегий, можно начать изучать с базовых понятий и примеров. В этой статье на примере пользовательского индикатора SMA рассматривается взаимодействие технического индикатора с клиентским терминалом MetaTrader 5.




В статье Способы вызова индикаторов в MQL5 описывается создание хэндла индикатора с помощью функции IndicatorCreate() - этот способ имеет свои преимущества перед обычным использованием iCustom():

C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.



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

Предположим, что на чарт наброшен индикатор простого мувинга с периодом 13. А мы хотим изменить период до 20, но нам не хочется лезть в диалог свойств индикатора и править число 13 на 20: надоело уже пальцы стирать об мышку и клавиатуру. И уж тем более не хочется открывать код индикатора и модифицировать его. Мы хотим сделать все это однократным нажатием одной клавиши - "стрелочки вверх", расположенной рядом с цифровой клавиатурой. В этой публикации мы расскажем, как это сделать.



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

В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.




Полезно будет также прочитать статью Цветные индикаторы - создание и применение, название говорит само за себя. Управление цветом стало еще удобнее, количество доступных предопределенных цветов достигает 64, но и эти цвета вы можете в любой момент заменить на ходу:

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




Статья Разработка и реализация новых виджетов на основе класса CChartObject показывает возможности индикаторов в MQL5 - широкое использование графических объектов:

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



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

Торговая платформа MetaTrader 5 для торговли на финансовых рынках
Торговая платформа MetaTrader 5 для торговли на финансовых рынках
  • www.metatrader5.com
Торговый терминал MetaTrader 5 - это бесплатный инструмент трейдера, позволяющий торговать на разных финансовых рынках. Торговый терминал обладает широкими аналитическими возможностями и поддерживает более 70 различных инструментов для выполнения технического анализа
10806069
134
10806069  

MetaQuotes, зачем тема открыта?

Даже ежу понятно, что статей много. И что с того? Все эти статьи - море флуда без крупинки золота.

И, главное, вы не с того начали. Нормальные специалисты начинают не с вопроса "как", а с куда более фундаментального - "ЗАЧЕМ".

Зачем писать индикатор сигнала красного шума?

Таких уже десятки тысяч и все дружно сообщают - шум есть.

Зачем писать еще один?



---
22675
---  
10806069:

MetaQuotes, зачем тема открыта?

метаквоты - софтверная компания.
Sergey Golubev
Модератор
113007
Sergey Golubev  
10806069:

MetaQuotes, зачем тема открыта?

Даже ежу понятно, что статей много. И что с того? Все эти статьи - море флуда без крупинки золота.

И, главное, вы не с того начали. Нормальные специалисты начинают не с вопроса "как", а с куда более фундаментального - "ЗАЧЕМ".

Зачем писать индикатор сигнала красного шума?

Таких уже десятки тысяч и все дружно сообщают - шум есть.

Зачем писать еще один?




Как говорят у нас в России - do not teach my grandmother to suck eggs (не учи мою бабушку ...). Есть и другие пословицы :)

"И, главное, вы не с того начали" ... ребята уже плоды пожинают ... короче - ты опоздал с этим советом лет на 12 извиняюсь.

TheXpert
17952
TheXpert  

С самой первой промашка :) Ну правда по полезности хз, с тех пор MQL5 очень сильно вырос

Вот она

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Наконец мы получили возможность попробовать в работе новый торговый терминал - MetaTrader 5. Вне сомнения, продукт заслуживает внимания и имеет множество новых возможностей по сравнению со своим предшественником. Важными преимуществами этой платформы среди прочих являются: Существенно доработанный язык, позволяющий теперь программировать...
TheXpert
17952
TheXpert  
newdigital:
balls :) учите английский :)
Sergey Golubev
Модератор
113007
Sergey Golubev  
У них куриные яйца (eggs) и то что вы написали - это разные слова. А слово suck - это нормальное слово. А по русски я недоперевел (поставил многоточие), так как эта довольно приличная англ пословица в дословном переводе на русский язык может иметь дурной смысл - что и подтвердилось вашим постом.


учите английские пословицы :)

TheXpert
17952
TheXpert  
newdigital:
Понял, сорри :)
Rashid Umarov
Админ
16579
Rashid Umarov  
TheXpert:

С самой первой промашка :) Ну правда по полезности хз, с тех пор MQL5 очень сильно вырос

Вот она

Может Вы и правы - теперь она скорее вредит. Уберем из этого поста, видимо (сначала перечитаем заново).
transcendreamer
5641
transcendreamer  

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

синхронизация как раз меня волновала 

вот бы еще штатным образом были реализованы ibarshift и обратно 

и еще получается такая фигня что многомерный массив не может быть динамической таймсерией

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

Dumitru Malcoci
151
Dumitru Malcoci  
THX
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий