Советник Moving Average – простой, но эффективный робот

Содержание

Советник Moving Average – простой, но эффективный робот

Женский Форекс

sovetnik-moving-average

Многие новички на рынке Форекс начинают торговлю с советника Moving Average. Как видно из названия этот торговый робот работает на основе скользящей средней, которая, как известно, немного запаздывает. В ходе тестирования я заметила, что робот постепенно сливает депозит. Советник Moving Average лучше всего подходит для использования во время тренда, а вот во время флета на рынке он начинает создавать неудачные сделки, что негативно отражается на общей доходности.

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

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

Советник на основе 2 скользящих средних

Sovetnic 2MA – это робот, который работает на основе двух экспоненциальных скользящих средних. Этот робот отличается простым принципом работы: ордера создаются в момент пересечения скользящих средних. Закрытие позиций выполняется по Take-Profit или Stop-Loss. Скачать этот советник вы можете при помощи ссылки, расположенной ниже.
Скачать советник 2MA
Робот отличается простотой в настройке, он позволяет трейдеру задать объем лота, Take-Profit и Stop-Loss.

Советник на основе 3 скользящих средних

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

Скачать этот инструмент вы можете при помощи ссылки, размещенной ниже.
Скачать советник 3MA

Советник с трейлинг-стопом

Sovetnic 3MA Trall – это усовершенствованная версия предыдущего робота, которая была дополнена трейлинг-стопом. Здесь сделки создаются точно также как и в предыдущем случае, а вот их закрытие может быть осуществлено по тейк-профиту или трейлинг-стопу, что позволяет максимально увеличить прибыль от торговли.

sovetnik-moving-average

Скачать советник с трейлинг-стопом вы можете по ссылке, расположенной ниже.
Скачать советник 3MA Trall

Советник Moving Average с безубытком

Sovetnic 2MA Trall NoLoss – это еще более совершенная модификация версия, которая при грамотной настройке дает возможность получать высокий доход. В параметрах робота можно внести изменения в периоды используемых скользящих средних, сдвиги, а также их тип. Главное преимущество этого робота заключается в том, что он может переносить ордера в безубыточное состояние. Для этого в строке «time frame» необходимо указать временной интервал. Для часового тайм-фрейма необходимо указать значение 60, а для дневного – 1440 и так далее. Скачать этот эксперт можно при помощи ссылки, расположенной ниже.
Скачать советник 2MA Trall NoLoss

Советник Moving Average усреднением

Этот робот открывает ордера при пересечении скользящих средних и закрывает их в момент поступления обратного сигнала или при достижении определенного дохода. В ходе работы робот создает сетку ордеров, что благоприятно отражается на общей доходности. В настройках робота нет Stop-Loss и Take-Profit, позиции закрываются лишь при поступлении обратного сигнала или при достижении заданного значения дохода. Сетки сделок открываются для каждого направления отдельно, при этом в параметрах можно дать команду роботу создавать или только ордера на реализацию или приобретение валюты. При желании можно активировать автоматическое вычисление объема лота, который будет определяться в зависимости от имеющегося капитала. Скачать этот инструмент вы можете при помощи ссылки, расположенной ниже.
Скачать советник 2MA_Setca

Советник Moving Average с мартингейлом

sovetnik-moving-average

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

В случае если сплошная линия находится выше пунктирной, это говорит о наличии восходящего тренда, а если ниже – нисходящего. В случае если сплошная линия направлена вверх и горит красным, это является сигналом для открытия сделки на покупку, а если она устремлена вниз и горит синим – это сигнал для открытия ордера на продажу. В параметрах можно внести изменения в период алгоритма, значение Stop-Loss, Take-Profit, начальный торговый лот, Trailing Stop и безубыток. Для увеличения общей прибыльности советник был оснащен системой мартингейла. Коэффициент увеличения лота можно изменить в строке «умножение последующих лотов». Для удобства в параметрах можно также указать время начала и окончания функционирования робота. Таким образом можно отключить советник во время Азиатской торговой сессии, когда советник начинает сливать капитал.

