Главная / IQ Robots / Создание торгового IQ робота. Свеча типа Доджи
0 188

Создание торгового IQ робота. Свеча типа Доджи

Официальный сайт IQ Robots

Создадим робота, который будет открывать сделку против направления предпоследней свечи в случае, если последняя свеча была типа Доджи.

Создадим нашего робота, нажав на кнопку «Создать нового робота». В появившемся окне вводим название робота и нажимаем «Создать». Видим, что в поле конструктора есть уже два начальных блока «ONCANDLE» и «ONTICK». Наша стратегия основана на свечах, поэтому мы будем использовать блок «ONCANDLE». Однако, в блок «ONCANDLE» приходит информация только о последней свече, а нам нужны две последние. Поэтому найдем в разделе «TOOLS» — «Information» блок «Candlesticks Data». Перетащим его в поле конструктора и в параметрах зададим период свечей, с которыми мы хотим работать.

Укажем 30 секунд и делаем этот параметр глобальным. С помощью блока «Transform», который позволяет получить конкретные данные из сложных структур, получим данные о последних двух свечах. Для этого соединим блок с блоком «CANDLEINFO». И в параметрах через запятую укажем номер свечей, которые нам нужны, и 2-ая.

Теперь с помощью еще двух блоков «Transform» получим из этих свечей данные о цене закрытия и цене открытия.

Устанавливаем связи между блоками, открываем настройки и в выпадающем списке выбираем нужные нам значение – цена открытия и цена закрытия.

Затем с помощью блока «IF» мы проверим, была ли последний свеча типа Доджи и какого цвета была предпоследняя свеча – красной или зеленой. Для этого сравним в блоке «IF» значение цены закрытия и цены открытия наших свечей. Добавляем блоки «IF». Нажимаем на кнопку, которая позволяет сравнивать два входных значения, и устанавливаем связи между блоками.

Если свеча типа Доджи, то ее цена открытия должна быть равна цене закрытия, значит в блоке «IF». В этом случае информация придет на коннектор со знаком «равно». Аналогично, если цена закрытия больше или меньше цены открытия, то информация придет на знаки меньше и больше.

Теперь добавим два блока проверки данных. Блок называется «Data Validation». В нашем случае, он отдаст данные, только если выполнены сразу два условия – последняя свеча Доджи и предпоследняя свеча бычья или медвежья.

Устанавливаем связи. Последняя свеча типа Доджи, предпоследняя – медвежья. И аналогично для второго блока, только предпоследняя свеча – бычья.

Далее добавим блок, который формирует сигнал. Он называется «Createa Signal». Если последняя свеча была типа Доджи и предпоследняя была медвежья, то мы формируем сигнал типа «call». Аналогично, если последняя свеча была типа Доджи, а предпоследняя была бычья, то мы формируем сигнал «put».

Теперь добавим два блока «Filter EMAUP» и «Filter EMADOWN». Эти блоки пропустят сигнал дальше, только если индикатор EMAбыл восходящий для сигналов выше или нисходящий для сигналов ниже. Период индикатора зададим равным «20».

Блоки находятся в разделе «STRATEGIES» -«Filters» и называются «Upward EMA»и «Downward EMA». В параметрах указываем значение «20».

Затем с помощью блока «UNION» объединим сигналы в одну ветку. Находится блок в разделе «TOOLS» — «Logical» и называется «Data Integration».

Далее нам нужен блок, который проверяет процент доходности по активу и пропускает данные дальше. Только если этот процент выше, чем указанное в блоке значение. Этот блок находится в разделе «STRATEGIES» — «Filters» называется «Minimum Profit Percentage». В нашем случае, процент доходности, по которым будет торговать робот, должен быть больше 80%.

Так как наш робот будет использовать стратегию управления капиталом «мартингейл», добавляем этот блок в поле конструктора. А в параметрах выставляем значение равное «5». Это число задает, на сколько процентов прибыль новой сделки перекроет убытки от предыдущих неудачных сделок.

И в конце добавляем блок «Open Trade». Именно он отправляет запрос на совершение сделки. То есть, без наличия этого блока сделки совершиться роботом не будут, а будут формироваться только сигналы по принципу, описанному выше.

Сохраняем нашего робота и тестируем его на исторических данных.