Фьючесный контракт некорректные цены

Страницы: 1
RSS
Фьючесный контракт некорректные цены, EDH9 цена в стакане на данный момент 1.1306
 
EDH9 цена в стакане на данный момент 1.1306  при покупке не лимитной заявкой то есть по рынку цены вылетают в обе стороны 1.16 и 1.09 с копейками. Это даже не в пределах спреда такие движения за месяц редко бывают.
 
Код
-- Приводит переданную цену к требуемому для транзакции по инструменту виду
GetCorrectPrice = function(price) -- STRING
   -- Получает точность цены по инструменту
   local scale = getSecurityInfo(CLASS_CODE, SEC_CODE).scale
   -- Получает минимальный шаг цены инструмента
   local PriceStep = tonumber(getParamEx(CLASS_CODE, SEC_CODE, "SEC_PRICE_STEP").param_value)
   -- Если после запятой должны быть цифры
   if scale > 0 then
      price = tostring(price)
      -- Ищет в числе позицию запятой, или точки
      local dot_pos = price:find('.')
      local comma_pos = price:find(',')
      -- Если передано целое число
      if dot_pos == nil and comma_pos == nil then
         -- Добавляет к числу ',' и необходимое количество нулей и возвращает результат
         price = price..','
         for i=1,scale do price = price..'0' end
         return price
      else -- передано вещественное число         
         -- Если нужно, заменяет запятую на точку 
         if comma_pos ~= nil then price:gsub(',', '.') end
         -- Округляет число до необходимого количества знаков после запятой
         price = math_round(tonumber(price), scale)
         -- Корректирует на соответствие шагу цены
         price = math_round(price/PriceStep)*PriceStep
         price = string.gsub(tostring(price),'[\.]+', ',')
         return price
      end
   else -- После запятой не должно быть цифр
      -- Корректирует на соответствие шагу цены
      price = math_round(price/PriceStep)*PriceStep
      return tostring(math.floor(price))
   end
end


Функция тоже показывает не реальные цены  
 
Если ордер, открывать лимитными и закрывать, то журнал сделок показывает корректно цены. Но вот стоит маркет ордер в дело пустить так тут цены совсем не корректные. Но при этом,  денежные средства отнимаются корректно, то есть в пределах спреда и нормы.  
 
Все разобрался, на смартлабе и на этом форуме, нашел информацию.
А как узнать цены для открытия сделки, для робота?
 
Все разобрался тему можно удалить. Неплохо бы с кодом ошибки выдавать пояснения, старые советники все используют max min цены. В недоумении Человек от таких выкрутасов терминала.
Страницы: 1
Читают тему
Наверх