sovetnik-moving-average

Скачать этот инструмент вы можете при помощи ссылки, расположенной ниже.
Скачать советник MA_Martingeil

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

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

Moving Average: описание, настройка, стратегии

Как настроить Moving Average для торговли на Форекс

Индикатор скользящей средней, или Moving Average, — это, бесспорно, один из самых популярных индикаторов. Впрочем, его широкая распространенность основана не на пустом месте. Это простой, но вместе с тем мощный трендовый индикатор. Он наглядно демонстрирует, в какую сторону движется цена по тренду, насколько явно тренд выражен, когда происходит разворот. Сегодня мы рассмотрим, как настроить Moving Average, как им пользоваться, какие стратегии можно реализовать с помощью этого индикатора.

Как пользоваться индикатором Moving Average

МА — это трендовый индикатор. По описанию индикатор Moving Average очень прост — он всего лишь показывает усредненное значение цены за выбранный промежуток времени. Этот промежуток мы в дальнейшем будем называть периодом, чтобы не уточнять каждый раз, о каком промежутке идет речь.

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

Выделяют следующие виды индикатора Moving Average:

  • простое (SMA);
  • экспоненциальное (EMA);
  • сглаженное (SMMA);
  • линейно-взвешенное (LWMA).

Эти индикаторы Moving Average различаются между собой формулой расчета, однако принцип работы со всеми одинаков.

Как пользоваться индикатором Moving Average? Не так просто, как кажется! Итак, с помощью индикатора вы сможете распознать тренд и торговать в нем. На графике Moving Average выглядит, как простая волнистая линия, отражающая колебания цен и демонстрирующая тренды. Внешний вид графика будет зависеть от того, как настроить Moving Average. Чем больший период выбирает трейдер, тем более гладким и плавным будет график. Напротив, если трейдер выбрал маленький период, то график будет делать мелкие частые скачки. О том, как настроить Moving Average и его периоды, мы подробно поговорим ниже.

Moving Average: описание, настройка, стратегии 1

Мы рассмотрим, как настроить Moving Average в торговом терминале MetaTrader. Для доступа к настройкам откройте окно «Навигатор», найдите в списке индикаторов Moving Average и дважды кликните по нему. Откроется окно настроек. Посмотрите, какие параметры доступны для изменения, как можно настроить Moving Average. О входных данных для индикатора мы поговорим чуть ниже.

Moving Average: описание, настройка, стратегии 2

Правило подбора периода скользящей средней

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

Moving Average: описание, настройка, стратегии 3

Посмотрите, как цена несколько раз «упирается» в индикатор, не пересекая его, а затем возвращается на ту же сторону, где она и была. На графике такое происходит пять раз, прежде чем цена наконец пробивает индикатор и оказывается над ним. После пробоя мы наблюдаем ту же картину — цена шесть раз «отскакивает» от индикатора, не опускаясь ниже его, прежде чем наконец пробивает скользящую среднюю.

На этом примере показан правильный подбор периода. Именно с помощью таких маркеров можно распознать, насколько хорошо был подобран период — между каждым пробиванием индикатора цена несколько раз отталкивается от него и возвращается на исходную. Как настроить Moving Average, чтобы добиться такого результата?

На самом деле, никакого «секретного ингредиента» нет. Чтобы определить, как настроить Moving Average оптимально, достаточно простым перебором найти подходящий период. Меняйте значения периода, пока не добьетесь подходящего результата. Чем больший период вы установите, тем реже цена будет пересекать индикатор. Индикаторы с большим периодом трейдеры называют длинными. Цена редко пересекает такие индикаторы. Если установлен маленький период, индикатор называют коротким. Он пропускает множество ложных сигналов.

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

Moving Average: описание, настройка, стратегии 4

