Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: DiveRSS on Марта 29, 2013, 09:51:00 am

Title: Авто следование.
Post by: DiveRSS on Марта 29, 2013, 09:51:00 am
Ребят не могу понять к чему привязать авто следование.
Есть код который привязывается к ценам в стакане но он не срабатывает по функции calc().
Вот часть кода может кто подскажет.
function calc()
{
         var book = new_object("book");
         book.subscribe();   //подписка
         book.load();      //загрузка
         bookSell=book.getBidPrice(0);
         bookBuy=book.getAskPrice(book.getAskPosCount()-1);
         
         Tp1 = bookSell - bookSell*Sledovanie/100;
         Tp2 = bookBuy + bookBuy*Sledovanie/100;         
while (getSecBalance() != 0  )
 {
   //signal::alert("Кол СЛ"+Sl_pris+"  trade_oper  "+trade_oper);   
      while(trade_oper==OP_BUY)
            {
            
                     //signal::alert("Перед отменой");
                     trade_action::cancelAllOrders();

                     var sl_order1=new_object("hash");
                     sl_order1["quantity"] = getSecBalance()/getLotSize();
                     sl_order1["operation"] = OP_BUY;
                     sl_order1["validbefore"] =TILL_CANCELED;
                     sl_order1["usecredit"] = false;
                     sl_order1["condition"] = COND_LAST_UP;
                     sl_order1["condvalue"] = Tp1;
                     sl_order1["withinpos"] = true;
                     trade_action::transactMultiple(sl_order);
                     //signal::alert("После заявки");
                     //Sl_pris = ST1;
                     return;
            
            }      


            return;
   }
}
Title: Re: Авто следование.
Post by: Heller on Апреля 01, 2013, 12:47:56 pm
Ошибка тут в том, что вы подписываетесь на стакан и тут же пытаетесь использовать его данные, хотя для того, чтобы они пришли, нужно какое-то время.

Обычно подписка на стакан делается где-нибудь в методе init() или onHistoryCalculated(), а затем уже строится работа со стаканом, по которому уже есть подписка, внутри метода calc().
Title: Re: Авто следование.
Post by: DiveRSS on Апреля 11, 2013, 02:54:50 pm
Доброго времени суток еще раз. За подсказку спасибо перепробовал все что пришло мою дурную голову не получилось.
Не кто не знает команды как привезутся не к стакану а курсу по конкретной бумаги?. Если эти данные поступают в программу значит их можно как-то получить?.
Title: Re: Авто следование.
Post by: Heller on Апреля 12, 2013, 12:26:17 pm
Честно говоря я совершенно не понял что вы имеете ввиду.
Title: Re: Авто следование.
Post by: DiveRSS on Апреля 15, 2013, 12:12:29 pm
Дилемма в том что я ищу к каким цифрам привязать формулы.
З,Ы. Скрин того чего я хочу использовать в программе ниже ( верней те цифры.)
Title: Re: Авто следование.
Post by: Heller on Апреля 15, 2013, 01:05:32 pm
Получить именно значение "Курс" из ATF на данный момент нельзя, однако можно получить цену последней сделки - практически всегда "Курс" равен именно её. В каких-то очень редких ситуациях они могут не соответствовать - например, если сегодня сделок по бумаге еще не было, то цена последней сделки будет отсутствовать, а курс будет соответствовать вчерашнему закрытию. Но в целом в большинстве ситуаций вы можете использовать значение последней сделки.

Если вам нудна какая-то другая бумага (не та, к которой вы привязываете индикатор), то вы можете подписаться по неё через объект statline, а из него уже получить поле param_last.
Title: Re: Авто следование.
Post by: DiveRSS on Января 16, 2014, 01:43:12 pm
Здравствуйте. Я Снова вернулся к тебе авто следования. Спасибо за подсказку как привязаться к курсу.
У меня возни сложности с тестированием и не могли бы подсказать как работает команда signal::alertMultipe("Покупай внутри свечи!"); в контексте данного когда что то не получается понять как ее выводить без сбоев и отслеживать изменения.

Var count;
function f()
{
   
   count += 1;
   signal::alertMultipe(count);
   while    (count > 2)
      {
      count = 0;
      f();
      signal::alert("if");
      }      
}
function init()
{
  timerID = setTimer("f", 10000, TIMER_PERIODICALLY);
}
Title: Re: Авто следование.
Post by: DiveRSS on Января 17, 2014, 10:36:12 am
Вопрос снят был идиотским разобрался..