Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
24.01.2025, 19:17:46
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Ошибки в ::cancelStopOrder(id) и hashStop["accepttime"] « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Ошибки в ::cancelStopOrder(id) и hashStop["accepttime"]  (Прочитано 4174 раз)
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« : 16.05.2013, 13:14:40 »

Уважаемые разработчики!
1.
Code: [Select]
    var trind = 0;

    trind = trade_action::cancelStopOrder(activeStopOrderId);

    if(!trind)
    {
        signal::output(getLastErrorMessage());
    }
trind всегда возвращает 0, даже если операция прошла успешно.

2.
Поле ["accepttime"] хеша Стоп заявки возвращает время +4 часа к Мск. Ниже вырезка из лога:
Quote
16.05.13;11:56:05;STOP_ORDER:301;0;-1;SS_DISABLED;opr: -1;INTRA5;0;INTRA5;15:40:01 16.05.13;aPc: 2.28;5;qty: 18;-1;;
16.05.13;11:56:05;STOP_ORDER:311;0;-1;SS_WATCHING;opr: -1;INTRA5;0;INTRA5;15:56:04 16.05.13;aPc: 2.281;5;qty: 18;-1;;

Зеленым цветом время правильное: getFormattedDateTime(getServerTime());
Красным: getFormattedDateTime(hashStop["accepttime"]);

INTRA5 ATF1.18

Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : 16.05.2013, 14:38:04 »

В первом случае ошибки нет, вот по этому поводу описание из документации:

Quote
trade_action::cancelStopOrder(id) - Снять стоп-заявку по идентификатору или по структуре. Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку. (ver. 1.10)

Вторую ошибку буду сейчас смотреть, исправим в ближайшей версии.
Записан
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #2 : 16.05.2013, 15:12:45 »

по п.1. Видимо не внимательно прочитал
тогда правильно будет так?
Code: [Select]
    var trind = 0;

    trind = trade_action::cancelStopOrder(activeStopOrderId);

    if(trind != "")
    {
        signal::output(getLastErrorMessage());
    }
???
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #3 : 16.05.2013, 15:20:55 »

Да, либо так, либо в общем-то проще:

Code: [Select]
var error = 0;

error = trade_action::cancelStopOrder(activeStopOrderId);

if(error)
{
     signal::output(error);
}
Записан
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #4 : 16.05.2013, 15:27:26 »

Ну да, так проще. Туплю чет сегодня :)
Спасибо.
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Ошибки в ::cancelStopOrder(id) и hashStop["accepttime"] « предыдущая тема следующая тема »
Перейти в:  


Войти

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