Язык программирования MQL. Часть 4 – Объявление и инициализация переменных

Обучение
MetaTraderMQL
MQL4

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

Предыдущие мои статьи из рубрики:

 

Объявление — это обозначение переменной в программе, а также присвоение ей определенного типа. 

Инициализация — это присвоение значения переменной. Операция выполняется после объявления типа.

Если не присваивать тип и не произвести инициализации, в коде переменной будет присвоено значение 0. А если переменная строкового типа, то она отобразиться пустой строкой в коде.

Важно заметить, что в коде тип и инициализации переменной происходит один раз в самом начале. Если объявленная переменная и дальше встречается в коде, не обязательно снова указывать её тип. Также при работе робота может быть присвоено новое значение переменной, но название и тип остаются прежними (по аналогии с константами).

Пример указания (объявления) переменной в коде, отдельной строкой:

double Var_3.3;                                // Переменная указана отдельной строкой

 

Тут мы видим, что Var_3.3 это объявление переменной, а double её тип (тип переменных, имеющих дробные части в числах).

Также можно указать группу переменных одного типа, double, datetime и другие, одновременно в одной строке кода. Пример: 

double Var_3.3 , List , Rol                  // Переменные одного типа в одной строке кода

 

В данной строке переменные Var_3.3 , List , Rol имеют один тип данных double и помещены в одну строку кода, следовательно, программа будет их опознавать как переменные, имеющие числа с дробной частью.

Теперь о инициализации переменной в операторе. Пример в коде ниже:

datetime Omega =  D`25.08.2019  10:00:50`;   // Переменная в операторе

 

Такая строка кода будет инициализироватся программой, как переменная типа указания времени с датой 25.08.2019, как написано выше. Достаточно один раз указать тип переменной (datetime) и, далее программа автоматически будет её распознавать.

В ходе исполнения кода программы (работы торгового робота или скрипта) она может изменить значение переменной («25,08,2019»), но тип datetime будет неизменным и запомниться программой для дальнейшей инициализации.

Мы назвали нашу переменную «Omega», но название можно присвоить абсолютно любое – на функционал в коде или назначение типа переменной это никак не повлияет. Технически можно назвать все переменные в программе «Omega», а дополнительную информацию обозначить в комментарии, но при написании более-менее большого кода это может вызвать путаницу.

 

Теперь подробнее рассмотрим операции, описанные выше в коде программы.

В данном примере мы используем несколько переменных типа datetime одновременно (как мы помним это разрешается в MQL):

Язык программирования MQL. Часть 4 - Объявление и инициализация переменных

Если множество переменных указывается в одной строке вместе, то мы разделяем их запятой и знаком “;” заканчиваем строчку.

Язык программирования MQL. Часть 4 - Объявление и инициализация переменных

Как видно из этой картинки, мы в начале указали тип переменной, а потом этого не делали. Программа сама запоминает тип и, в дальнейшем, его распознает. 

Вот так это выглядит в коде и рамках оператора (понятие оператора мы рассмотрим чуть позже):

Язык программирования MQL. Часть 4 - Объявление и инициализация переменных

Мы рассмотрели примеры объявления и инициализации переменных в MQL4.  Спасибо, что дочитали до конца. Буду рад обратной связи в комментариях!

0
Поделиться публикацией

Язык программирования MQL. Часть 3 – Переменные и константы

Обучение
MetaTraderMQL
MQL4

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

Предыдущие мои статьи из рубрики:

 

Переменные

Переменные в математических науках и в MQL имеют примерно одинаковые свойства. Каждой переменной в программе присваивается определенное имя или идентификатор (называть можно как удобно). Имя всегда начинается с какой-либо буквы. При этом язык программирования чувствителен к регистру вводимых знаков, то есть переменная, названная Asoon и asoon, – это разные вещи. Также в значении имени можно использовать слэши и любые цифры.

Примеры имен переменных: BetA, BETA, BeTA (помним про регистр – это все разные переменные), t_54, F87, metaaa13.

Важно заметить, что при объявлении переменной сначала обозначается ее имя, а затем значение.

Например,

BetA = 999 ;

В MQL переменная используется для определенного обозначения, которое программа получает в процессе работы при запросе к переменной. Переменная в программе храниться в отведенной ячейки памяти. Ниже на рисунке схематичное изображение:

