Alexey Krechetov
6
All posts from Alexey Krechetov
Alexey Krechetov in krechetov,

Делаем торгового робота в Transaq своими руками. ч.2

     Итак, это продолжение серии постов о языке ATF транзака. В этом посте от описания причин, по которым в данный момент я выбрал это вариант, перейду к первым практическим примерам.

      Во первых написание и отладку  торговых роботов лучше всего проводить на демо счёте терминала Transaq.

      Для этого нужно скачать и установить демо версию терминала:  Transaq-Intra.  Которую вы можете найти по этой ссылке.   http://transaq.ru/overview

      Итак установив терминал, анчинаем первые шаги по созданию робота:

     В терминале Transaq Выбираем пункт «графики» в нём подпункт «Скрипты ATF»:


   Во вновь открывшемся окне выбираем пункт «Добавить»:


       После чего открывается окно в котором мы будем писать скрипт системы. В верхней части окна заполняем поля Название скрипта и Id. Заполняем латинским алфавитом. В данном случае назвал этого простейшего робота BOT:


       Под ним  поле кода скрипта. Сразу учтите, что сохранить скрипт до того как он будет логически завершён вам не удастся. Так что иногда бывает полезно писать или  копировать код в блокнот.

      Сегодня мы создадим простейшего тогового робота основанного на пересечении  двух экспоненциальных скользящих средних.

Итак, шаг №1

Задаём окно, в котором будут выводиться данные со скрипта:

#samewindow – это означает что данные (линии средних) будут накладываться прямо на график. Если не задать этот параметр, то они будут выводится в отдельном подокне.

 

Затем, в скрипте задаём вывод двух линий:

#line 1 solid Red

#line 0 solid Blue

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

      Следующий шаг вызываем функцию calc() в которой и будут прописаны правила и механизм заключения сделок. Эта функция обрабатывает данные каждый тик.

       function calc()

{

      Следущий шаг задаём расчёт линий 1 и 0 вывод которых мы прописывали ранее:

line[0] = MovAvg(ind_ema, 26, pt_close );

line[1] = MovAvg(ind_ema, 13, pt_close );

      После этого задаём условия совершения сделок:

if(line[0]<line[1] and  line[0][-1]>line[1][-1]){

                trade_action::buy(1, ::lots,close*1.01);}

if(line[0]>line[1] and  line[0][-1]<line[1][-1]){

                trade_action::sell(1, ::lots,close*0.99);}

   После чего закрываем функцию }

      

Здесь мы задали покупку при пересечении средней с более коротким периодом  средней с более длинным снизу вверх и продажу при аналогичном пересечении сверху вниз.

Вот что у нас получилось :


    Теперь жмём Ок.

     Выводим график какой либо бумаги. Для этого в таблице бумаг жмём правой кнопкой на бумагу и там вывести график. Это впрочем должны знать все кто пользуется Транзаком.

     Теперь щёлкаем правой кнопкой мыши на график цены и жмём «добавить индикатор» в окне выбора выбираем только что созданный нами скрипт «BOT» .

     Получаем вот такую картинку:


 

   На графике видим две скользящие среднии.  В левом нижнем углу красненькая фигурка робота. Если нажмём на неё, то она станет зелёной, что будет означать, что робот включен и будет совершать сделки в автоматическом режиме.  Отключить робота так же просто повторно нажав на его фигурку, после чего она снова станет красной.

   Итак, мы только что написали первого простенького робота сами.  Это первые Азы… В следующих постах расскажу как осуществлять контроль над вашими позициями по бумагам в роботе и задавать их торгуемое количество в зависимости от величины свободных средств.

    P.s. В виду того,  что отдельное сообщество решил не создавать (их у меня и так уже три). Посты по написанию роботов и индикаторов в ATF Транзака можно будет найти в блоге. Из-за замусоривания ленты в последнее время, на интересующие блоги лучше подписываться ИМХО, сделать это можно кликнув слева от данного поста на :


После чего искать кликая на эту иконку вверху:


   Внутри блога лучше всего искать посты на эту тему по тегу  ATF.

   На данный момент интересует мнение людей, что им нужно для создания торговых систем на этом языке, вопросы, предложения и т.д.   Интересующие вопросы задавайте в блоге, разберёмся. Будет ясно, в каком направлении эту ветку блога лучше вести.