Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5. Издание 2-е, исправленное и дополненное. Тимур Машнин. Читать онлайн. Newlib. NEWLIB.NET

Автор: Тимур Машнин
Издательство: Издательские решения
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 0
isbn: 9785449681850
Скачать книгу
или Окно данных, например:

      #property indicator_label1 «ADX»

      #property indicator_label2 "+DI»

      #property indicator_label3 "-DI»

      Другие свойства индикатора можно посмотреть в справочнике.

      Правда можно отметить еще одну группу свойств, которая позволяет нарисовать горизонтальный уровень индикатора в отдельном окне, например:

      #property indicator_level1 30.0

      #property indicator_levelcolor Red

      #property indicator_levelstyle STYLE_SOLID

      #property indicator_levelwidth 2

      В результате добавления этих строк кода в индикатор ADX, у него появится горизонтальный уровень.

      Теперь, на примере индикатора ADX, при присоединении индикатора к графику в MetaTrader 5, во-первых, откроется диалоговое окно индикатора, которое во вкладке Общие отобразит значения свойств copyright, link и description.

      А во вкладке Цвета отобразятся значения свойств indicator_label, indicator_color, indicator_width, indicator_style.

      Само же название индикатора определяется именем файла индикатора.

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

      При наведении курсора на название индикатора в окне Navigator терминала всплывает подсказка, отображающая свойство copyright.

      После присоединения индикатора свойство:

      #property indicator_label1 «ADX»

      работать не будет, так как в функции OnInit () с помощью вызова функции:

      string short_name=«ADX (»+string (ExtADXPeriod) +»)»;

      IndicatorSetString (INDICATOR_SHORTNAME, short_name);

      изменена подпись индикатора на ADX (14) – период индикатора.

      А вызовом функции:

      PlotIndexSetString (0,PLOT_LABEL, short_name);

      изменена метка индикатора в окне Окно Данных, которое открывается в меню Вид терминала.

      Значения же свойств:

      #property indicator_label2 "+DI»

      #property indicator_label3 "-DI»

      отображаются, как и было определено, во всплывающих подсказках к диаграммам индикатора и отображаются в окне Окно Данных.

      В коде индикатора ADX объявленное количество буферов индикатора больше, чем количество графических построений.

      Свойство indicator_buffers равно 6

      А свойство indicator_plots равно 3

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

      Это массивы ExtPDBuffer, ExtNDBuffer и ExtTmpBuffer.

      В функции OnCalculate индикатора, значения массивов ExtPDBuffer, ExtNDBuffer, ExtTmpBuffer рассчитываются на основе загруженной ценовой истории, а затем уже на их основе рассчитываются значения массивов ExtADXBuffer, ExtPDIBuffer, ExtNDIBuffer, которые используются для отрисовки диаграмм индикатора.

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

      Теперь, в описании индикатора ADX сказано, что:

      Сигнал на покупку формируется тогда, когда +DI поднимается выше – DI и при этом сам ADX растет.

      В момент, когда +DI расположен выше – DI, но сам