Функция нахождения цены входа

Страницы: 1
RSS
Функция нахождения цены входа, Ошибка: attempt to call global 'EnterPriceUni' (a nil value)
 
При написании функции выставления стоп-профит заявки ошибка определения цены входа в строке "local PNnext = PN - direct*qty"
Подскажите пожалуйста где ошибка.
function EnterPriceUni(posNow,emit,class,acc)
   if(posNow==0)then
       return 0
   end
   local function fn1(param1,param2)
       if(param1==acc and  param2==emit)then
           return true
       else
           return false
       end
   end
   local index =  SearchItems("trades", 0, getNumberOf("trades")-1, fn1, "account,sec_code")
   local PN = posNow
   local Sum = 0
   if(index~=nil)then
       for i=#index,1,-1 do
           local row = getItem("trades",index[i])
           local direct
           if(bit.band(row.flags,4)>0)then
               direct = -1    --для продажи
           else
               direct = 1    --для покупки
           end
           local price = row.price
           local qty = row.qty
           local PNnext = PN - direct*qty                      --сдесь ошибка
           if(SignFunc(PNnext)~=SignFunc(PN))then
               Sum = Sum + direct*SignFunc(posNow)*price*math.min(qty,math.abs(PN))
               return Sum/math.abs(posNow)
           else
               Sum = Sum + direct*SignFunc(posNow)*price*qty
           end
           PN = PNnext
       end
   end
   return 0
end
 
Здравствуйте!
Ошибка, указанная в теме ветки, никак не связана со строкой local PNnext = PN - direct*qty.Просьба уточнить какая именно ошибка возникает при запуске скрипта?
QUIK clients support
Страницы: 1
Читают тему (гостей: 1)
Наверх