仕事が完了した
![](https://c.mql5.com/i/avatar/avatar_na2.png)
指定
Техничесоке задание
Требуется создать робота, способного торговать в программе ”MT4” по индикатору MACD.
Принцип работы и торговли:
1. Сигнал «buy» (на повышение)
Сигнал срабатывает когда красная линия пересекает одну серую полосу (находящуюся ниже нуля) и оказывается под другой серой полосой. В таком случае, робот должен открыть позицию на повышение (buy).
2. Сигнал «sell» (на понижение)
Сигнал срабатывает когда красная линия пересекает одну серую полосу (находящуюся выше нуля) и оказывается над другой серой полосой. В таком случае, робот должен открыть позицию на понижение (sell).
Торговля роботом должна быть непрерывна, так как сигналы постоянны с определенным временным промежутком. Т.е. робот открывает позицию на sell и при сигнале buy закрывает, открывая при этом позицию на buy и т.д. Получается непрерыная цепь.
Дополнительные функции робота:
1. В роботе должна быть строка для выставления S-L.
2. Строка для выставления объема лота.
3. Возможность работы робота по всем временным графикам, от М1 (1 минута) по MN (месяц).
4. Возможность работы на всех валютных парах.
Так же имеется исключение из правил, при котором робот должен закрывать открытую сделку и открывать ее позднее (см рис.)
Как мы видим под номером «1» прошел сигнал на buy, но график не пошел на повышение и не пересек нулевую отметку. Напротив, график пошел вниз. В таком случае робот должен закрыть позицию buy в точке «2» (в точке «2» красная линия индикатора пересекла серую полосу не добравшись выше нулевой отметки, это и есть исключение) и открыть позицию sell. Далее позиция sell закрывается в точке «3» и снова открывается позиция на buy.
В данном варианте рассмотрен вариант, когда график индикатора находится ниже нулевой отметки. Когда же график находится выше нулевой отметки, то все происходит в точности да наоборот.
Представим в зеркальном виде рисунок выше. Робот открывает позицию на Sell но график не падает, а растет, соответственно красная линия пересечет серый график не опустившись ниже нулевой отметки. А значит, позиция sell закрывается, открывается на buy и далее по той же схеме.