Необходим советник для MetaTrader 5 с хеджированием, на основании свечного анализа. Торговля по одной валюте, сигнал на вход - на основании свечного анализа, алгоритм объясню ниже. Закрытие позиций - по СЛ, ТП и по обратному сигналу. Все позиции сопровождаются трейлинг-стопом. Лот рассчитывается, как процент от свободных средств. Куча переменных рассчитывается по формулам, надо уметь это кодить. Сделать нужно быстро – в теч 10 дней. 1. Общие условия: I. время работы - непрерывно II. порядок запуска - включение работы советника на определенном графике с определенным таймфреймом. советник работает только на этом графике и использует бары таймфрейма, который был включен при нажатии кнопки автоторговля III. Советник открывает позиции в % от свободных средств. IV. Делаем советник для таймфреймов h1 и выше V. Значения всех переменных робот должен выводить в журнал для их проверки. Когда доделаем робот, уберем эту опцию 2. Переменные: I. С которыми работает робот: Вычисляются по предыдущему бару: * Самая главная – LBheight – вычисляется по предыдущему бару: 1. = High – low * LBOpen – соответствующее значение у предыдущего бара * LBClose – соответствующее значение у предыдущего бара * Lbhigh – наивысшая точка предыдущего бара * Lblow – наивысшая точка предыдущего бара * LBmiddle = (LBHigh + LBlow)/2 II. Параметры, которые может задавать юзер: * Tradevolume – объем новой позиции. Измеряется в % от свободных средств. Задается юзером. По умолчанию 1% * Maxtradevolume – лимит на открытие позиций. Учитывает все открытые позиции. Если они достигают этого лимита, не дает открывать новые позиции. Измеряется в % от свободных средств. Задается юзером. По умолчанию 5% * Для данной нужна опция вкл выкл LBCandle - рассчитывается и используется в расчетах. На нее можно и вывести опцию вкл выкл Формула Если LBheight – LBClose >0, значение LBCandle= 1 Если LBheight – LBClose <0, значение LBCandle = 0 По умолчанию значение не задано. То есть, если не было рассчитано, позиции не открываются. Суть: определяем цвет свечи. 1 – зеленая, 0 – красная (белая) * Для данной нужна опция вкл выкл LBbullbearpower – только как вкл выкл LBbearpower – рассчитывается и используется в расчетах LBbullpower – рассчитывается и используется в расчетах BBpoweraccuracy – задается пользователем. Измеряется в %, может быть от 0 до 100% 1) Если LBCandle= 1 и Lbclose < LBmiddle Если ((LBmiddle – Lbclose)/LBheight ) < BBpoweraccuracy То пропускаем весь пункт и никаких новых решений не принимается Если ( (LBmiddle – Lbclose)/LBheight ) > BBpoweraccuracy то LBbearpower = 1 и LBCandle = 0 2) Если LBCandle= 0 и Lbclose > LBmiddle и Если ((Lbclose - LBmiddle)/LBheight) < BBpoweraccuracy То пропускаем весь пункт и никаких новых решений не принимается Если ((Lbclose - LBmiddle)/LBheight) > BBpoweraccuracy то LBbullpower = 1 и LBCandle = 1 Суть: при выполнении указанных условий принимаем цвет свечи на противоположный. * TP1 – тейк профит для первого способа входа в рынок. Параметр задается юзером. В % от LBheight, в пункты пересчитывается уже роботом. может быть от 0 до бесконечности. * TP2 – тейк профит для второго способа входа в рынок. Параметр задается юзером. В % от LBheight, в пункты пересчитывается уже роботом. может быть от 0 до бесконечности. * SLtrall – интервал переустановки стоп лосса. По умолчанию = 5 * SL – стоп лосс. Для данного параметра есть два взаимоисключающих случая: 1. Параметр SLfix – только вкл или выкл. * Если SLfix вкл. То SL – измеряется в % от LBheight, может быть от 0 до бесконечности %. После открытия позиций SL устанавливается на фиксированном значении от LBhigh, не траллится. * Если SLfix выкл. То SL – измеряется в % от LBheight, может быть от 0 до бесконечности %. После открытия позиций SL устанавливается на фиксированном расстоянии от вновь открытой позиции. траллится так: Через равные интервалы времени переустанавливается. Интервал времени вычисляется так: Берем интервал графика и делим на SLtrall. Например, для H1 это 12 минут (если брать SLtrall по умолчанию = 5). Никогда не переустанавливается в убыток, только в прибыль. Для buy и sell соответственно. * Bstop1 – параметр для установки ордера buystop, - задается юзером, выражается в % от height, пересчитывает в пункты уже роботом. III. Открытие позиций: * Когда очередной бар заканчивается. Робот вычисляет все переменные выше. * Вход осуществляется с использованием Candle. 1. Если Candle = 1, то * Сразу открывается позиция sell с объемом Tradevolume и заданными ранее SL и TP1 * Выставляется отложенный ордер buy stop на цене = LBHgh + Bstop1 с объемом Tradevolume и заданными ранее SL и TP2. SL может тралится или нет, как указано выше. Если Candle = 0 , то * Сразу открывается позиция buy с объемом Tradevolume и заданными ранее SL и TP1 * Выставляется отложенный ордер sell stop на цене = LBlow - Bstop1 с объемом Tradevolume и заданными ранее SL и TP2. SL и TP для каждого buy высчитывается прибавлением/вычитанием соответствующего к-ва пунктов. IV. Закрытие позиций: * По SL и TP * Когда очередной бар заканчивается, все позиции закрываются, все отложенные ордера удаляются. V. 2ву 3. Как советник должен реагировать на позиции, открытые вручную или другими советниками? Полностью игнорировать все "чужие" позиции. Однако следить за общим лимитом открытых позиций. Maxtradevolume 4. Как советник должен реагировать на подключение к другому торговому счету? Нужна ли специальная процедура запуска на реале? При смене счета советник должен уведомить об этом пользователя и прекратить работу до нового запуска 5. Советник должен уметь восстанавливать нормальное функционирование после временного разрыва связи, переподключения к счету или перезапуска терминала. 6. ведение более подробных лог-файлов Связь в порядке предпочтения и скорости моих ответов: vk: https://vk.com/celfyjd Tel: 89032935298 Mail: Aleksey.sudanov@gmail.com Skype: aleksey.sudanov