Язык программирования MQL. Часть 3 – Переменные и константы

В отличии от константы (о ней ниже), переменная также может быть изменена по требования программы. При обращении к ней программа, не изменяя переменную получает только её значение, например, 313 как на рисунке выше. Рисунок ниже – схематичное изображение запроса к переменной.

Язык программирования MQL. Часть 3 – Переменные и константы

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

Язык программирования MQL. Часть 3 – Переменные и константы

Константы

Константа — это постоянная величина, также имеющая значение и также аналогичное понятию константы в классической математике. В отличии от переменной, константа не изменяется. В физике, например, тоже есть свои константы. Такие как скорость света или масса протона. В математических уравнениях тоже есть константы, например, A=13*B+65 (тут числа 13 и 65 являются константами).

У константы есть только значение, но нет имени, в отличии от переменной. Пример ниже.

Язык программирования MQL. Часть 3 – Переменные и константы

Примеры констант в коде: 49, 3,14, true, ‘’Open”.

Значение ‘’Open’’ это значение логического типа – один из видов данных в MQL, который мы рассмотрели в этой статье.

Константа предназначена для хранения заданного значения и передачи его программе при запросе. Как и переменная, хранится в отдельной ячейке программы. Как постоянная величина имеет свойство не изменяться по запросу программы. Ниже пример запроса значения константы программой (аналогично с переменной, но без имени и изменения):

Язык программирования MQL. Часть 3 – Переменные и константы

Использование переменных и констант в коде

D = 9 ;                                            //   Строка 1

F = D + 4 ;                                       // Строка 2

Как мы разбирали ранее, обозначение // является однострочным комментарием, окончание которого не обозначается, а новый начинается с новой строки.

В данном примере константы – это 7 и 4, а D и F являются переменными.  Давайте более подробно разберем данный пример кода:

Строка 1

  1. Программа получает значение константы 9
  2. Переменная D получает значение 9 от программы

Строка 2

  1. У нас стоит знак =, следовательно, программа начинает действия по вычислению равенства.
  2. Программа получает значение константы 4.
  3. Запрос программы к переменной D.
  4. Переменная D передает свое значение 9 программе.
  5. Вычисление программы (9+4).
  6. Программа дает значение 13 переменной F.

 

Так как значение переменной может меняться, рассмотрим следующий пример в коде:

F = 77;                                           // Строка 3

Тут произойдут такие действия:

  • константа 77 передает свое значение программе, и переменная F получает значение 77.

Эти два примера показывают, как переменная меняет свое значение, но название остается прежним.

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

Язык программирования MQL. Часть 3 – Переменные и константы

 

Мы закончили рассмотрение переменных и констант в MQL. Надеюсь было информативно. Спасибо, что дочитали до конца. Буду рад обратной связи в комментариях!

0
Поделиться публикацией

Язык программирования MQL. Часть 2 – Типы данных

Обучение
MetaTraderMQL
MQL4

В данной статье мы разберем основные типы данных в языке программирования MQL, а также узнаем для чего и как они используются. Постараюсь не углубляться на 100% в программирование и написать более простыми словами 😉

Предыдущие мои статьи из рубрики: 

Итак, в MQL есть следующие основные типа данных:

  • Int- это целые числа (1, 39, 49, 999);
  • double- это числа с изменяемым значением после запятой (0,1  ,  1.30);
  • bool- это логические типа данных (true/falsh);
  • string- строковые типы данных (live expert);
  • color- обозначение цвета (red,green,blue и другие);
  • datetime- обозначение вида дата/время (31.12.1999 24:00).

Разберем подробнее каждый тип данных

 

INT – ЦЕЛЫЕ ЧИСЛА

Для удобства работы в MQL целым числам присвоены следующие значения для деления их по типам и длине:

  • Ulong.
  • Ushort.
  • Long.
  • Short.
  • Uint.
  • Uchar.
  • Char.
  • Int.

В коде торгового робота такие числа показывают сколько свечей загружено на графике инструмента, расстояние в пунктах до ордеров (любых видов и настроек), а также количество открытых позиций. Не может быть открыто 1.5 ордера или загружено 2.5 бара . Именно поэтому для обозначения таких значений используются целые числа.