Отметим, что конкретная формула Moving Average, по которой рассчитывается значение, неважна — вы можете пользоваться SMA, EMA, SMMA… Подбор подходящего периода одинаков для всех типов индикатора.

Стратегии торговли по скользящим средним

Теперь, когда мы разобрались с настройкой Moving Average, перейдем непосредственно к торговле. Согласно описанию индикатора Moving Average, он отображает тренд и его развороты. Поэтому наиболее часто трейдеры используют самую простую стратегию — торговлю на пересечение цены и индикатора.

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

Пересечение скользящей средней с ценой

Эта стратегия немного сложнее предыдущей. Направление торговли (покупка или продажа) определяется тем, в какую сторону цена пересекает индикатор. В этой стратегии всегда должны быть открытые заявки. Открытие одной позиции является закрытием предыдущей сделки, то есть трейдер постоянно должен иметь открытые позиции на бирже. Эта стратегия с использованием индикатора Moving Average по описанию является самой простой, но на практике она требует от трейдера хорошего понимания рынка.

Рассмотрите график ниже. На нем цена пересекает индикатор ровно 7 раз. Давайте подумаем, как трейдер должен реагировать на такие сигналы.

Moving Average: описание, настройка, стратегии 5

В точке 1 происходит пробой вниз — нужно открывать сделку на продажу. В точке 2 сделки на продажу закрывают, нужно открывать покупку. В точке 3 покупку закрывают, разворачиваясь в продажу. В точке 4 снова возвращаемся в покупку, в точке 5 — в продажу, в точке 6 — в покупку и в точке 7 — в продажу. Ничего сложного, верно?

Нетрудно заметить, что отрезки 2–3 и 4–6 выдают ложные сигналы, трейдер может потерпеть небольшие убытки из-за срабатывания индикатора. Однако более длительные тренды, выявленные индикатором, позволяют с лихвой покрыть этот ущерб. Частота ложных сигналов зависит от того, как настроить Moving Average. Если ложных сигналов слишком много, увеличьте период.

Комбинация из индикатора и свечного анализа позволяет трейдеру защититься от ложных срабатываний. Так, на этом графике трейдер мог бы распознать ложные сигналы, анализируя фигуры свечей. Также можно обратить внимание, что пересечение в точке 7 слегка запоздало — с помощью свечного анализа можно было бы заранее определить разворот тренда с помощью фигуры «Двойная вершина». Это позволило бы трейдеру увеличить свою прибыль.

Вы умеете прогнозировать цену по японским свечам? Прочитайте статью на эту тему: «Японские свечи: руководство для начинающих».

Пересечение скользящих средних

Для применения этой стратегии трейдер настраивает два индикатора — у одного настраивается длинный период, а у второго — короткий. Длинный индикатор будет взят нами за основу. Рассмотрим эту стратегию на основе индикатора Moving Average по описанию, а затем на графике.

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

Moving Average: описание, настройка, стратегии 6

Стратегия торговли от длинной скользящей средней с короткой вспомогательной

Как настроить Moving Average для этой стратегии? Точно так же, как и для предыдущей, только в этот раз роль вспомогательного индикатора будет играть короткий MA, а не длинный. Длинный индикатор будет подсказывать, в какую сторону открывать сделки, а короткий — когда это делать.

Moving Average: описание, настройка, стратегии 7

Скользящая средняя с уровнями

Заглянув в описание индикатора Moving Average и его настройки, вы могли заметить, что есть такой параметр, как «Уровни». Как их использовать в торговле? Добавьте уровни в настройках, они находятся на второй вкладке. Часто трейдеры добавляют симметричные уровни сверху и снизу — для этого нужно ввести положительные и отрицательные числа, одинаковые по модулю.

Moving Average: описание, настройка, стратегии 8

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

Moving Average: описание, настройка, стратегии 9

При использовании этой стратегии очень важно понимать, как настроить Moving Average. Период должен быть не слишком длинным — чрезмерное количество ложных сигналов не должно вас пугать. А уровни должны выступать в роли линий поддержки и сопротивления.

