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

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

Страницы: 1
Как получить цены "BID" и "OFFER" чтобы они выводились как в стакане?
 
Цитата
Anton Belonogov написал:
Lankaster, добрый день.

Можем предложить следующие варианты решения:
1) получать цену с помощью функции getQuoteLevel2 - в этом случае Вы получите значение, идентичное отображаемому в стакане;
2) добавить проверку точности инструмента и в зависимости от ее результата оставлять выполнять преобразование числа или оставлять исходное значение.

Например:

Код
    bid  =  tonumber( getParamEx (classcode, seccode,  "BID" ).param_value)
scale  =  tonumber( getParamEx (classcode, seccode,  "SEC_SCALE" ).param_value)

 if  scale  =  =   0   then 
   price  =   math.floor (bid)  --если точность инструмена равна 0, выполнить округление до целого числа 
 else 
   price  =  bid  --в противном случае преобразование не требуется 
 end 

  
Спасибо за помощь!
Как получить цены "BID" и "OFFER" чтобы они выводились как в стакане?
 
код почему-то опубликовался в одну строку, не знаю как редактировать пост, продублирую код тут

function countDecimalPlaces(number)
   local _, decimal = tostring(number):match"([^.]*).(.*)"
   return #decimal
end

-- Получаем информацию о выбранном инструменте
local security_info = getSecurityInfo(classcod, ticker)

-- Получаем шаг цены
local price_step = security_info.min_price_step
local decimal_places = countDecimalPlaces(price_step)
Как получить цены "BID" и "OFFER" чтобы они выводились как в стакане?
 
Профи, подскажите пожалуйста как правильно получить цены "BID" и "OFFER"
делаю так
Код
bid = tonumber(getParamEx(classcod, ticker, "BID").param_value)

выводит цену в виде 150,0 но в стакане цена вида 150 и заявка не выставляется
если добавляю так bid = math.floor(bid) тогда все нормально bid = 150
Но если меняю инструмент в котором к примеру 3 знака после запятой то такой код будет округлять до целого. Пробовал получить количество знаков после запятой через Шаг цены, с помощью чат жпт получился такой код

Код
function countDecimalPlaces(number)    local _, decimal = tostring(number):match"([^.]*).(.*)"    return #decimalend      -- Получаем информацию о выбранном инструментеlocal security_info = getSecurityInfo(classcod, ticker)-- Получаем шаг ценыlocal price_step = security_info.min_price_steplocal decimal_places = countDecimalPlaces(price_step)

и вот тут возникла проблема decimal_places (кол-во знаков после запятой) при шаге цены к примеру 2 выдает 1, а если инструмент имеет шаг к примеру 0,5 то decimal_places выдает тоже 1
каждый раз при смене инструмента приходится менять код, прошу помочь с решением этой проблемы.

Открытые позиции
 
Цитата
Zoya Skvorcova написал:
Lankaster  ,отображается.
строка 6000 USD .  В одном лоте 1000 бумаг.
я не спрашивал про объем позиции, с этим понятно, хоть я открывал в лотах, но мне почему-то это показывают в количестве бумаг. Вопрос был про цену открытой позиции, где мне ее посмотреть? где та самая цена 57,1075?  из таблиц заявки и сделки данные завтра исчезнут и где мне смотреть открытую позицию?
Открытые позиции
 
Цитата
Zoya Skvorcova написал:
Lankaster  ,вообще, это параметр Балансовая цена. Но для валютного рынка этот параметр не отображается.
непонятно, причем тут Балансовая цена, я нинакакой параметр не указывал. Вопрос был касательно открытой позиции. Где увидеть цену открытия позиции (открытой позиции)
Открытые позиции
 
открывал сегодня позицию бай по 57,1075 но эта сделка не отображается в таблице Состояние счета, там вообще непонятные числа, в 3 строке где российский рубль в колонке позиция указанно 310817,63 откуда эти значения ???
Открытые позиции
 

как тут понять по какой цене открыта позиция?  
Открытые позиции
 
Здравствуйте. Участвую в конкурсе "Invest Trial" от мос. биржи, в таблице участников вижу что у меня на валютном рынке открыта позиция
ВалютныйUSD000000TOD-5000 (-)
ВалютныйUSD000UTSTOM5000 (+5000)
Но в квике непонятно где отображается эта позиция. Помогите разобраться.
Страницы: 1
Наверх