Изучаем MQL: Урок №3 — пишем советник на внешнем индикаторе

Приветствую Вас, господа трейдеры!

Мы продолжаем наши уроки по MQL4. И на этот раз мы с Вами напишем советник, который будет использовать сигналы стороннего индикатора на котором разработана торговая система «Победа» и мы с Вами попробуем немного автоматизировать ручной труд.

Домашнее задание

Домашнее задание урок 3 mql

Используя знания, которые Вы приобрели после этого урока прошу Вас переделать советник таким образом, чтобы:

  • закрытие рыночных ордеров происходило не на противоположной границе канала, а на средней линии.
  • Добавить в советник сигналы индикатора «Стохастик» и совместить с сигналами индикатора «ТМА».
  • выше/ниже границ каналов поставить страховочные стоп-ордера на некотором расстоянии от рыночных ордеров, дабы компенсировать убытки при возможных потерях от рыночных ордеров (с обязательной установкой SL, TP).

P.S. Если вы только что к нам присоединились, начните с просмотра предыдущих уроков:

Тема на форуме

С уважением, Сергей aka xbms
TradeLikeaPro.ru

Уроки по MQL , ,
  • Артём

    Отличное видео! Я программист и не возникло сложностей с написанием советника, но пришлось разобраться в синтаксисе, для многих начинающих вызов внешнего индикатора может стать сложностью. Спасибо за отличную помощь начинающим! Думаю многим понадобится IMA и подобные функции, думаю стоит так-же описать и их ведь они подгружаются немного по другому.

  • Nicole White

    Спасибо большое! Отличные уроки!
    Ну и как всегда на высоте фирменная фишечка блога это картинки-заголовки к записям.

  • deniking

    Я где-то читал, что внешние индикаторы используют всего 8 буферов обмена. Так ли это? То есть от 0 до 7… А вообще огромное спасибо за уроки, очень полезны. И вопрос. Я так понимаю, можно любой индюк открыть и найти в нем буфера? Дело в том что кто-то писал, что некоторые не подходят для написания советников, обычно графические, которые не используют буфер.

  • olegwt

    Урок хороший, все понятно. Только советник как-то не корректно работает, посмотрел на графике (кнопка «открыть график» в тестере) не всегда закрывает сделки у верхней или нижней границы канала и иногда закрывает сделки у средней линии канала. Пытался разобраться почему, не смог. Может кто объяснит?

    • Ivashka

      Советник работает корректно. Просто индюк ТМА относится к «перерисовывающимся» индикаторам. Это значит, что на нулевом баре значение ТМА одно (когда проверяется условие на открытие/закрытие сделки), а по мере движения цены он изменяет свои значения уже на истории. Присмотритесь к работе советника в визуальном режиме c нанесенным ТМА на график цены и все поймете.

  • Геннадий

    Здравствуйте.
    У меня
    такой вопросик

    Допустим, я
    пишу советник по индикатору стохастик

    Цена пересекает границу 80 открывается ордер sell

    Стохастик разворачивается,
    доходит ну например до отметки 60 и
    опять развернулся на 80 ,мне надо, чтобы
    еще один ордер открылся на продажу. Я писал все это по вашим урокам, но там
    советник проверяет если уже открыт ордер, то он больше не откроет

  • Геннадий

    Хотя если
    честно то по вашему уроку написать советник с вашим индикатором, то конечно все
    получилось. А вот втюхать индикатор стохастик и что бы по нему открывались
    ордера то конечно еще не доучился и, наверное,
    не пойму как это происходит

    • Сергей

      Тут тоже ничего сложного…
      Получаем значение стохастика:

      double sValue = iStochastic(Symbol(), 0, … /заполняем параметры/
      затем добавляем сравнение sValue с Вашими данными, например :
      if (sValue >= 80) { … }

      • Сергей

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

  • Павел

    Помимо видео не помешал бы исходный код!
    После просмотра видео и написания своего кода, зачастую требуется еще момент уточнить или проверить что-то и каждый раз перематывать видео на нужные моменты кода ОЧЕНЬ неудобно. IMHO

  • Петр

    Жду продолжения, пока что все супер! Спасибо!

  • demol78

    Урок хороший! А что делать если у нас индикатор только в откомпилированном виде и мы не знаем какому буферу обмена относятся те или иные параметры. Например я хотел бы написать советник используя индикатор Ku Klux с этого сайте, который в откомпилированном виде. Пробовал считывать параметры со всех восьми буферов обмена, но какая-то ерунда получается. Не поможете?

  • виктор

    у меня не проходит модификация ордера, наверно потому что она проводится на том же тике?

  • Сергей

    А запишите видео как на стрелочных индикаторах делать советников?

  • Канат

    если передаваемых параметров нет при iCustom, что нужно ставить 0 или просто пропускаем этот параметр?

  • Алексей

    Друзья, подскажите где найти индикатор Тма с кодом, как в уроке? У меня в терминале у этого индикатора совершенно другой код, поэтому очень тяжело сообразить какие данные из него брать. Если не трудно, пришлите индикатор на почту KuzminAlex1985@rambler.ru Заранее спасибо

  • vm55

    Здравствуйте! Писал советник за вами . Два дня ищу ошибку, не нахожу. Вроде всё как у вас.Загружать вас поиском не хочу, не правильно. Где скачать эту версию или в напечатанном виде?
    С уважением ваш ученик. vm55

  • clav

    Здравствуйте.У меня такой вопрос. Как в коде советника прописать изменение с одного цвета на другой (индикатор «HMA Color»). Как только не пробывал ничего не выходит.

  • Валерий

    Добрый день.
    Огромное спасибо автору за проделанную работу!!! У меня вопрос по этому советнику: Как мне прописать в коде, чтобы покупки и продажи совершались не по крайним линиям, а с поправкой, например 10 пунктов. За ранее спасибо за ответ и помощь.

  • vasy519 .

    Прикрутил этот индикатор BBands_Stop_v1, исправил в коде несколько ошибок, открывать стал как нужно) то есть если покупать то покупает) прикрутил к нему Сопровождение позиции простым тралом, осталось выяснить почему он открывает дополнительные не по сигналу), наверное прикручу чтоб открывал только один ордер)

  • Елена

    здравствуйте, подскажите где найти индикатор Тма с кодом, как в уроке? У меня в терминале нет этого индикатора ТМА.mql4. Пожалуйста, если не трудно, пришлите индикатор на почту l-green@yandex.ru Заранее спасибо

  • Алексей

    return value of ‘OrderModify’ should be checked МОЁ ПЕРВОЕ ТВОРЕНИЕ!!!!!.mq4 81 15

  • Алексей

    Здравствуйте! По этому уроку начал писать сов.,как дошёл до момента,когда надо из второго урока копировать кусок,решил сначала скомпилировать. Пишет: return value of ‘OrderModify’ should be checked МОЁ ПЕРВОЕ ТВОРЕНИЕ!!!!!.mq4 81 15
    Подскажите пожалуйсто что делать!!!!!!!!!

  • Алексей

    во, разобрался.

  • Valery Anestiadi

    как закрыть ордер при условии?

  • Kostyan

    Советники использующий значения индикатора TMA тестируется в МТ4 значительно дольше, чем если бы использовать значения с других индикаторов (стандартных, тот же стохастик). Это связано с тем, что в при получении значений ТМА происходит большое количество вычислений?

  • Обновили урок под новые билды

  • Найк Деларук

    Хороший урок.
    Все сделал скомпилировал.
    При тесте возникла проблема.

    Тестер очень медленно тестирует по сравнению с видео.
    Если там сделки совершались одна за одной, то у меня сделка одна в 4 минуты где-то.

    Ноут достаточно хороший.
    Асус i5 1.8, оперативы 6 Гб, Жесткий диск с виндой свободен гигов на 40.
    Но работает медленно по сравнению с видео.

    Настройки те же.
    EURUSD
    15min
    Контрольные точки
    Спред 5
    Без визуал
    Временной период тот же

    В диспетчере задач Метатрейдер жрет 42% ЦП, 138Mb памяти.
    Windows 10 64

    Яндекс молчит. Подскажите пожалуйста, что сделать с тестером. Может там есть еще какие-то скрытые настройки.

    А да.
    В терминале не было котировок за прошлый год. Я подгрузил их через
    сервис — архив котировок, для м5 и м15.

    Вопрос: Какие настройки посоветуете поменять?

  • павел пеньевской

    написал советник — но в нем есть пару ошибок — кто может помочь?

  • павел пеньевской

    помогите пожалуйста разобраться с моим советником.

  • denis_tishkin

    Спасибо за хороший урок. За 15 часов у компьютера, написал советник по 3-м индикаторам. )) Всё работает как часики. Только вопрос. Как увеличить качество моделирования по истории в терминале? У меня 50%, у вас доходит почти до 100%.

  • Влад

    Не программист, так около. Смотрю на Ваши уроки и практически сразу становится понятно — что и для чего. Спасибо. Предложения для рассмотрения: 1-нарисовать на графике линии поддержки сопротивления руками и советник от них открывает ордера на отбой и пробой, 2-нарисовать в советнике кнопки, которые видны на графике (Sell, Buy) и когда виден тренд на графике нажатием этих кнопок задавать направление открытия ордеров.

  • wayvik

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

  • Максим Булатов

    Кто подскажет что за ошибки? CountSell — function not defined и CountBuy — function not defined Как исправить?

    • VMPerm

      CountSell(), CountBuy()

  • Дмитрий Борисович

    написал советник один в один, что то в тестере стратегии льет, дажепо контрольным точкам

  • Дмитрий Борисович

    вроде без ошибок

  • Дмитрий Борисович

    а вообще то за уроки спасибо большое

  • Дмитрий Борисович

    похоже у вас небольшая ошибка индекс 1 это же для средней получаеться линии( буфер 2) получаеться что мы начинаем продавать от средней линии а ни от верхней, если подставить вместо единички-ноль, то результат уже будет получше в тестере (51 строка в коде)

  • Дмитрий Борисович

    PriceHigh

  • Дмитрий Борисович

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

  • Дмитрий Борисович

    что то в этом советнике не то