Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Октября 12, 2024, 09:54:00 am
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Не удается считать статус стоп-заявки в Интре « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Не удается считать статус стоп-заявки в Интре  (Прочитано 6078 раз)
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« : Июля 15, 2013, 12:40:17 pm »

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

Делаю вот так:

Code: [Select]
function onStopOrder(var trnid)
{
var StopOrder;

if (trnid != StopOrder_1_TransaqID)
  {
  StopOrder = getStopOrder(trnid);
  StopOrder_1_Status = StopOrder["status"];
  }
}

При всем при том,  статус обычных заявок (не стопов) считывать таким способом получается.

В чем причина?
1. Я что-то делаю не так?
2. В Интре решили не моделировать эту тонкость?
3. Баг?
4. Фича? :)

Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : Июля 15, 2013, 05:25:01 pm »

А в чем выражается, что "не удается"? Недостаточно деталей, но вообще насколько я понимаю статус должен быть. Что оказывается в переменной StopOrder_1_Status?
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #2 : Июля 15, 2013, 06:30:04 pm »

А в чем выражается, что "не удается"? Недостаточно деталей, но вообще насколько я понимаю статус должен быть. Что оказывается в переменной StopOrder_1_Status?

В эту переменную, по идее, должен считываться статус моей стоп-заявки. Но он почему-то не считывается. В самом начале работы скрипта я присваиваю этой переменной значение минус единица. Стоп-заявка выставляется, срабатывает и т.п., но статус так и остается равным минус единице.
А вот для обычных заявок (не стопов) статус считывается без проблем (т.е. исполнена, отклонена брокером и т.п.).


Недостаточно деталей...

Вот детали:  :)

Code: [Select]
#line 0 nodraw

static StopOrder_1_IssuedAlready = "Нет";
static StopOrder_1_TransaqID = 0;
static StopOrder_1_Status = -1;

 function onNewCandle()
{
signal::outputMultiple ("StopOrder_1_Status = " + StopOrder_1_Status);
}

 function onStopOrder(var trnid)
{
var StopOrder;

if (trnid != StopOrder_1_TransaqID)
  {
  StopOrder = getStopOrder(trnid);
  StopOrder_1_Status = StopOrder["status"];
  }
}

function init()
{
setBounds (0, countCandles(), 0);
  setInitCandles(countCandles());
}


 function calc()
 { 
  if (not isHistoryCalculated()) {return;}
  line [0] = 0;
 
if (StopOrder_1_IssuedAlready == "Нет")
{
  var stop = new_object("hash");
stop["validbefore"] = TILL_CANCELED;
stop["tp_quantity"] = 1;
stop["sl_quantity"] = 1;
stop["tp_spread"] = 0;
stop["operation"] = OP_BUY;
stop["tp_activationprice"] = close - 25;
stop["tp_brokerref"] = "TP_П_1";
stop["sl_activationprice"] = close + 25;
StopOrder_1_TransaqID = trade_action::transact(stop);

StopOrder_1_IssuedAlready = "Да";
}
  }
 

На каждой новой свечке статус этой заявки всегда показывается равным минус единице, несмотря на то, что с ней присходит (выставляется, ждет исполнения, уже исполнена...).

Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #3 : Июля 15, 2013, 07:07:22 pm »

2 Олег

А что теперь если получаем хеш, то его не надо предварительно объявлять/создавать?  :o
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #4 : Июля 15, 2013, 07:47:19 pm »

2 Олег

А что теперь если получаем хеш, то его не надо предварительно объявлять/создавать?  :o

Я делал по аналогии вот с этим:



Может очередная ошибка в документации?
« Последнее редактирование: Июля 15, 2013, 07:50:09 pm от Олег » Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #5 : Июля 15, 2013, 07:53:15 pm »

Нет, ошибки нет, создавать заранее хэщ совершенно не нужно.

Насчет описываемого поведения, затрудняюсь сказать в чем дело - буду отлаживаться. Теоретически есть подозрение, что ошибка связана с тем, что у нас некоторое время назад была ошибка, связанная с обработкой оператора if. Таких сборок было очень мало, но теоретически вам могла попасться такая. Попробуйте убрать if - если начнет работать, то надо будет делать обновление.
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #6 : Июля 15, 2013, 08:07:35 pm »

Нет, ошибки нет, создавать заранее хэщ совершенно не нужно.

Ну я так и думал.
А чего тогда Бугем меня путает, язвительные вопросики подбрасывает? :)
Безобразие! :)

Насчет описываемого поведения, затрудняюсь сказать в чем дело - буду отлаживаться. Теоретически есть подозрение, что ошибка связана с тем, что у нас некоторое время назад была ошибка, связанная с обработкой оператора if. Таких сборок было очень мало, но теоретически вам могла попасться такая. Попробуйте убрать if - если начнет работать, то надо будет делать обновление.

Хорошо, сейчас поэкспериментирую, потом отпишусь о результатах.
Только мне пока не понятно, как без if идентифицировать именно ту стоп-заявку, статус которой нас интересует. Сейчас попробую что-нибудь придумать.
Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #7 : Июля 15, 2013, 08:08:23 pm »

Нет, ошибки нет, создавать заранее хэщ совершенно не нужно.

Heller, это относится только к hash  или и к другим object тоже?
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #8 : Июля 15, 2013, 10:49:14 pm »

Насчет описываемого поведения, затрудняюсь сказать в чем дело - буду отлаживаться. Теоретически есть подозрение, что ошибка связана с тем, что у нас некоторое время назад была ошибка, связанная с обработкой оператора if. Таких сборок было очень мало, но теоретически вам могла попасться такая. Попробуйте убрать if - если начнет работать, то надо будет делать обновление.

Хорошо, сейчас поэкспериментирую, потом отпишусь о результатах.
Только мне пока не понятно, как без if идентифицировать именно ту стоп-заявку, статус которой нас интересует. Сейчас попробую что-нибудь придумать.

Heller, отбой воздушной тревоги! :)
Не надо отлаживаться в этом направлении!
В процессе экспериментов я в своем коде (см. выше) поймал огромного колорадского жука. Удивляюсь, как я его раньше не заметил.
Вот он-то все и портил:



Жука убил, теперь все работает идеально. В смысле, статус стоп-заявок считывается без проблем.
« Последнее редактирование: Июля 15, 2013, 10:51:54 pm от Олег » Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #9 : Июля 19, 2013, 04:20:37 pm »

bugem, нет, любые функции, которые возвращают какие-то объекты, они заранее их создают сами.
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Не удается считать статус стоп-заявки в Интре « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!