gnusmas (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена заявки и стоп-заявки, Поля транзакции для замены order и stop-order
 
Для MOEX в режиме TQBR.
Замена заявки и стоп-заявки, Поля транзакции для замены order и stop-order
 
Подскажите, какие поля транзакции для sendTransaction надо заполнить для замены уже существующей заявки:
1. order
2. stop-order
getMoney и getMoneyEx возвращают nil, Как получить данные от getMoney или getMoneyEx?
 
Roman Azarov, спасибо, помогло.
OnParam: порядок срабатывания
 
swerg, вы сегодня, вижу, работаете Капитаном Очевидность.  :smile: Ну, хорошо, а если так?
Код
function OnParam( class, sec )
  if (class==class_required) and (sec==sec_required) then
    valtoday = tonumber(getParamEx(class, sec, "VALTODAY").param_value)
  end
end

Вопрос, вынесенный в первый пост пока остается нерешенным.
OnParam: какие данные изменились?
 
Я надеялся, что от QUIK можно получить эту инфу. А так-то оно конечно.
OnParam: порядок срабатывания
 
Код
function OnParam( class, sec )
  if class=="TQBR" then
    valtoday = tonumber(getParamEx(class, sec, "VALTODAY").param_value)
  end
end

Этот вопрос, полагаю, перекликается с вопросом OnParam: какие данные изменились?, но тем не менее.

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

Так ли это, и если так, то как эту проблему обойти?
OnParam: какие данные изменились?
 
Код
function OnParam( class, sec )
  if class=="TQBR" then
    last = tonumber(getParamEx(class, sec, "LAST").param_value)
    valtoday = tonumber(getParamEx(class, sec, "VALTODAY").param_value)
  end
end

Я привел в пример получение двух значений, но их может быть больше. Как узнать, какое именно из получаемых значений по инструменту изменилось?
getMoney и getMoneyEx возвращают nil, Как получить данные от getMoney или getMoneyEx?
 
Код
function main()
    -- Параметры для запроса берутся из таблицы "Лимиты по денежным средствам"
    -- client_code = "Код клиента"
    -- firmid = "Фирма"
    -- tag = "Группа"
    -- currcode = "Валюта"

    -- Беру данные из таблицы "Таблица лимитов по денежным средствам" (тип: "Позиции по деньгам") (портфель фондового рынка)
    -- Валюта
    local currcode = "SUR"

    -- Пункта "Группа" в таблице нет, поэтому беру значение "RTOD" из примера
    local tag = "RTOD"

    -- "Код клиента" из таблицы
    local client_code = "123456"

    -- "Фирма" из таблицы
    local firmid = "MC1234567890"

    local money = getMoney(client_code, firmid, tag, currcode)
    local money_ex = getMoneyEx(firmid, client_code, tag, currcode, 0)
end

Результат:
money - таблица, в которой все поля равны 0.
money_ex - всегда nil.

Что надо исправить, чтобы получить количество доступных средств для клиента?
Страницы: 1
Наверх