Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: oleg56 on 02.03.2021, 18:34:33

Title: Не выставляются заявки на FORTS
Post by: oleg56 on 02.03.2021, 18:34:33
Помогите пжста.
Беру стандартный пример кода, вставляю, размещаю на инструменте (фьючерсе), нажимаю иконку - становится зеленой.
Однако, заявки не выставляются.  Ничего не происходит абсолютно.
Заранее спасибо!

// Данная демонстрационна стратегия продает
// при любом движении цены вверх на step_percent
// процентов и покупает при движении цены вниз
// на step_percent процентов в ожидании коррекции.
// При этом используются лимитированные заявки,
// постоянно выставлено пять-шесть лимитированных
// заявок на одинаковом расстоянии. Смотрите
// результаты тестировщика ATF для более наглядного
// представления.
 
 
extern step_percent = 0.003;
extern num = 5;
extern amount = 1;
 
var step;
static buy_count = 0;
static sell_count = 0;

function init()
{
   step = step_percent / 100;
}
 
function buy(var price)
{
   trade_action::buyMultiple(amount, ::lots, price);
   buy_count += 1;
}
 
 
function sell(var price)
{
   trade_action::sellMultiple(amount, ::lots, price);
   sell_count += 1;
}
 
function setOrders()
{
   var i = 1;
   while (i <= num) {
      buy(close * (1 - i*step));
      sell(close * (1 + i*step));
      i += 1;
   }
}
 
function onHistoryCalculated()
{
   setOrders();
}
 
function onATFOrder(var id)
{
   var order = getOrder(id);
   if (order["status"] == OS_MATCHED) {
      if (order["operation"] == OP_BUY) {
         buy_count -= 1;
         var newprice = order["price"] * (1 - step * num);
         var oldprice = order["price"] * (1 + step);
         if (buy_count < num) {buy(newprice);}
         sell(oldprice);
      }
      else {
         sell_count -= 1;
         var newprice = order["price"] * (1 + step * num);
         var oldprice = order["price"] * (1 - step);
         if (sell_count < num) {sell(newprice);}
         buy(oldprice);
      }
   }
}
Title: Re: Не выставляются заявки
Post by: oleg56 on 04.03.2021, 17:40:55
Заявки не выставляются только для FORTS. На ММВБ выставляются.
Title: Re: Не выставляются заявки на FORTS
Post by: Almaz on 06.03.2021, 12:57:52
У нас все работает, фьючи, акции, акции США
В коде разбираться лень, судя по нему Вы только начали/начинающий или не программист
Title: Re: Не выставляются заявки на FORTS
Post by: oleg56 on 06.03.2021, 18:50:14
Да, я начинающий.
У меня ММА счет от финама.

Упростил код до trade_action::buy(1, ::lots);

На рынке акций заявки выставляются.
Тот же самый код на фьючах не работает!
Title: Re: Не выставляются заявки на FORTS
Post by: oleg56 on 06.03.2021, 19:10:11
При ручном выставлении заявки с графика правой кнопкой - код клиента в окне заявки подставляется верно, с этим проблем нет.
Title: Re: Не выставляются заявки на FORTS
Post by: Almaz on 08.03.2021, 15:25:14
Вам придется стать программистом или нанимать/совместно работать с кем либо.
Люди отмалчиваются потому что каждый день появляются новые авторы которые знают золотую грааль но вот, обычно то денег не хватает то навыков программирования, про третье молчу. Говорить об этом прямо - вызвать негативный поток на себя. Кому это надо? Поэтому проще не замечать/отмолчаться.
Про среду ATF с моей точки зрения самая простая среда программирования, жаль что больше не поддерживается и не такая документированная как Квик. Есть другие но они стоят денег и к сожалению дарят только иллюзию.
Вам как автору нужно доказать свой успех торгуя руками, и тогда Вы можете сказать вот Common там моя стратегия ХХХ за год заработала УУУ%. Не хватает только автоматизации.
Про открытие закрытие позиции смотрите http://www.transaq.ru/dokuwiki/atf:%D0%B7%D0%B0%D1%8F%D0%B2%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B4%D0%B5%D0%BB%D0%BA%D0%B8
Можно предположить что Вы указали не правильный целевой счет/он же клиент или в заявке содержатся некорректные данные, или Ваш счет не предназначен для торговли акциями или еще что то...
Title: Re: Не выставляются заявки на FORTS
Post by: Almaz on 08.03.2021, 15:34:32
onATFOrder(id) - событие изменения статуса заявки выставленной роботом; в качестве id передается номер транзакции.(устарело в ATF 1.16)
То есть Вы еще используете устаревшие функции, которые могут не работать
Если копнуть глубже: То код написанный для одного Сервера например Финам, может не работать на Финам Банке так как у них другая версия сервера (словоблудие)
Title: Re: Не выставляются заявки на FORTS
Post by: oleg56 on 08.03.2021, 16:23:37
Спасибо, буду копать в эту сторону