Написать робота на скользящей средней (МА) и цене. Под МТ 5, срочный рынок Московской биржи (фьючерсы) Суть работы робота от пересечения до пересечения цены и скользящей средней (МА), рыночным или отложенным ордером. Произошло касание (пересечение) свечи (цены) и МА сверху вниз робот выставляет селл ордер или селл стоп ордер. Произошло касание (пересечение) свечи (цены) и МА снизу вверх робот выставляет бай ордер или бай стоп ордер. Сидим в позиции пока не происходит пересечение на закрытие позиции. Такой ситуации чтобы робот закрыл позицию, но по описанным ниже вариантам не открыл противоположную нужно исключать – однозначно. Задача робота = работать на всех таймфремах. Робот должен четко отрабатывать ниже описанный алгоритм. Робот должен работать на демо счете и на реальном счету.) Важно - робот должны четко отслеживать текущую цену и сигналы МА индикатора. Робот должен корректно работать на любом таймфрейме от 1 минуты до месячного. Важно. Робот должен тестироваться в тестере МТ5. Важно, вы должны прогнать робота в тестере и предоставить результаты. На 1, 5 и 15 минутном тайфрейме за последние 6 месяцев с разными настройками. Демо счет и терминал открыть у этого брокера https://just2trade.online/ru/. Инструменты тестирования фьючерс на индекс РТС(RTSRIZ1), фьючерс СИ (RTSSiZ1) (доллар рубль). Брент (RTSBRF2) Предоставить результаты прогона и на каких настройках, выслать HTML файлы стейтментов. Если вы напишите код правильно робот должен прибыльным однозначно. Желательно написать код за 1-3 дня, но не ущерб качеству. Поэтому предпочтение отдам программисту ответственному и который пишет код на раз. Открытие позиции - рыночные ордера (true/false): При работе робот выбирается один из ниже перечисленных вариантов. 1.Пересечение свечи (цены) и МA (true/false) соприкосновение цены и МА. В данном случае именно когда свеча (цена) и скользящая соприкоснулись робот выставляет рыночный ордер. Произошло касание (пересечение) свечи (цены) и МА сверху вниз робот выставляет селл ордер и наоборот. 2.На первой закрытой свече после пересечения МА и цены (true/false). Робот выставляет рыночный ордер, как только первая свеча закрылась выше (ниже) скользящей. 3.На второй закрытой свече после пересечения. (true/false). Робот выставляет рыночный ордер, как только вторая свеча закрылась выше (ниже) скользящей. 4.На третьей закрытой свече после пересечения. (true/false). Робот выставляет рыночный ордер, как только третья свеча закрылась выше (ниже) скользящей. В настройках или коде выбирается один из выше перечисленных вариантов. Открытие позиции - отложенные ордера (true/false): При работе робот выбирается один из ниже перечисленных вариантов. 1.Пересечение свечи (цены) и МA (true/false) соприкосновение цены и МА. В данном случае именно когда свеча (цена) и скользящая соприкоснулись робот выставляет лимитный ордер. Расстояние до отложки определяется настройками. 2.На первой закрытой свече после пересечения МА цены (true/false). Робот выставляет лимитный ордер, как только первая свеча закрылась выше (ниже) скользящей. Расстояние до отложки определяется настройками. 3.На второй закрытой свече после пересечения. (true/false). Робот выставляет лимитный ордер, как только вторая свеча закрылась выше (ниже) скользящей. Расстояние до отложки определяется настройками. 4.На третьей закрытой свече после пересечения. (true/false). Робот выставляет лимитный ордер, как только третья свеча закрылась выше (ниже) скользящей. Расстояние до отложки определяется настройками. Все выше перечисленный параметры настраиваются.. В настройках или коде выбирается один из выше перечисленных вариантов. Закрытие позиции 1.Пересечение определяется при касании свечи и МА скользящей (true/false) Здесь важный момент. Свеча хвостиком пересекла МА и развернулась. Позиция закрылась. Необходимо чтобы открылся противоположный ордер по выше описанному алгоритму. 2.Пересечение определяется на первой закрытой свече, которая пересекла МА. (true/false) Позиция закрылась. Необходимо чтобы открылся противоположный ордер по выше описанному алгоритму. 3.Пересечение определяется на второй закрытой свече, которая пересекла МА (true/false) Позиция закрылась. Необходимо чтобы открылся противоположный ордер по выше описанному алгоритму. 4. Пересечение определяется на третьей закрытой свече, которая пересекла МА (true/false) Позиция закрылась. Необходимо чтобы открылся противоположный ордер по выше описанному алгоритму. В настройках или коде выбирается один из выше перечисленных вариантов Как только робот закрывает рыночный ордер - по выше описанному алгортиму открывается следующий (противоположный). Важно никаких задержек при закрытии происходить не должно т.е. моментальное закрытие позиции. Даже если на рынке импульс робот должен закрыть позицию, как можно раньше. И по вариантам указанным выше выставить следующий (противоположный) Настройки робота 1. Робот включен, выключен. (true/false) 2. Количество контрактов. 3. Таймфрем на котором будет работать робот 4. Настройки МА 5. Выставлять рыночный ордер (true/false) 6. Выставлять лимитный ордер (true/false) 6.1 Если выше true расстояние до ордера в поинтах. 7. В информ панели будет кнопка «Безубыток». Включить безубыток. Настраиваемый параметр - расстояние от открытия рыночной позиции до цены безубытка, условно 150 поинтов. Кнопка меняет цвет показывая что безубыток включен. 8. В инфом панели будет кнопка «Трал». При нажатии на кнопку ордер тралится. В коде советника блок настройки трала - количество поинтов и шаг. Кнопка меняет цвет показывая, что трал включился. 9. Настройки МА - должны быть доступны все настройки скользящей. 10. Отработка флетовых ситуаций на рынке. На рынке флет - цена туда сюда – то выше скользящей, то ниже. Автоматически включать безубыток (true/false) если цена прошла условно 400 поинтов от цены открытия. Цена прохода и цена безубытка (расстояние от открытия) настраиваемый параметр. Режим включить, выключить (true/false). Здесь важно кнопка в информ. панели меняет свой цвет показывая, что автоматом включился безубыток в случае если (true). 11. Выше в настройках стоит true т.е. выставление безубытка. Цена пошла дальше условно еще 400 пипсов, но находится во флетовом движении (туда сюда. консолидация) – переставлять безубыток на локальный лой или хай (true/false). 12. Включить демо режим работы советника (true/false). 13. Мейджик текущего робота и его ордера. 14. Спред В роботе реализовать информационное окно. В левом верхнем углу информационное окно с возможность сворачивания. Цвет фона настраиваемый. Что должно быть в информ панели, какая информация выводится. 1. Кнопки «Безубыток» «Тралл» «Закрыть ордер» «Выключить робота» 2. Количество контрактов в работе. 3. Тайфрейм на котором работает советник. 4. Текущие настройки МА. 5. Метод открытия и закрытия ордера – выдается информация как в данный момент настроен робот и как он будет выставлять и закрывать ордера. 6. Выводится информация Открылся рыночный ордер по цене условно 170000 (фьючерс РТС) 7. Робот выставил селл стоп по цене условно 170500 8. Робот выставил бай стоп ордер по цене 180000. 9. Настройки трала (берется из кода) 10. Настройки безубытка. (берется из кода) 11. Текущий профит (убыток) по открытой позиции 12. Профит дня 13. Профит 3 дней 14. Профит недели 15. Профи месяца 16. Профи года 17. Всего профит 18. Мейджик 19. Спред Информ панель получается большая тогда нужно чтобы все компактно, кнопки не очень большие, размер шрифта и т.д. Важно –рыночный ордер закрылся по безубытку, робот должен понимать, что он вне рынка и по выбранному алгоритму выше снова входит в рынок Далее графика На графике зеленым треугольником показывать, где робот выставил бай ордер (или бай стоп ордер) + зеленая линия от треугольника настаиваемой толщины. Красным треугольником где робот выставил селл ордер (селл стоп ордер) + красная линия от треугольника, линия также настраиваемой толщины Робот рисует линию профит (убыток) от треугольника до треугольника, т.е. от треугольника, до треугольника. Цвета линий и толщина настраиваемый параметр. Ситуация, когда пошло трендовое движение на рынке, а я вне рынка должно быть исключено в принципе. Код робота в настройках сделать блоками Блок на каких условиях робот выставляет рыночный ордер. Блок на каких условиях робот закрывает открытую позицию. Блок как робот открывает ордера при закрытии предыдущей позиции Блок информ окна. Блок настройки графики, цветов, шрифтов, размера шрифта. Т.е. в буквальном смысле блоками и код и настройки. Порядок в коде обязательное условие. Комментарии в коде обязательны. Все тоже самое в настройках – чтобы все ясно и понятно что за что отвечает. Еще один очень важный момент робот создает в правом верхнем углу терминала окно, где ведется подсчет входов в рынок и выходов. Так как брокер и Московская биржа берет комиссию за вход и выход необходимо что робот считал количество входов и выходов сегодня, 3 дня, неделя, месяц, 6 месяцев, год. Итого. С возможностью свернуть окно чтобы не мешало видеть график. Еще один момент - мне нужно чтобы советник работал на демо счете как на реальном, информ панель должна работать . Выставлял там треугольники где бы он вошел в рынок и рисовал линии от открытия до закрытия и опять от открытия до закрытия . Советник(и) передается с открытым кодом. Важно тестирование робота - 25 торговых сессий. Робот передается на тестирование с открытым кодом. Если обнаружены ошибки или баги, срок тестирования продлевается до устранения всех ошибок, багов или неправильной работы советника Вы готовы написав код, проверить его семь раз? Проверить семь раз убедится в том. что передаете заказчику тот алгоритм, который описан выше? Чтобы заказчик, не выступал в качестве тестеровщика, выявляя, что советник работает не так как написано в ТЗ. Т.е. написать код проверить его многократно? Готовы? Проверить алгоритм работы советника? Как будете проверять? Как написано выше прошу прогнать в тестере для проверки кода - это важно и предоставить результаты прогона. Гарантийный период на программный продукт 6 месяцев. Программист должен быть на связи чтобы в случае чего поправить ошибки, которые в течении тестирования не были выявлены. Как вы планируете быть на связи все эти 6 месяцев? В каком режиме мы сможем поддерживать связь? Ваши предложения?