İş tamamlandı
![](https://c.mql5.com/i/avatar/avatar_na2.png)
İş Gereklilikleri
1 Задача. Нужно добавить фильтрующие условия для выставления отложенных сделок. Робот торгует по стратегии пробоя High и Low предыдущего дня. Необходимо сделать так, чтобы можно было управлять дистанцией при которой сделки будут или не будут создаваться роботом.
В внешние настройки добавить графу с указанием количества пунктов отступа от High и Low
В внешних настройках есть строчки для 10 последовательных сделок.
Эти строчки содержат индивидуальные настройки для каждой сделки.
Информация о количестве пунктов отступа от последней сделки до создаваемой, размер лота, тейк профит и стоп лосс (стоп лосс будет нужен для последней разрешённой сделки)
В внешних настройках указывается максимальное количество серии таких сделок.
Настройки по умолчанию: количество разрешённых сделок в серии - 3, лот 0.01, количество пунктов от последней сделки до создаваемой 100, тейк профит и стоп лосс 100 пунктов
С этой функцией суть такая. Тейк профит для всех един и он определяется по тейк профиту последней созданной сделке. стоп лосс выставляется только в том случае если данная сделка является последней из разрешённых.
Ситуации бывают разными может интернета не будет или что ещё, по этому полностью отсутствовать стоп лосс не должен у первых сделок. У первых сделок он просто всегда больше чем указанно расстояние между сделками, допустим плюс 100 пунктов.
В случае выставления последней сделки у всех остальных сделок тоже появляется стоп лосс, он един для всех как и тейк профит.
Пример!
Валюта EUR/USD
Функция реверс - True
Фукция мартингейл2 - True
Тейк профит 200 на всех 10 строчках
Стоп лосс 100 на всех 10 строчках
Промежутки от 1 сделки до 2 и от 2 до 3 установлено 100 пунктов
Максимум разрешённых сделок 3
Сработала первая сделка на пробое дня, допустим это Sell Limit уровень 1.20000, тейк профит 200, стоп лосс 200 (количество пунктов во внешних настройках между 1 и 2 сделками(100) + страховочные 100 пунктов)
Цена идёт вниз и прошла 100 пунктов, создаётся вторая сделка Sell на уровне 1.20100, тейк профит 200, стоп лосс 200. У первой сделки стоп лосс и тейк профит выравнивается в тейкпрофит и стоп лосс второй сделки.
Цена идёт вниз и прошла ещё 100 пунктов, создаётся третья сделка Sell на уровне 1.20200, она является последней в серии так как мы выставили ограничение во внешних настройках 3.
Тейк профит 200, стоп лосс тут уже свой (100 пунктов) так как у последней сделки стоп лосс не является страховочным на форс мажорные случаи. У 1 и 2 сделок стоп лосс и тейк профит выравнивается в тейкпрофит и стоп лосс третьей сделки.
Куда бы цена не пошла все три сделки закроются одновременно, так как у них един и тейк профит и стоп лосс.
После закрытия серии в этот день больше не торгуем и вообще все основные функции робота продолжают работать даже с включенным мартингейл2. Не торгует если уровень High и Low уже были пробиты. Если включена функция удаления второй сделки после срабатывая первой то она и должна работать. Если Sell сработала то Buy тут же будет удалена. Функция реверс так же взаимодействует с функцией мартингейл2. В случае если включена функция мартингейл то мартингейл2 не станет работать или даже выдаст на экране сообщение с ошибкой что активен первый мартин.
Если Т.З. описано не очень понятно или местами двусмысленно то не стесняйтесь задавать уточняющие вопросы. В случае чего попробую на скриншотах описать задумку.
Описание робота, для понимания с чем имеем дело. (не является Т.З.)
Это модификация робота Expert+10. Основная суть осталась прежней он выставляет две отложенных сделки, одна на High предыдущего дня, вторая на Low. Имеет автоматический подбор лота в зависимости от размера депозита и указанного процента риска. Не торгует если уровень High и Low уже были пробиты. Добавлена возможность реверс, добавлено вкл/выкл возможность торговать по мартингейл. Мартин работает по количеству торгуемых дней в убыток Ещё добавлена возможность удалять второй ордер как только первый сработал.
В параметрах указывается количество убыточных дней достигнув которое будет повышение лота умножив его на цифру указанную в строке множитель. Учитываются именно "торгуемые" дни.
Работает это так. Если в параметрах указано 5 дней, то робот торгует пять дней с лотом 0.01 с шестого дня будет торговать 5 дней с лотом 0.02 с одиннадцатого для будет торговать с лотом 0.04. Если три дня убытки потом день вообще не было пробоя и как следствие торгов, а дальше убыток то это не 5 дней а 4. Так как из этих 5 дней торгуемые только 4. тогда повышение будет на 7 день, так как это только лишь 6 торгуемый день.