Стратегия торговли по массиву скользящих средних GMMA

Здесь используется формула экспоненциальных скользящих средних. Эта стратегия с индикатором Moving Average по описанию может показаться сложной, но на практике она очень простая.

Как настроить Moving Average для этой стратегии? Нам понадобятся 12 экспоненциальных МА — выбираем тип ЕМА в настройках. Создадим 6 коротких средних с периодами 3, 5, 8, 10, 12 и 15; затем настроим 6 длинных индикаторов: 30, 35, 40, 45, 50, 60. Это лишь пример; для каждой конкретной ситуации и актива вам нужно самостоятельно подбирать, как настроить Moving Average.

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

Moving Average: описание, настройка, стратегии 10

Входные параметры Moving Average

Согласно описанию индикатора Moving Average, он использует в качестве входных параметров:

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

Практическое применение

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

Вывод

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

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

Если эта статья оказалась полезной для вас, поделитесь ею с друзьями в социальных сетях.

3.1 Создаем советник, торгующий по сигналу двух скользящих средних

обучение mql4

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

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

Алгоритм работы советника на MQL4

схема программирования

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

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

Так как этот урок по созданию советника mql4 является вторым по счету, то особо мудрить с торговой системой мы не будем и обратимся к классике. Одной из самых первых стратегий, что я узнал, изучая мир Форекс, была торговля по пересечению скользящих средних. Суть ее логики проста, как две копейки: берутся показания двух Moving Average и сравниваются их положения на графике относительно друг друга. Если быстрая МА пересекла медленную сверху вниз, то стоит предположить, что тренд вниз и это сигнал на продажу. Соответственно при пересечении снизу вверх дает сигнал на покупку. Период торговли пусть будет М15.

На скриншоте медленная МА показана фиолетовым цветом, а быстрая желтым.

Торговая стратегия mql4

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

Пишем программный код советника

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

Начнем с включения библиотеки ошибок и объявления внешних переменных, необходимых для открытия ордеров. Это размер торгового лота, проскальзывание, СЛ, ТП, комментарий и магик номер. Из новых переменных у нас появится bool переключатель для закрытия существующего ордера при появлении противоположного сигнала индикатора, а также настройки скользящей средней. Для МА нам важно знать ее период, а также тип сглаживания.

//| Copyright (c) DaVinci FX Group |
//| https://www.davinci-fx.com/ |
#property copyright «Copyright (c) DaVinci FX Group»
#property link «https://www.davinci-fx.com/»
#property version «1.00»
#property strict
#include //библиотека для расшифровки ошибок
extern string s0 = » » ; //> > >
extern double Lot = 0.01 ;
extern int Slippage = 5 ;
extern double StopLoss = 30 ;
extern double TakeProfit = 40 ;
extern string Comments = «DaVinci EA» ;
extern int MagicNumber = 123123 ;
extern bool CloseOppositeOrder = true ;
extern string s1 = » » ; //> > >
extern int ma1_period = 50 ;
extern int ma2_period = 100 ;
extern int ma1_method = MODE_EMA ;
extern int ma2_method = MODE_EMA ;

Функция OnInit() будет включать в себя только оператор, ответственный за умножение внешних параметров в пунктах на десять при условии, чтобы брокер использует пятизнак (трех- для JPY).

int OnInit () < if ( Digits == 3 || Digits == 5 ) < Slippage *= 10 ; StopLoss *= 10 ; TakeProfit *= 10 ; return ( INIT_SUCCEEDED );

Функция OnDeinit() в нашем коде использоваться не будет, нет нужды.

