Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Сентября 13, 2024, 09:48:01 pm
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Автоматическое выставление заявок « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Автоматическое выставление заявок  (Прочитано 4344 раз)
Dmitriy
Newbie
*
Сообщений: 13


Просмотр профиля Email
« : Июня 27, 2013, 06:32:45 pm »

День добрый!
Скрипт, приведенный в примере по адресу http://www.transaq.ru/dokuwiki/atf:заявки_и_сделки :

function fixProfit(var id)
{
  var trade = getTrade(id);
  if (trade["operation"] == OP_BUY) {
    trade["operation"] = OP_SELL;
    trade["price"] = trade["price"] * 1.03;
    trade_action::transactMultiple(trade);
  }
}

не желает работать на ФОРТС. Попросту игнорируется.
Ver. 5.05.305.07, rev51, ATF 1.18.
Не подскажете ли, в чем может крыться причина?
Заранее благодарю!!
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : Июня 28, 2013, 03:07:23 pm »

У ATF есть возможности для установления причин таких ошибок. Посмотрите на той же странице документации раздел "Ошибки и номера транзакций" - сведения оттуда помогут определить в чем причина того, что код не приводит к совершению сделки.
Записан
Dmitriy
Newbie
*
Сообщений: 13


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

Проверил: сообщения signal::output(trade["message"])  и  signal::output(getLastErrorMessage()) - пустые..
Записан
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #3 : Июня 28, 2013, 05:12:34 pm »

2 Dmitriy
Попробуйте так
Code: [Select]
function fixProfit(var id)
{
    var trade = new_object("hash");    // Создать объект типа хэш
    trade = getTrade(id);
    ...    // Далее то, что там у Вас было далее :)
}
Записан
Dmitriy
Newbie
*
Сообщений: 13


Просмотр профиля Email
« Ответ #4 : Июля 01, 2013, 12:04:02 pm »

Большое спасибо Вам за участие, однако, к моему удивлению, этот способ также не сработал. Возымела эффект лишь замена функции на onClientTrade(id), вместо getProfit(id). В этом случае она вызывается по факту совершения сделки.
Записан
Страниц: [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!