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

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

Книгу Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5. Издание 2-е, исправленное и дополненное - Тимур Машнин читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

240 0 10:00, 03-01-2023
Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5. Издание 2-е, исправленное и дополненное - Тимур Машнин
03 январь 2023

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

Разработка индикаторов и советников с использованием языка программирования MQL5 для платформы MetaTrader 5. Второе издание, исправленное и дополненное.

    1 2 3 ... 23
    Перейти на страницу:
    indicator_color, цвета графического построения можно задать программным способом:

    Задаем количество индексов цветов для графического построения с помощью функции:

    PlotIndexSetInteger (0,PLOT_COLOR_INDEXES,3);

    И задаем цвет для каждого индекса с помощью функции:

    PlotIndexSetInteger (0,PLOT_LINE_COLOR,0,Red);

    Где первый параметр — индекс графического построения, соответственно первое графическое построение имеет индекс 0.

    Это идентично объявлению:

    #property indicator_color1 Red, Green, Blue

    Давайте продолжим рассмотрение свойств индикатора.

    Толщина линии диаграммы индикатора задается свойством indicator_widthN, где N — номер графического построения, например:

    #property indicator_width1 1

    Также можно задать стиль линии диаграммы индикатора — сплошная линия, прерывистая, пунктирная, штрих-пунктирная, штрих — с помощью свойства indicator_styleN, где N — номер графического построения, например:

    #property indicator_style1 STYLE_SOLID

    И, наконец, свойство indicator_labelN указывает метки диаграмм индикатора в DataWindow или Окно данных, например:

    #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, но сам ADX начинает снижаться, индикатор подает сигнал о том, что рынок «перегрет» и пришло время фиксировать прибыль.

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

    В момент, когда +DI расположен ниже — DI, но сам ADX начинает снижаться, индикатор подает сигнал о том, что рынок «перегрет» и пришло время фиксировать прибыль.

    Давайте, модифицируем код индикатора ADX таким образом, чтобы раскрасить диаграмму ADX в четыре цвета, которые соответствуют описанным выше четырем торговым сигналам.

    В качестве первого шага изменим свойство indicator_type1 на DRAW_COLOR_LINE.

    Далее увеличим на единицу значение свойства indicator_buffers на значение 7.

    Объявим массив для буфера цвета ExtColorsBuffer.

    И в функции OnInit () свяжем объявленный массив с буфером цвета с помощью функции SetIndexBuffer.

    Тут есть хитрость — индекс буфера цвета должен следовать за индексом буфера значений индикатора.

    Если, например, связать массив ExtColorsBuffer с буфером с индексом 6, тогда индикатор не будет корректно отрисовываться.

    В свойство indicator_color1 добавим цветов.

    И увеличим толщину линии с помощью свойства indicator_width1.

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

    Откомпилируем код и получим индикатор с визуальным отображением сигналов на покупку и продажу:

    В редакторе MQL5 откроем другой индикатор из папки Examples — RSI.

    Данный индикатор имеет два ключевых уровня, которые определяют области перекупленности и перепроданности.

    В коде индикатора эти уровни определены как свойства:

    #property indicator_level1 30

    #property indicator_level2 70

    Давайте улучшим отображение этих уровней, добавив им цвета и стиля.

    Для этого добавим свойства:

    #property indicator_levelcolor Red

    #property indicator_levelstyle STYLE_SOLID

    #property indicator_levelwidth 1

    Теперь индикатор будет выглядеть следующим образом.

    Параметры ввода и переменные индикатора

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

    Например, для индикатора MACD — это периоды скользящих средних и тип применяемой цены.

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

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

    В коде индикатора такие параметры задаются input переменными с модификатором input, который указывается перед типом данных. Как правило, input переменные объявляются сразу после свойств индикатора.

    Например, для индикатора MACD — это периоды для

    экспоненциальной скользящей средней с коротким периодом от цены, экспоненциальной скользящей средней с длинным

    1 2 3 ... 23
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


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

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Лариса Лариса04 июнь 12:43 Да, просто до слез похоже на сериал ,,Даррел,,... Смерть в райском уголке - Эмили Салливан
    2. Stmara Stmara02 июнь 22:44 Приятная история, чтобы скоротать вечер. Любимая книга из последних "Любовь со смертью", также очень понравилась -"Суженная... Сердце космического дракона - Ольга Вадимовна Гусейнова
    3. Alex Alex01 июнь 17:12 💩💩💩🖕🖕🖕🖕🖕🖕🖕... Игровой момент II - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки