Что ж, попробуем проверить как себя покажет советник по этой тривиальной торговой системе. Так как этот урок по созданию советника mql4 является вторым по счету, то особо мудрить с торговой системой мы не будем и обратимся к классике. Советник циклом перебирает все открытые ордера, чтобы провести их подсчет, а также модифицировать те ордера, у которых по какой-либо причине нет выставленных целей.
1 Библиотека для расчета мани менеджмента советников
В прошлом примере советника мы не учти возможность того, что сервер нам может не позволить модифицировать уже открытый ордер по какой-либо внутренней ошибке. Перебор идет только по рыночным ордерам (выделяется по MODE_TRADES), начиная от максимального количества открытых ордеров OrdersTotal() в сторону уменьшения. Из новых переменных у нас появится bool переключатель для закрытия существующего ордера при появлении противоположного сигнала индикатора, а также настройки скользящей средней. После того, как все вышеуказанные данные будут внесены в программу, необходимо установить фильтры, по которым будет определена степень эффективности отбираемых стратегий.
Из него понравившиеся помощники могут быть отправлены в «Реестр стратегий», после чего появится возможность снова выставить условия для новых фильтров отбора и протестировать их на реальных исторических значениях. В данном случае этот цикл нам нужно только как дополнительная мера на случай, если с первого раза у советника не получится закрыть рыночный ордер. Если все эти условия соблюдены, запускается второй цикл из трех попыток на закрытие ордера. Получение данных индикатора и проверка условий для входа в рынок будут происходить один раз в момент открытия новой свечи. Поэтому в этой версии советника мы вводим проверку на наличие целей у ордеров каждый тик.
Те, кто уже давно занимается торговлей на Форекс, точно знает, что Демо счет – это инструмент, которым стоит пользоваться очень осторожно. При этом на любом этапе можно сгенерировать и сохранить готового помощника в формате mql4 одним нажатием клавиши. В них можно включить соотношение прибыли и убытка, ограничения по количеству сделок, размеру допустимой просадки и другие показатели. После этого необходимо выбрать один из доступных таймфреймов – StrategyQuant поддерживает варианты от M1 до W1. Как правило, помощники в этом терминале создаются для работы на валютном рынке, поэтому следующим шагом становится выбор желаемой валютной пары.
- Импорт данных индикатора выполняется с помощью всего одной функции.
- Получение данных индикатора и проверка условий для входа в рынок будут происходить один раз в момент открытия новой свечи.
- Хорошая новость в том, что вам нет необходимости их все хранить в голове.
- Эти значения будут импортироваться в отдельные переменные.
Множество трейдеров, торгующих на финансовом рынке, хотя бы раз в жизни задумывались о том, что было бы неплохо иметь собственную программу-советника, которая бы помогала получать стабильную прибыль. Есть необходимость написать или доработать советник, скрипт или индикатор для торговой платформы MT4 или MT5? Во-первых, данный тест шел четыре года, а сделок всего 118, что очень мало. Также нужно посмотреть, как ведет себя функция принудительного закрытия противоположного ордера в журнале. Не получилось — советник делает паузу в 3 секунды и обновляет данные в предопределенных переменных и массивах-таймсериях, далее пробудет закрыться снова.
4 Импорт данный стороннего индикатора в советник iCustom
- Соответственно на первом тике ордер открывается, а на втором уже модифицируется.
- В данном случае этот цикл нам нужно только как дополнительная мера на случай, если с первого раза у советника не получится закрыть рыночный ордер.
- Выбор таймфрейма для торговли – одна из проблем, с которой на начальном этапе сталкивается каждый трейдер.
- Плюс при наступлении флета она дает очень большое количество ложных сигналов.
- Эта программа предназначена для того, чтобы дать возможность трейдерам, незнакомым с языком программирования MQL4, создавать собственных торговых помощников для терминала MetaTrader 4.
Это размер торгового лота, проскальзывание, СЛ, ТП, комментарий и магик номер. Начнем с включения библиотеки ошибок и объявления внешних переменных, необходимых для открытия ордеров. Плюс при наступлении флета она дает очень большое количество ложных сигналов.
На каком таймфрейме лучше всего торговать
В этот раздел входят значения различных индикаторов (RSI, Stochastic, MACD или любых других), классические графические паттерны, время и другие условия работы. После выделения ордера идет стандартная проверка на то, чтобы он был рыночным, его символ совпадал с текущим, как и магик номер соответствовал магику вашего советника. Именно так – на основании входных данных StrategyQuant сгенерирует большое количество вариантов помощников, которые после создания пройдут через фильтр эффективности, установленный трейдером. Функцию для открытия ордера мы рассматривали на прошлом уроке, поэтому останавливаться на ней подробно нет смысла. Представленная последовательность действий схематически показывает процесс работы кода будущего советника.
Магики должны совпадать друг с другом и тип ордера должен быть противоположный тому, что был только что открыт. Функция для поиска и закрытия противоположного ордера представляет собой простой цикл по всем рыночным ордерам. Теперь нам остается создать две пользовательские функции вне OnTick() для открытия текущего и закрытия противоположного ордера, а именно OpenTrade() и CloseTrade().
В этом случае советник их просто восстановит, ибо нечего лезть руками в настроенную программу. Соответственно на первом тике ордер открывается, а на втором уже модифицируется. В таком случае этот ордер останется болтаться в рынке без ТП и СЛ, пока вы этого не заметите сами. Чтобы не возвращаться потом к этому циклу, мы сразу же добавим в него проверку на наличие целей у ордеров и последующую модификацию при их отсутствии. Подсчет нужен, чтобы не открыть второй ордер в таком же направлении, когда первый еще в рынке. Для МА нам важно знать ее период, а также тип сглаживания.
Открытие ордера по показаниям индикатора
На этом уроке мы продолжим изучать теорию создания торговых советников.
📋 Системные требования для работы с торговыми роботами
Также программа позволяет включать в помощника нестандартные индикаторы, в том числе созданные самостоятельно, если они написаны на языке MQL4. как написать советник для mt4 Для начала необходимо выбрать основные правила, по которым будет функционировать будущий помощник. Серьёзным положительным моментом является возможность сразу же протестировать полученную стратегию на исторических данных, что позволяет предварительно определять её жизнеспособность перед переносом на реальный счёт. Эта программа предназначена для того, чтобы дать возможность трейдерам, незнакомым с языком программирования MQL4, создавать собственных торговых помощников для терминала MetaTrader 4. Однако для большинства трейдеров это так и оставалось мечтой, поскольку для самостоятельного создания таких алгоритмов необходимо владеть навыками программирования, а работа сторонних исполнителей стоит достаточно дорого. Для отправки комментария вам необходимо авторизоваться.
KopirMT4 и KopirMT5 – копировщики сделок для МТ4 и МТ5
Если он успешно выставлен, то происходит проверка параметра CloseOppositeOrder — разрешение закрывать ордер в противоположном направлении после открытия текущего. Мы получили два значения по быстрой МАшке и два по медленной на и свечах. Просто прописываете ее название в коде и нажимаете клавишу F1. Хорошая новость в том, что вам нет необходимости их все хранить в голове. Для получения данных МА на свече мы создадим переменную дробного типа (поскольку значение МА хранятся в цене) и воспользуемся функцией iMA.
Для этого поставим советник на быструю оптимизации с генетическим алгоритмом по Профит Фактору. Мы видим, что он вначале открывает, а потом модифицирует ордер. Комментарии дадут лучше понять то, что делает советник.
Telega.in выходит в МАХ: что это значит для рекламодателей?
Если вы спрашиваете себя, зачем вначале модифицировать ордера, а уже после только отрывать, то тут все логично. Если у ордера нет ТП или СЛ, то идет его расчет в зависимости от внешних значений и происходит модификация с последующим принтом об успешности операции. Соответственно, переменная cnt_b будет хранить в себе актуальное количество открытых ордеров на покупку, а cnt_s на продажу. Сначала мы активируем цикл for, который будет подсчитывать и модифицировать уже открытые ордера.
9 Создаем информационную панель с сигналами индикаторов на вход. Графические объекты OBJ_RECTANGLE_LABEL, OBJ_LABEL
Установите любой индикатор на график и если он содержит в себе буфер данных, то они отобразятся в этом окне. Значения индикатора на каждой свече графика можно посмотреть в «Окне Данных», которое открывается сочетанием клавиш Ctrl+D. Эти значения будут импортироваться в отдельные переменные. Для того, чтобы определить пересечение двух линий индикаторов МА, нам нужно знать их данные в момент закрытия последней свечи, а также предыдущей свечи. Как только откроется новая свеча, время станет различным и запустится условие проверки с перезаписью значения этой переменной. Переходим к извлечению показаний из индикатора МА.
Если условие соблюдено, то активируется функция открытия рыночного ордера. То есть для получения данных индикатора ATR есть функция iATR, для Cтохастика это iStochastic, ну и для скользящей средней соответственно iMA. Название функций для работы с техническими индикаторами начинаются на букву i. Притом для классических индикаторов в редакторе Meta Editor уже предусмотрено порядка 37 функций для удобства импорта их данных. Импорт данных индикатора выполняется с помощью всего одной функции. Соответственно нам нет никакого смысла каждый тик узнавать значение скользящих средних и тормозить тем самым работу советника.