Алексей, у моего провайдера сложные отношения со слил/залил - нет возможности просто прикрепить к сообщению?
ТЗ
Советник должен уметь открыть сделку по нажатию кнопки B – buy, S – sell (опционально).
Предусмотреть невозможность открытия разнонаправленных позиций (выдать предупреждение). Т.е. торгуем по тренду в одну сторону, хочешь «перевернуться», тогда закрой противоположные позы. Будет полезно для расчета безубытка при доливках, смотри ниже.
Тейк-профит не выставляем, а стоп-лосс ставим на заданную величину (опционально).
Лот при открытии первой сделки:
1. задаем либо явно (0.1,0.2 и т.д.)
2. либо в % от депозита – считаем от текущей цены открытия до уровня стоп–лосса, т.е. мы выставили стоп-лосс 20 пипс и риск 5% от депо – должен посчитать лот так, что бы при сработавшем стоп-лоссе я потерял не более заданного % риска от депо (с учетом минимально допустимого шага, т.е. 0,1 или 0,01 для микросчетов).
При торговле - как только цена уйдет на заданное количество пипсов от цены открытия по первой сделке, переносить стоп-лосс в безубыток (опционально: величина пройденного хода).
Затем, после прохождения ценой заданной величины пипсов от цены открытия (опционально: ход для трала), включать трал в % от полученной прибыли (т.е. согласен потерять не более 30% от уже заработанного по данной сделке), либо трал по заданной величине в пипсах.
При открытии следующей позиции, стоп-лосс по ней ставится в точку безубытка (не ниже цены открытия по первой сделке), посчитанной с учетом ранее открытых позиций. Если рассчитанный стоп-лосс оказался недопустимым - меньше минимально допустимого размера (опционально - минимальная величина стоп-лосса для последующих позиций), либо меньше цены открытия по первой сделке (из-за того что, предыдущие позы(а) ушли в убыток , либо его величина меньше допустимого на данный момент по ДЦ, например, вышли новости и его «расширили»), то сделку не открывать, а выдать сообщение – «Добавлять позиции нельзя». Если следующую сделку открываем, после того как по первой позиции уже сработал трал, то стоп-лосс выставляем на уровень трала по первой позиции. Идея в том, что бы «не убить» первую сделку при доливке и не получить «общий убыток» по открытым сделкам. Величина минимального стоп-лоса для последующей сделки будет играть роль "фильтра" и не позволит открыться раньше б/у по первой сделке либо слишком рано долиться.
Лот по следующей сделке высчитывается как описано выше (для первой позы), а для п.2 - % риска от депо, без учета открытых сделок. Трал (либо по заданной величине в пипсах, либо по заданному % потерь от уже заработанного с учетом всех открытых поз) начинает работать для всех открытых позиций одинаково - после прохождения заданного количества пипс от цены открытия первой позиции (задается опционально: ход для трала). Должно помочь сохранить уже заработанное.
Добавить возможность закрытия «всех» открытых позиций по текущей валютной паре по кнопке C – Clouse, либо по кнопке H – half, закрыть самую прибыльную. При этом советник должен работать только со своими ордерами и только по текущей валютной паре (т.е. той на которой стоит).