Простой торговый робот c


Создание простого торгового робота для работы на Форекс

Трейдеры такие же люди, как и все, они хотят получить хороший результат за минимум усилий. Как с его помощью создать готовую автоматическую торговую систему написано уже не раз, начиная от "лайт-версии" MQL5 Wizard для "чайников" и заканчивая "версией от создателей" - Мастер MQL5: Новая версия.

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

простой торговый робот c заработок в интернете комментарии онлайн

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

Самое читаемое

Для того чтобы автоматически создать эксперта с помощью Мастера MQL5, необходимо чтобы его компоненты придерживались пяти базовых классов из раздела Базовые классы экспертов: CExpertBase - некий базовый класс для четырех других классов; CExpert - собственно, сам класс для создания торгового робота, именно он простой торговый робот c торгует; CExpertSignal - класс для создания модуля торговых сигналов, о нем и будет статья; CExpertTrailing - класс для подтягивания защитного Stop Loss; CExpertMoney - класс для реализации управления капиталом.

Но пугаться не нужно, ведь простой торговый робот c наше время почти у каждого есть мобильный телефон с кучей функцией, и практически никто не знает как это работает. Нам не нужно всё это изучать, мы только немного затронем класс Форекс скальпинг эксперты и то несколько его функций.

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

Теперь правой кнопкой мышки жмем на созданную папку, выбираем "New File" и создаем новый класс для нашего будущего модуля торговых сигналов. Заполняем поля: Class Name - имя класса.

простой торговый робот c

Base Name - от кого наследуемся. А наследоваться мы должны от базового класса CExpertSignal. Жмем "Готово" и черновик нашего модуля перед нами. Пока всё идет хорошо. Допишем только в получившийся файл объявление includeчтобы компилятор знал, где ему искать этот самый базовый класс CExpertSignal include ". Ошибок нет и мы можем двигаться. Дескриптор модуля Наш класс абсолютно пустой, не содержит ошибок и мы можем его испытать - попробуем создать в Простой торговый робот c MQL5 новый советник на его основе.

Доходим до шага выбора модуля торговых сигналов и видим Впрочем, откуда ему взяться? Мы же не дали ему никаких опознавательных знаков, чтобы Мастер MQL5 мог понять, что наш класс может быть чем-то полезен.

Как создать торгового робота?

Это дескриптор простой торговый робот c модуля, составленный по простой торговый робот c правилам. И правила эти очень простые. Откроем, например, исходный код модуля торговых сигналов на основе индикатора AMA описание логики в разделе Сигналы индикатора Adaptive Moving Average. И запустим Мастер MQL5, в котором выберем этот модуль. Последний блок в дескрипторе относится к параметрам модуля, первая строчка содержит название модуля, которое будет показываться в Мастере MQL5.

Как видите, ничего сложного. Итак, дескриптор каждого модуля содержит следующие записи: Имя функции для установки значения параметра при запуске эксперта; Тип параметра, может быть перечислением; Значение по умолчанию для параметра, то есть то значение, которое будет установлено параметру, если вы его не измените в Мастере MQL5; Описание параметра, которое вы увидите при запуске эксперта, сгенерированного Мастером MQL5. Теперь, зная что к чему, создадим дескриптор нашего модуля торговых сигналов.

Итак, мы пишем модуль для получения торговых сигналов по пересечению двух скользящих средних. Значит нам нужно задать как минимум четыре внешних параметра: FastPeriod - период быстрой скользящей средней; FastMethod - тип сглаживания быстрой скользящей средней; SlowPeriod - период медленной скользящей средней; SlowMethod - тип сглаживания медленной скользящей средней.

Простой торговый робот c было бы еще добавить смещение и тип цен для расчета каждой скользящей средней, но это принципиально ничего не меняет.

простой торговый робот c 27 cтратегий на форексе

Итак текущий вариант таков: Четыре внешних параметра для настройки торговых сигналов. FastPeriod - период быстрой скользящей средней со значением по умолчанию 13; FastMethod - тип сглаживания быстрой скользящей средней, по умолчанию простое сглаживание; SlowPeriod - период медленной скользящей средней со значением по умолчанию 21; SlowMethod - тип медленной быстрой скользящей средней, по умолчанию простое сглаживание.

Сохраняем изменения и компилируем - ошибок быть не должно! Запускаем для проверки Мастер MQL5 - и, о чудо! Наш модуль стал доступен для выбора и в нем показаны все наши параметры! Поздравляю, наш модуль торговых сигналов выглядит как живой!

Как сделать торгового робота на с

Методы для установки параметров Теперь настала очередь взяться за внешние параметры. Добавим в объявление класса четыре строчки по числу параметров.

Индивидуальное обучение Трейдинг с советником: Вы оказались на странице пошагового руководства по созданию автоматических роботов.

Тип параметра мы уже описали в дескрипторе и знаем: Оказывается, всё очень просто, достаточно в классе объявить одноименные публичные методы, а именно, добавить четыре строчки в раздел public: Отсюда выведем простое правило: Правило создания параметра в модуле - для каждого параметра, что мы объявили в дескрипторе, необходимо создать в классе приватный член для хранения его значения и публичный метод для установки ему значения. Название метода должно совпадать с наименованием параметра.

Создай торгового робота за 6 шагов!

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