Как и в математике, такие числа бывают шестнадцатеричных значений, содержат латинские буквы и целые числа 0-9, в начале такого числа всегда стоит 0х или же 0Х.

Например, 0x5GH43, 0Xtu658, 0xAAA01.

И пример более знакомых всем десятичных чисел: 1.5, 11, -500, 5678, 5 и другие.

 

DOUBLE – ЦЕЛЫЕ ЧИСЛА С ДРОБНОЙ ЧАСТЬЮ

В этих числах к целому прибавляться дробная часть, имеющая дополнительное значение. Например, количество открытых сделок или установленных ордеров. Если робот открыл за неделю (5 торговых дней) 23 сделок, то мы берем F, как переменную, равную 23 (количество сделок) и деленную на 5 (торговых дней). В итоге, мы получаем значение double 4.6.  Если же выходит целое число, например, F=40 сделок / 10 торговых дней, то значение double равно 4. Но все равно это считается числом с нулями после запятой, равное 4.00000 (главное в коде обозначить точку после целого числа). Максимальное количество цифр, следующее за точкой, равно 15, например, 23,56895647582519.

Пример double в коде:

double Sin      = 100.32               // переменная double

double  A_84    = -0.5                 // переменная double

double EUR      = 10.6565484           // переменная double

 

BOOL – показатель логического типа (true/false)

Данный показатель имеет свойства правда/ложь или в 0/1, соответственно.  То есть bool в программе – это ответ вида true/false, который используется для выключения/включения торгового робота или его отдельных функций (открытие/закрытие ордеров, установка ордеров, аудио и визуальные сигналы и прочие). Пример в коде выключения функции программы:

bool Trading_Disable=1; // Выключение

Вместо 1 можно использовать обозначение true .

 

STRING – строковые типы данных

Данный тип данных позволяет добавить заметку или другие данные в виде символов или цифр к переменной. Выделяется такая строка в коде двойными кавычками:

string s="Пример” ; // Переменная типа string со значением Пример

При этом, максимальная длина составляет 255 символом, а в случае превышения длины программа сама «обрежет» лишние символы и выдаст предупреждение. Также переменной этого типа данных можно дать имя:

string Prefix = “Пример”; // Переменная Prefix типа string в коде

 

COLOR – ЦВЕТ

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

В коде красный цвет , например, выглядит вот так:

color Red      =   0xFF3300;             // Красный цвет

Или:

color Red      = Red ;                   //  Красный цвет

Язык программирования MQL. Часть 2 - Типы данных Язык программирования MQL. Часть 2 - Типы данных

 

DATETIME – ОБОЗНАЧЕНИЕ ДАТЫ И ВРЕМЕНИ

Из названия понятно, что обозначает данный тип данных. Как правило, даты отображают в формате YYYY.MM.DD, то есть год/месяц/день.

Например, 2019.08.28.

Или в виде DD.MM.YYY, то есть день/месяц/год.

Например, 28.08.2019.

