Работа завершена
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Техническое задание
1 – Советник должен работать на виде счета с хеджированием и неттинге под MT5
2 - Советник должен работать на всех видах таймфреймов
3 - Значение цены должно учитывать до 5 знаков после запятой
4 - Размер лота от 0,01 и выше, с возможностью увеличения объема по 0,01
5 - Тейк профит задается вручную, заданное значение по умолчанию 0, означает что параметр выключен.
6 - Стоп лос задается вручную, заданное значение по умолчанию 0, означает что параметр выключен.
7 - Трейлинг стоп задается вручную, у трейлинга должен иметься параметр «шаг». заданное значение по умолчанию 0, означает что параметр выключен.
8 – Должна быть возможность задавать работу советника по МА или АМА с вводом всех параметров соответствующей средней. Одновременно может работать только один вид средних, должен быть переключатель какую среднюю используем МА или АМА.
9 – Должна быть возможность смещать МА или АМА по горизонтали на заданное кол-во пунктов.
10 - Должна быть возможность в настройках в ручную задавать параметр Х (кол-во баров пробоя, участвует в алгоритме открытия сделок), кратность данного параметра должна быть единице. Бары пробоя отсчитываются с момента касания цены МА или АМА
11 - Должна быть возможность в настройках в ручную задавать параметр Х2 (кол-во пунктов пробоя, участвует в алгоритме открытия сделок), кратность данного параметра должна быть единице. Пункты пробоя отсчитываются с момента касания цены МА или АМА
Должна быть возможность включения учета только пунктов пробоя, только баров пробоя, совместно бары + пункты пробоя, открытие сделки в ручную с последующим закрытием сделки советником согласно алгоритму.
12 - Должна быть возможность выбирать как учитывать вид баров/свечек, тело с тенями или только тело без теней.
13 - Должна быть возможность задавать по каким параметрам строится средняя (максимум, минимум, цена открытия, цена закрытия)
14 – Должна быть возможность указывать в какие дни недели советник ОТКРЫВАЕТ сделки, закрытие позиций происходит по алгоритму советника без учета дневного фактора. Если ограничение не задано, открытие позиций осуществляется во все рабочие дни согласно графику работы терминала.
К примеру задано значение активны только вторник и среда, это значит что в эти дни сделки могут только открываться (согласно алгоритму), но закрыться сделки могут в любой день, именно согласно алгоритму советника, а не данному критерию открытия сделок.
15 – Должна быть возможность задавать временной интервал от 00:00:00 до 23:59:59 у каждого дня недели (учитываться должны часы, минуты, секунды), этот временной интервал у конкретного дня недели говорит о том, что в этот день недели ОТКРЫТИЕ позиции осуществляется только в данный промежуток времени. Если ограничение не задано, открытие позиций осуществляется во все рабочие дни согласно графику работы терминала.
16 - При увеличении депозита на процент Z, лот последующих сделок увеличивается на Y процентов, если значение процентов не позволяет увеличить лот на конкретный %, происходит округление до ближайшего доступного лота при условии правильного математического округления. ( пример нужно увеличить стартовый лот 0,01 на 15% получается значение лота 0,0115, но такого значения лота в терминале нет, округляем по математическому округлению, получаем лот 0,01 ) .
Значение Z и Y, задаются в параметрах вручную, учитывая целые числа.
Если депозит резко уменьшился, то лот на следующую сделку должен вернуться на тот уровень которому соответствует согласно текущему значению депозита.
17. Вид сделок
17.1 - Разрешение БАЙ - если активировано, то совершаются сделки только в бай.
17.2 - Разрешение СЕЛЛ - если активировано, то совершаются только сделки в селл.
17.3 - Если оба пункта отключены, совершаются сделки в бай и в сел, в зависимости от алгоритма советника.
18 - От точки открытия любой позиции строятся горизонтальные уровни 13 шт с противоположной стороны направлению позиции, т.е. если открылись в бай, уровни строятся только с низу, если открылись в селл, уровни строятся только с верху. В параметрах советника, каждый уровень должен задаваться в ручную, на каком расстоянии (пунктов) от точки открытия сделки строиться. Задавая параметр уровня отличный от нуля, означает, что уровень строится от точки открытия, на заданном для конкретного уровня расстоянии (пунктов). Если в настройках уровня задано значение 0 (должно быть по умолчанию), это значит, что данный уровень не строится. Каждому уровню присваивается коэффициент перемножения (задается в ручную индивидуально у каждого уровня). Касание каждого уровня ценой, означает, что позиция должна усредниться. Коэффициент усреднения у каждого из 13 уровней должен задаваться в настройках параметров в ручную, кратный 0,01.
Что есть усреднение - допустим открылись стартовым лотом 0,02, коэффициент на первом уровне усреднения 2, это значит, что после касания цены данного уровня, лот открытой позиции при усреднении должен стать 0,02 умноженный на 2 в итоге получим значение 0,04. Полученное значение 0,04 (конкретно в данном примере) для следующего уровня считается базовым и именно это значение лота умножается на коэффициент усреднения следующего уровня и т.д на каждом из 13 уровней.
19 Добавить возможность в одном месте (одним параметром) задавать у всех уровней усреднения одинаковый коэфициент перемножения. Добавить возможность в одном месте (одним параметром) задавать у всех уровней усреднения одинаковое расстояние между уровнями усреднения.
После усреднения позиции, тейк профит соответственно рассчитывается не от значения цены, по которой была в принципе открыта текущая сделки, а от усредненного значения после усреднения на каждом уровне.
Каждый уровень должен отображаться в советнике графически, линиями (цвет, толщина линии должны задаваться в параметрах уровня)
Значение усредненной позиции должно отображаться в советнике графически, линиями (цвет, толщина линии должны задаваться в параметрах уровня)
Алгоритм работы советника
Если кол-во баров/свечек равное значению Х, Х2, ХиХ2 (это значение задается вручную в настройках/параметрах – кол-во баров/пунктов пробоя) идущих подряд (учитываются как растущие так и падающие бары/свечки) и при этом все тело баров/свечей (от цены минимума до цены максимума, включая цену открытия и закрытия в зависимости от выбранного варианта учета, учитывать только тело или тело с тенями) находящихся выше МА или АМА, то открывается сделка в бай, если под МА или АМА, то открывается сделка в селл. Сделка открывается по цене ОТКРЫТИЯ бара/свечи следующего за кол-вом баров/пунктов Х, Х2, Х и Х2 т.е. это (Х, Х2, ХиХ2)+1.
Сделки закрываются по тейкпрофиту, стоплосу или трейлингу.
В хеджевом варианте возможно одновременное открытие сделок в обе стороны, при наступлении условия открытия (когда одна позиция еще не закрылась по тейкпрофиту, стоплосу или трейлингу, а условие для противоположной сделки уже наступило )