Исполнитель (Assistant)

Идея:

владелец робота задает в текстовом файле перечень бумаг и уровни, по которым он желает их купить или продать, робот в течение торговой сессии отслеживает все указанные бумаги и в случае достижения бумагами заданных уровней осуществляет сделки. Поддерживается 4 типа сделок:

  • Купить при снижении цены бумаги до заданного уровня
  • Продать при повышении цены до заданного уровня (классический тэйк-профит)
  • Купить при превышении цены заданного уровня
  • Продать при снижении цены ниже заданного уровня (классический стоп-лосс)

Для чего это нужно:

  • Оптимизация имеющихся ресурсов. Представьте ситуацию боковика, когда Вы хотите купить , скажем, 10 различных бумаг по ценам ниже рыночных. Но не имеете возможности поставить одновременно 10 заявок из-за отсутствия средств на 10 (пусть есть только на 3) и не имеете возможности следить непрерывно за ситуацией на рынке. Тогда робот Вам поможет, т.к. начнет последовательно покупать бумаги при достижении ими нужных уровней. Часть бумаг может и не упасть до нужных уровней. То же самое относится к "шортам". Т.е. робот позволит вам гибко использовать имеющиеся ресурсы при их дефиците.
  • Возможность осуществления торговли в "коридоре". Поскольку количество строк в файле-задании для одной бумаги не ограничено, возможно выставить коридор, а также задания что делать роботу в случае его пробоя. Также можно задать алгоритм усреднения при трендовой торговле.
  • Робот можно использовать во время отпуска (Если уж Вам настолько дорога игра на бирже).
  • Самодисциплина. Достаточно составить файл-задание на следующий день вечером и запретить себе вмешиваться в работу программы в течение торг. сессии.
  • Данные по выставленным роботом заявкам выводятся в окно


Особенностью робота является корректный расчет доступных лимитов перед выставлением заявки в торговую систему. Т.е. если вы хотите купить 10 лотов какой-то бумаги (или, например, фьючерсов FORTS ), но имеете доступных средств только на 5 , будут куплены 5 бумаг и в дальнейшем , если ресурсы освободятся и цена нужных бумаг достигнет нужного уровня, сделка закроется до конца.

Все выставляемые роботом заявки выставляются в торговую систему при приближении цены бумаги к заданному уровню и живут определенное время, задаваемое Вами. При неисполнении (или частичном исполнении) заявки в указанный период, заявки снимаются.

Робот может быть использован как исполнитель заданий любой другой системы, которая может создать (или модифицировать в течение торговой сессии) текстовый файл нужного формата с заданием.

Еще раз обращаем Ваше внимание, что робот НЕ ОПРЕДЕЛЯЕТ САМОСТОЯТЕЛЬНО уровней, оставляя все самое интересное Вам.

Через небольшое время Вы будете удивлены как Вы раньше могли обходиться без такого простого и удобного инструмента.

Настройки робота хранятся в текстовом файле-задании

Формат файла-задания (название по умолчанию Day_Hand.in он должен находиться в папке PathFiles из настроек пользователя):

1 строка :

дата в формате 12.12.2010 -при этом робот будет сравнивать текущую дату с датой в файле, и если разные, то работать не будет

с выдачей сообщения (это нужно, чтобы избежать использования устаревшего файла)

 

либо NONE- дата не проверяется

 

Символы // в начале строки- это комментарий-можно написать что угодно

 

Строка заявки- через запятую : КодИнструмента,ВидЗаявки,количество лотов КОТОРОЕ ДОЛЖНО БЫТЬ ДОСТИГНУТО после осуществления сделки,Цена

Если перед названием инструмента стоит "-", то заявка в ТС будет выставлена при превышении\снижении выше\ниже уровня цены.

 

Пример файла задания:

-------------------------------------------------------------

NONE

//4 ЭШЕЛОН

//Продать VFRM до остатка в 5 лотов (предположим, что было 10) по 1485 руб. Заявка будет выставлена при достижении уровня цены 1485*(1-0.005) где 0.005 - переменная из польз. настроек

VFRM,S,5,1485

//Продать VFRM полностью по 1515 по достижении цены

VFRM,S,0,1515

//Покупать VFRM до 15 лотов (неважно сколько есть сейчас , если уже 15 или больше, то заявка выставлена не будет)

//по 1452. Заявка будет выставлена при снижении цены меньше 1452*(1+0.005) где 0.005 - переменная из польз. настроек

VFRM,B,15,1472

//Купить MVID до 100 лотов при превышении цены 250.5 (по цене 250.5). (ТейкПрофит)

-MVID,B,100,240.5

//Продать MVID до 0 при снижении цены ниже 229 (по цене 229). (СтопЛосс)

-MVID,S,0,229

//1 ЭШЕЛОН

//Пытаемся продать Лукойл : По достижении 1920 оставляем 20, 1930-продаем еще 10 ,1940- полностью,1950- открываем шорт.

//Предположим открытие произошло по 1900 руб

LKOH,S,20,1920

LKOH,S,10,1930

LKOH,S,0,1940

LKOH,S,-20,1950

-----------------------------------------------------------

Конец примера

 

Неотработанные заявки будут убиты после времени от их выставления в ТС

TimeLimit= 600 сек. из польз. настроек

 

ВАЖНО: Строки файла задания отрабатываются последовательно, поэтому нек. приоритет будет у строк, находящихся выше.

Если заявка не может быть полностью выполнена из-за нехватки средств, то будет куплено\продано (в случае шорта) только то количество,

которое доступно по лимитам в данный момент.

 

Настройка робота

image01

Откройте файл Исполнитель.qpl в любом текстовом редакторе (например в блокноте)

 

Задайте пути для файлов и другие необходимые параметры и номер своего счета. Сохраните файл.

 

Загрузите скрипт в QUIK в соответствии с инструкцией по загрузке

Файл Func_0.txt должен находиться в той-же папке, что и скрипт (Исполнитель.qpl)

 

Скачать инструкцию по установке робота

 

Все возникающие у Вас вопросы Вы можете задать, написав письмо на адрес Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript либо заполнив форму обратной связи в разделе "Контакты"

 

Возможно Вас заинтересуют другие торговые роботы данной категории:

 
Трендовые роботы ПОКУПАЙ НА РОСТЕ,
ПРОДАВАЙ НА ПАДЕНИИ
Контртрендовые роботы Покупай на падении,
продавай на росте
Смешанный тип Помощники Возможность быстрой и
простой реализации
собственных несложных стратегий