Такой прием позволяет избежать многие трудно выявляемые ошибки. Для автоматической инициализации лучше всего подходит конструктор класса, он всегда вызывается первым при создании объекта. Значения по умолчанию мы возьмем те, что прописаны в дескрипторе простой торговый робот c. Простой торговый робот c видите, сами индикаторы скользящих средних нам еще не понадобились.

Советник Metod Puria – простой и надежный торговый робот

Мы выяснили простое правило - сколько у нас параметров заявлено в дескрипторе модуля, столько методов и членов должно быть классе, реализующем данный модуль. Ничего сложного, главное не забыть в конструкторе установить для параметров значения по умолчанию!

  1. Инвестиции в интернет торговлю
  2. Форум влад мих форекс
  3. Заработок онлайн форум

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

Для этого вы должны в классе написать свой метод ValidationSettings. Этот метод определен еще в самом родительском классе CExpertBaseа во всех его потомках просто переопределяется в обязательном порядке.

простой торговый робот c брокеры на московской бирже

Но если вы ничего не знаете об объектно-ориентированном программировании, то просто запомните - в нашем классе нужно написать функцию ValidationSettingsкоторая не требует параметров и возвращает true или false.

ValidationSettings Первым идет тип возвращаемого значения, затем имя класса, потом оператор разрешения контекста:: Не забывайте, что имена и тип параметров должны совпадать в объявлении и описании метода класса. Впрочем, компилятор сообщит вам о такой ошибке.

простой торговый робот c

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

Где же наши индикаторы? Пора заняться индикаторами, вся подготовительная работа с параметрами для них сделана.

В работе используется 4 индикатора:

Каждый модуль торговых сигналов содержит метод InitIndicatorsкоторый будет автоматически вызван при запуске сгенерированного эксперта. Именно в этом методе мы должны обеспечить наш модуль индикаторами скользящих средних.

Как работает торговый робот

Сначала объявляем в классе метод InitIndicators и вставляем его заготовку: Главное, не забудьте при определении функции поставить имя класса и оператор Заготовка есть, теперь в нее необходимо вставить код для создания скользящих средних. Сделаем это правильно - создадим для каждого индикатора отдельную функцию в классе, которая возвращает true в случае успеха. Именно поэтому в качестве параметра передается указатель на переменную типа CIndicatorsпро который в Документации сказано: Класс CIndicators является классом для коллекционирования экземпляров классов таймсерий и технических индикаторов.

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

Торговые роботыФорекс Ниже показан процесс создания простого торгового робота для работы в терминале MetaTrader4. На этом простом примере вы сможете попытаться создать своих торговых роботов для частичной или полной автоматизации торговли на рынке Форекс. Для создания торгового робота мы будем использовать язык программирования MQL4. На самом деле все не так страшно и сделать это сможет даже ребенок, конечно, придется приложить некоторые усилия для изучения основ языка простой торговый робот c, но результат в итоге стоит затраченных усилий.

А так как в коллекции могут храниться только индикаторы вида CIndicator и его потомки, то мы должны этим воспользоваться. И поможет нам в этом CiCustomкоторый как раз и является таким потомком.

Шаблон создаваемого торгового робота

Для каждой скользящей средней объявим в приватной части класса объект типа CiCustom: Вот как это выглядит в простой торговый робот c Затем объявлем структуру MqlParamкоторая разработана специально для хранения параметров пользовательского индикатора, и заполняем её значениями.

В качестве пользовательского индикатора скользящей средней использован Custom Moving Average из стандартной поставки терминала. После заполнения структуры производится инициализация индикатора методом Create всех необходимых параметров: Последним идет указание индикатору количества индикаторных буферов в нем с помощью метода NumBuffers.

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

Создание простого торгового робота | Азбука трейдера

При использовании пользовательских индикаторов в модуле нужно не забывать, что сгенерированный Мастером MQL5 эксперт будет также запускаться и в тестере. Итак, индикаторы мы добавили, обеспечим еще для удобства два метода получения значений скользящих средних: Если вам нужны будут классы для работы с классическими индикаторами из стандартной поставки, то они собраны в разделе " Классы для работы с индикаторами ". Мы готовы приступить простой торговый робот c завершающему этапу.

Определяем методы LongCondition и ShortCondition Ну вот мы у финишной прямой, всё готово для того, чтобы наш модуль начал выдавать торговые сигналы.

кредитные линии брокер

За эту функциональность отвечают два метода, которые обязательно должны быть описаны в каждом потомке класса CExpertSignal: LongCondition - проверяет выполнения условия на покупку и возвращает силу сигнала Long от 0 до ; ShortCondition - проверяет выполнения условия на продажу и возвращает силу сигнала Short от 0 до Если функция возвращает нулевое значение, то это означает, что торговый сигнал отсутствует. Если же условия для сигнала присутствует, то вы можете оценить силу сигнала и вернуть любое значение не превышающее Оценка силы сигнала позволяет строить гибкие торговые системы на основе нескольких модулей и рыночных моделей.

Подробнее об простой торговый робот c написано в статье Мастер MQL5: Так как мы пишем простой модуль торговых сигналов, то можем условиться, что сигналы на покупку и продажу оцениваются в одинаковую силу значением Добавим необходимые методы в объявление класса.

Функция StartIndex возвращает 0, если советник предназначен для работы на всех тиках, и в этом случае анализ начинается с текущего бара. Если советник предназначен для работы по ценам открытия, функция StartIndex возвращает 1 и анализ начинается с последнего сформировавшегося бара.