Чтобы переменная получила вид DATETIME ставим в начале объявления переменной datetime. При этом, нам доступно обозначение любого момента времени с 1 января 1970 года по 31 декабря 2037 года. Начинается обозначение с символа (D`) с одинарной кавычкой. Дату не всегда обязательно писать полностью, можно обозначить год и число без времени или нулевое время. Посмотрим, как это выглядит в коде:

datetime Omega   =   D`25.08.2019   10:00:50`;        // Воскресенье

datetime Omega2  =   D`2019.08.25   10:00:50`;        // Воскресенье

 

 

Мы закончили рассмотрение основных типов данных в MQL. Надеюсь было информативно. Спасибо, что дочитали до конца. Буду рад обратной связи в комментариях.

0
Поделиться публикацией

Язык программирования MQL . Часть I

Обучение
MetaTraderMQLРоботы
MQL4

В данной статье мы продолжим рассматривать язык программирования MQL4 и подробнее разберем некоторые понятие из него. Вводная часть 👉 ссыль.

Сегодня мы разберем:

  • Чем отличаются программные средства от встроенных, какие бывают и для чего они нужны в терминале MetaTrader.
  • Понятие тик, комментарий и управление в MQL.

 

Встроенные средства в терминале МТ

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

Язык программирования MQL

Программные средства в терминале МТ

Кроме ручного и полуавтоматического режима МТ позволяет вести полностью автоматическое или удаленное (на арендованном сервере) управление торговлей и таким же способом проводить анализ рынка.  Есть несколько основных видов торговых программ в MQL: Эксперт, скрипт и пользовательский индикатор (их мы подробнее уже рассматривали в вводной статье по MQL).

Одной из особенностей МТ является возможность запуска нескольких роботов одновременно и возможность их настройки во взаимодействии друг с другом.  Так же важно знать, что любой робот или скрипт, установленный в программную часть терминала, работает непосредственно на его базе и не автономен (то есть если выключить терминал или компьютер, или убрать соединение с интернетом и сервером брокера то программа прекратит выполнять свои функции). Робот лишь отправляет приказы на сервер дилинга. 

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

 

Основные понятия в MQL4

Комментарий

Комментарий может быть как частью самой программы, так и выполнять функция заметки/пояснения. Технически программа может обходиться без него (на качество работы это никак не влияет). Комментарии бывают:

  • Однострочные. Такой вид комментария должен начинаться с символов (//) и заканчивается переносом на новою строку.
  • Многострочный. Такой вид комментария начинается с символа (/*), а заканчивается символом (*/).

Язык программирования MQL

Тик

Тик – это любое изменение цены по инструменту в определенный момент времени. На мажорах (волатильных инструментах) тики могут поступать каждую секунду, а на менее волатильных – реже. Есть вид программ, работающий именно на тиках. Это эксперты (советники). Если инструмент маловолатильный и новых тиков не приходит, то программа будет бездействовать. При поступлении тика программе требуется десятые доли секунды, чтобы принять решение о сделке или же вывести информацию трейдеру (как это происходит со стороны кода мы разберем в следующих статьях). То есть тик в этом случае является триггером для выполнения программы.

Управление

Под управлением в MQL мы подразумеваем последовательную работу торгового робота с клиентской частью МТ. Это может быть как и взаимодействие отдельных строк кода, так и отдельных программ, объединённых в один программный комплекс.  То есть по умолчанию торговля идет на ручном режиме, но, в случае запущенной программы, функции (заложенные в коде робота) исполняются на автомате. 

Мы рассмотрим управление непосредственно внутри торгового робота. На картинке ниже пример передачи функций внутри программы. Круги это полноценные (выполняющие хотя бы маленькую, но независимую функцию) части кода. А стрелками обозначена последовательность запуска (исполнения своей функции) между этими частями.

Язык программирования MQL

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

 

На этом все. В следующей статье мы подробно изучим виды данных в MQL.  До встречи в новых статьях.

0
Поделиться публикацией

Язык программирования MQL (вводная статья)

Обучение
MetaTraderMQLРоботы
MQL4

Ранее мы рассматривали основные виды торговых роботов. Рассмотрим язык MQL4. Для чего он может понадобиться, какие виды торговых роботов, скриптов можно на нем написать и как это сделать в терминале MetaTrader?

Язык программирования MetaQuotes Language 4 создан фирмой MetaQuotes Software Corp и по умолчанию уже установлен в терминале МетаТрейдер. Он позволяет писать различные торговые роботы и скрипты для всех видов торговых площадок, поддерживающих МТ. На нем можно написать программу-эксперт, поддерживающую полностью автоматическую торговлю или же простой скрипт для выполнения более простых действий.

Перейдем к тому, как приступить к написанию робота, скрипта или же индикатора собственной разработки:

  • Выбираем вкладку Сервис/Редактор MetaQuotes Language

Язык программирования MQL (вводная статья)

  • Вызываем «горячей клавишей» F4.
  • Нажимаем на значок в панели инструментов.

Язык программирования MQL (вводная статья)

  • Через ярлык на рабочем столе или в папке (при установке MetaTrader у вас должен появиться вот такой ярлык в выбранной папке или же на рабочем столе, по умолчанию).

Язык программирования MQL (вводная статья)

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

Язык программирования MQL (вводная статья) Язык программирования MQL (вводная статья)

Для начала создания новой программы заходим в раздел Файл/Создать новый файл и видим вот такое окно:

Язык программирования MQL (вводная статья)

Разберем основные виды программ:

  • Советник (шаблон) – это торговый робот, закрепленный за конкретным графиком. Данный вид программы начинает запуск при новом тике по заданному инструменту. Советник можно настроить как на полностью автоматическую торговлю без участия трейдера (при наличии сервера даже 24/7) или же как информационного помощника для совета по открытию сделок. Также его можно протестировать на прошлых (исторических) данных. Это позволяет посмотреть, какие и когда сделки открывались бы советником,  используя прошлые данные по рынку. Находится советник в директории каталог_терминал\experts.
  • Пользовательский индикатор: этот раздел предназначен для самостоятельного написания индикаторов любых видов, которыми можно дополнить встроенные. Как и встроенные индикаторы (тот же RSI), написанные собственноручно не совершают сделок в автоматическом режиме и лишь показывают выход за пределы заданных значений. Сохраняются в директории каталог_терминал\indicators . Там же лежат и другие встроенные индикаторы.
  • Скрипт – данный вид программы, в отличии от пользовательского индикатора, может выполнять и торговые действия в сочетании с аналитическими и, как правило, предназначен для одного действия, исполненного по команде пользователя. И если советник работает, пока включен, скрипт, в отличии от него, после завершения функции (это может быть и построение фигуры технического анализа, и открытие закрытия определенной сделки или же установка одного или нескольких ордеров) прекращает свою работу. Находятся скрипты в директории каталог_терминал\experts\ scripts.
  • Библиотека – этот раздел хорошо поможет тем, кто еще не совсем хорошо знаком с программированием. В сети можно скачать уже готовые библиотеки (с базовыми функциями) и добавить их в советник. Это значительно упрощает разработку и написание робота. Также можно создать базовый блок и залить туда повторяющиеся данные, чтобы не проделывать эти операции в обычном блокноте, а уже сразу делать копию из библиотеки. Еще они используются для защиты от кражи написанных вами роботов и автоматических торговых систем. Обычно при покупке (на стороне) торгового робота его невозможно запустить без специального файла библиотеки (тут следует быть осторожным, так как мошенники могут продать вам демо-версию робота за полную стоимость) Библиотеки находятся в директории каталог_терминал\experts\libraries.
  • Включаемый файл – этот раздел чем-то похож на библиотеки (в том числе схож по функционалу), также хранит в себе часто используемые части программ. Но данный вид файла удобнее использовать в разработке, так как его проще вызвать, чем отдельную библиотеку. Находятся файлы этого типа в директории каталог_терминал\experts\include

 

Мы рассмотрели редактор программирования в Мета трейдере и основные виды программ, создаваемые им. Спасибо, что дочитали до конца, буду рад обратной связи в комментариях.

0
Поделиться публикацией

Основные виды торговых роботов

Разное
MetaTraderMQLРоботыТорговые стратегии
Основные виды торговых роботов

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

 

Скальпинг-роботы

Обычно наиболее часто выбираемые, среди остальных. Это высокочастотный робот, который торгует по стратегии «Скальпинг»  и делающий несколько десятков или даже сотен сделок в день, все зависит от вашей настройки алгоритма. Данный вид трейдеры выбирают за возможность большого автоматического количества исполнения сделок. Руками сделать это не под силу. Как правило, такой робот имеет маленький тейк-профит и маленький стоп-лосс, а зарабатывает за счет количества позиций. Обычный используемый таймфрем – 5/30 минут.

 

Флэтовые роботы

Это не совсем автоматический вид роботов, так как они работают в боковике (флэте), а коридор выбирается трейдером вручную. Данный вид роботов работает в определенном ценовом коридоре, определяемом индикаторами класса осцилляторы. Как и скальпинг роботы обычно имеют короткие тейк и стоп ордера. И таймфрем от 10 минут до часа.Тренд-роботы.Уже более долгосрочный вид роботов. Основой открытия сделок является определение тренда (обычно при помощи индикаторов типа SMA, SMMA, EMA, LWMA) и другие индикаторы, помогающие в определении более среднесрочного направления цены. Размер ордеров уже более длинный, чем у предыдущих видов, и позиция может держаться открытой до нескольких недель. Еще один подвид – контр-трендовые роботы, это роботы, торгующие против тренда или же на откатах цен, в какой-то мере разновидность свинг-трейдинга. Таймфрем уже от часа/трех и до недели.

 

Мультивалютные роботы

Наиболее сложный в настройке и дорогой вид роботов. Как правило, один советник отслеживает несколько взаимосвязанных валют или валютных пар и либо открывает одинаковые позиции по парам, имеющим прямую корреляцию, либо же хеджируют позиции, открывая позиции по парам, имеющим обратную корреляцию (подробнее об этом написано в статье «Арбитраж на Форекс или корреляция валютных пар»).

 

Мартингейл-роботы или усредняющие

Данный вид роботов торгуют по стратегии Мартингейла. Робот доливает объем в позицию, если цена пошла против вас и так пока вы не выйдете в плюс или не «убьете» депозит в ноль, по сути это автоматизированный вид стратегии мартингейла на форекс. И самый высокорискованный вид роботов, крайне не рекомендую использовать их на основном реальном счете. Хотя ради интереса можно поставить на счет в 10/20 долларов и посмотреть, что выйдет.

 

Арбитражные роботы

Самый неоднозначный вид среди остальных. Система такого робота следит за котировками сразу нескольких банков/брокеров и ищет ценовые разрывы, для открытия позиций и заработка на разнице котировок у разных поставщиков. Вручную отследить это достаточно сложно. Данный вид робота не использует индикаторы или же технический анализ, а лишь различия в ценах. Но нужно быть внимательным, так как, во-первых, данный вид торговли запрещен в регламентах операций многими брокерами, а, во-вторых, в интернете полно мошенников, предлагающих купить таких «суперзарабатывающих» роботов, хотя по факту это какое-то подобие вилок на спортивных ставках.

 

Новостные роботы

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

 

Безиндикаторные и индикаторные роботы

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

Индикаторные роботы обычно, напротив, используют технические показатели трендовых индикаторов вроде следующих:

Позиции открываются, когда индикатор показывает заранее заданное значение.

 

Параметры торговли робота

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

  • Trade – параметр включения/выключения робота.
  • Lot/lot size – данный параметр задает лот, открываемый роботом.
  • Risk – размер допустимой просадки для открываемой позиции.
  • Magic Number – определенный номер для каждой позиции, чтобы робот не путал свои автоматические позиции с вашими, открытыми вручную.
  • GMTOffset – параметр, отличающий ваше местное время от GMT (лондонского).
  • Slippage – параметр, указывающий разрешенное проскальзывание (достаточно важен в периоды выхода новостей).
  • Dynamic Lot – позволяет увеличивать позицию вместе с увеличением счета после успешных сделок.
0
Поделиться публикацией

АРБИТРАЖ СКАНЕР 6.0 🤖 Высокая доходность. Разумные риски

Разное
MQLРоботыТорговые стратегииФорексФорекс брокеры
АРБИТРАЖ СКАНЕР 6.0. Высокая доходность. Разумные риски

В продолжение статьи про корреляцию валютных пар на Форекс, как и обещали расскажем и даже предоставим 😱 в использование ⚡ торгового робота «АРБИТРАЖ СКАНЕР 6.0» (далее по тексту – робот).

 

Напоминаем, корреляция бывает прямой и обратной.

Прямая –  цены изменяются примерно одинаково, т.е. ходят в «унисон»: 

SP500&NASDAQ

Обратная – когда цены изменяются (ходят) «зеркально»:

EURUSD&USDCHF

 

Как работает робот

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

Существуют такие понятия как «раздвижка» и «схождение». Поскольку цены ходят вместе не со 100% точностью, они время от времени сходятся или раздвигаются ввиду тех или иных факторов, влияющих на цену. Давайте посмотрим, как это выглядит на рисунке.

Раздвижка и схождение

На участке под номером 1 цены движутся в унисон. 

На участке 2 происходит раздвижка и робот открывает две разнонаправленные сделки, после чего на участке 3 цены начали сходится , а на участке 4 робот закрыл сделки по указанному профиту.

 

Вот как это выглядит на графиках инструментов:

АРБИТРАЖ СКАНЕР 6.0. Высокая доходность. Разумные риски

 

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

Сам робот не требует никаких дополнительных настроек и оптимизаций, как говорится, «поставил и забыл» 🙂

Торговая платформа на которой торгует робот: MetaTrader4.

 

Защита позиций от убытков

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

Защита от убытков осуществляется посредством денежного стопа и временного стопа:

  • Денежный стоп срабатывает при достижении позицией определенного убытка в деньгах. Именно в деньгах, а не в пунктах.
  • Временной стоп – это функция которая закрывает позицию через определенное количество времени, например, через 24ч, если позиция не вышла в плюс. Тогда робот закроет ее независимо от результата. Временной стоп можно выставить в широких пределах, от 1 минуты до бесконечности.

Еще два очень важных момента:

  1. В торговом роботе не используется стратегия «Мартингейл».
  2. Не используются ордера Stop Loss.

Первый случай исключает возможность получения маржин кола или закрытия сделок по стоп ауту (SO – stop out). А второй случай исключает возможность манипуляций со счетом или с позициями со стороны брокера, таких как сбивание стопов или проскальзываний. 

Робот осуществляет поиск «раздвижек» одновременно на 4-х ТФ (таймфреймах), а именно на 5m, 15m, 1h, 4h.

 

Доходности и возможности 🚀

1️⃣ При высоких рисках годовая доходность может достигать 200%, а допустимая просадка – не более 30%.  

Агрессивный режим

2️⃣ При средних рисках годовая доходность может достигать 100%, а допустимая просадка – не более 15%.

Сбалансированный режим

3️⃣ При малых рисках годовая доходность может достигать 70%, а допустимая просадка – не боле 7%. Вот

Консервативный режим

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

Мы постарались предоставить в этой статей максимум полезной выжимки по нашему роботу-арбитражеру. Кому интересно, можете посмотреть видео-презентацию: 

 

Как получить робота в использование? 

Робот в настоящий момент был протестирован и показал хорошие результаты торговли у следующих Форекс-брокеров: 

По мере успешных тестов у других брокеров список будет расширяться. 

 

Так как же получить робота? Все очень просто 🤷‍♂️

1️⃣  Регистрируетесь по одной из ссылок выше (ссылки с реф параметром 😬);

2️⃣  Открываете счет, на котором будет торговать робот (лучше открывать ECN-счета, так как на них более качественное исполнение и уже спреды);

3️⃣  Сообщаете номер зарегистрированного личного кабинета, номер торгового счета и пароль инвестора открытого счета по email robots@forex.blog или в Telegram @my_forex_blog (пароль инвестора нужен для корректной настройки робота. После установки робота в терминал можете его поменять).

Далее мы пришлем Вам файл робота, а также видео и pdf-инструкцию для установки.  

Важный момент!  Робот будет работать только на счете, который вы пришлете в пункте 3.

 

На этом все! Спасибо за внимание и побольше профитов! Если есть вопросы, задавайте в комментариях.

0
Поделиться публикацией

Прибыльный робот. Миф или реальность?

Разное
MQLЛайфхакПросто о сложномРоботыФорекс
Автоматическая торговля

В поисках ответов на вечный вопрос «как стабильно зарабатывать на финансовом рынке?», прогресс зашел далеко вперед. Что еще несколько десятков лет казалось не возможным, теперь воспринимается нами как некое обыденное. Речь пойдет о торговых роботах и автоматической торговле.

Я думаю, каждый, кто так или иначе сталкивался с торговлей на бирже, не раз натыкался на различных советников, которые обещают нам доходность чуть ли не в 300% за месяц. Во всемирной паутине гуляют бесчисленное количество роботов! И каждый уверяет нас, что это уникальная разработка и больше таких не найдете! Но так ли это? Единственное решение проверить – это получить полный доступ к нему. Если вам на почту приходило подобное письмо по торговому роботу, то вы наверняка могли заметить , что дают их бесплатно, при условии регистрации счета у определенного брокера по их реферальной ссылке (партнерка).  После того, как вы зарегистрируетесь по их реферальной ссылке, пополните счет на определенную сумму ( часто предлагают от 100 до 500)  и вы получаете робота с инструкцией. Часто приходилось видеть, что они рекомендуют, не понижать лотность ( там уже стоит лот 0,5),  мол робот не будет работать и прибыль уже не будет 300%. Но люди, кто знает что такое мани-менеджмент, понимают, что это очень большой лот для такого депозита. Их рекомендации понятны – с таким лотом они получат больше комиссии от брокера, совершенно не волнуясь, что счет рано или поздно будет слит.

Принципы торговли роботом

Не обязательно знать, как именно пишется робот, для этого есть специальные программисты, которые напишут алгоритм. Но обязательно нужно знать принцип работы робота! По моему мнению, большая часть роботов торгуется по принципу Мартингейла. Данный принцип или стратегия широко распространена на тотализаторе (беттинг или ставки на спорт), когда в случае проигрыша первой ставки,  повышается сумма на последующие. Например, идет хоккейный матч Салават Юлаев – Спартак . На победу Салавата дают коэффициент  1,8. Ставим на победу 500р. Салават проиграл, а мы потеряли свои деньги. Следующий матч. Салават Юлаев играет с Ак Барсом. На победу СЮ дают коэффициент 2, мы ставим уже 1000 р. СЮ побеждает , мы забираем 2000р, при этом отыграв прошлый минус в 500. В торговом роботе принцип похожий. В настройках робота можно прописать, во сколько раз будет увеличиваться каждый следующий лот.

Прибыльный робот. Миф или реальность?

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

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

И еще, очень большое влияние от таймфрейма графика, на котором торгует робот. Обычно, робота ставят на М5.

Робот будет зарабатывать только в том случае, когда у нас направление рынка периодически сменяется. То есть, цена зажата в коридор. В чем же минусы такого подхода? Если у нас долгое время цена будет идти в одном направлении, робот будет набирать позиции и может элементарно не хватить депозита, чтобы выдержать просадку. В таких случаях рекомендуется отключать робота при достижении просадки в 10% от депозита и, как только будет закрыта сетка, можно включать робота. Для робота, как вы поняли, нужен хороший депозит. В идеале от 10 000 долларов, поэтому если вам предлагают поставить на меньший депозит, то стоит задуматься.

Стартовый лот лучше поставить минимальный. Робота удобней поставить на VPS сервер и установить приложение на телефон RDClient. С этого приложения можно управлять роботом с телефона. Аренда VPS в среднем стоит 1300р на 3 месяца. Поэтому, прежде чем поставить робота на свой депозит, нужно обязательно понимать, по какому алгоритму он торгует. Чтобы в случае экстренной ситуации, вы понимали, как вам действовать для избежания «слива» депозита!

Какие можно выделить преимущества робота

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

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

0
Поделиться публикацией

Автоматизированная торговля

Разное
MetaTraderMQLРоботыФорекс
форекс советник

Современные технологии позволяют участникам рынка Форекс автоматизировать свои торговые системы.
Автоматизированная торговля – торговля с помощью программ-советников (экспертов), которые установлены на торговую платформу.

Торговые советники Форекс могут как упрощать трейдинг частично, так и выполнять все необходимые торговые операции полностью.

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

Еще одно преимущество советников – они влияют на психологию трейдера. Одна из самых сложных психологически задач – дисциплинированная торговля и твердое следование намеченному торговому плану. Не всем трейдерам под силу входить на рынок точно по сигналу и так же выходить с рынка. Эту проблему решает советник для mt4 , который четко следует заданному алгоритму и никогда не нарушает торговый план трейдера.

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

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

На настройку прибыльного советника Форекс уходит много времени. В первую очередь, трейдерам приходится разрабатывать свой прибыльный торговый алгоритм, что удается лишь немногим. Хорошая торговая стратегия – это результат тяжелой работы, потерь и выигрышей. Только обладая такой ТС, которая показала стабильность в течение нескольких лет работы, можно думать об автоматизации. И наоборот, автоматизировать торговую систему можно для того, чтобы протестировать ее, не тратя на это годы.

Превращение торговой системы в программное обеспечение – это работа программистов. Сейчас среди трейдеров популярен язык MQL, так как на нем создаются советники и индикаторы для терминала МетаТрейдер 4. Торговый робот Форекс не всегда может полноценно воплотить торговую систему, потому что зачастую трейдеры Форекс получают немного субъективные торговые сигналы, работая вручную.

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

Даже если советник способен зарабатывать деньги самостоятельно, за ним нужно регулярно следить и дорабатывать его, подправляя настройки. При выключенном компьютере советник для mt4 работать не будет (исключение составляют роботы, которые находятся на виртуальном сервере), поэтому, выключая компьютер, надо убедиться в том, что советник не превысил допустимый риск.

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

0
Поделиться публикацией