Переходим к функции OnTick(). Сначала мы активируем цикл for, который будет подсчитывать и модифицировать уже открытые ордера. Подсчет нужен, чтобы не открыть второй ордер в таком же направлении, когда первый еще в рынке. Соответственно, переменная cnt_b будет хранить в себе актуальное количество открытых ордеров на покупку, а cnt_s на продажу. Перебор идет только по рыночным ордерам (выделяется по MODE_TRADES), начиная от максимального количества открытых ордеров OrdersTotal() в сторону уменьшения. После выделения ордера идет стандартная проверка на то, чтобы он был рыночным, его символ совпадал с текущим, как и магик номер соответствовал магику вашего советника.

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

int cnt_b = 0 , cnt_s = 0 ;
int _OrdersTotal = OrdersTotal ();
for ( int pos = _OrdersTotal — 1 ; pos > = 0 ; pos —) < if (! OrderSelect ( pos , SELECT_BY_POS , MODE_TRADES )) < Print ( __FUNCTION__ + ": не удалось выделить ордер! " + ErrorDescription ( GetLastError ())); else if ( OrderType () = 2 && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) < if(OrderType() == OP_BUY) cnt_b++; else cnt_s ++; //проверка на наличие целей у ордеров и их модификация if ( OrderTakeProfit () == 0 || OrderStopLoss () == 0 ) < double SL = 0 , TP = 0 ; if ( OrderType () == OP_BUY ) < SL = OrderOpenPrice ()- StopLoss * Point ; TP = OrderOpenPrice ()+ TakeProfit * Point ; SL = OrderOpenPrice ()+ StopLoss * Point ; TP = OrderOpenPrice ()- TakeProfit * Point ; if (! OrderModify ( OrderTicket (), OrderOpenPrice (), SL , TP , 0 , clrNONE )) < int Error = GetLastError (); Print ( "Ошибка модификации ордера " , Error , ": " , ErrorDescription ( Error )); else Print ( "Ордер #" + IntegerToString ( OrderTicket ()) + " успешно модифицирован" );

Если вы спрашиваете себя, зачем вначале модифицировать ордера, а уже после только отрывать, то тут все логично. Как я объяснял на прошлом уроке, для современных типов торговых счетов, таких как NDD, ECN, STP нельзя модифицировать ордер сразу при его открытии, поэтому действие выполняется поэтапно — открыли, потом выставили цели. В прошлом примере советника мы не учти возможность того, что сервер нам может не позволить модифицировать уже открытый ордер по какой-либо внутренней ошибке. В таком случае этот ордер останется болтаться в рынке без ТП и СЛ, пока вы этого не заметите сами. Это небезопасный подход. Поэтому в этой версии советника мы вводим проверку на наличие целей у ордеров каждый тик. Соответственно на первом тике ордер открывается, а на втором уже модифицируется. Если модификация не пройдет по какой-либо ошибке на этом тике, то на следующем будет предпринята очередная попытка. Данная вариация также полезна, если вдруг пользователь вашей программы или вы по случайности удалите заданные алгоритмом цели. В этом случае советник их просто восстановит, ибо нечего лезть руками в настроенную программу.

Открытие ордера по показаниям индикатора

Переходим к извлечению показаний из индикатора МА. Нам нужно найти тот момент, когда одна линия пересечет вторую и закрепится за ней. Это можно узнать только после закрытия текущей свечи. Соответственно нам нет никакого смысла каждый тик узнавать значение скользящих средних и тормозить тем самым работу советника. Получение данных индикатора и проверка условий для входа в рынок будут происходить один раз в момент открытия новой свечи. Для этого введем переменную Update_Time для хранения времени на глобальном уровне, которая будет сравнивать время открытия текущий свечи со значением, сохраненным в ней. Как только откроется новая свеча, время станет различным и запустится условие проверки с перезаписью значения этой переменной. Прописываем следующий код после цикла проверки ордеров:

Источник https://womanforex.ru/sovetniki-foreks/sovetnik-moving-average.html

Источник https://forexlab.ru/moving-average-opisanie-nastrojka-strategii/

Источник https://www.davinci-fx.com/mql-two-ma/