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

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

Страницы: 1
Таблицы в функции
 
Вы правы, когда делаешь так:
Код
local function Algo(S)

local pos = S.POS
local mp = S.MIDDLE_PRICE

end
то все замечательно работает, но тогда универсальность функции теряется. Мне нужно, чтобы в эту функцию можно было передавать и другие таблицы. А иначе придется эту функцию несколько раз копировать
Таблицы в функции
 
У меня еще вопрос, можно ли таблицу передавать в функцию, как переменную? Она в строковое значение не переведится ли? Может у меня из-за этого ошибка? Он же ругается, что ждет таблицу, а получает переменную.

А вот с этим  S = {}............S = 'lalalla' все в порядке
Таблицы в функции
 
Вызываю вот так:
Код
Algo(S, S.Pos, S.MIDDLE_PRICE)
Таблицы в функции
 
И некая функция:
Код
function Algo(s, sPos, sMIDDLE_PRICE)


end
Почему, когда я передаю таблицу в качестве параметров функции, функция не работает и выдает сообщение, функция ждет таблицу, а получает строковые данные?
Таблицы в функции
 
Здравстуйте, имеется таблица:
Код
S                  = 0       
S.POS              = 0               
S.MIDDLE_PRICE     = 0   
Прибыль/Убыток
 
Всех приветствую! Есть у кого код, который высчитвает из таблицы сделок прибыль и убыток по инструменту срочного рынка? Если не жалко поделитесь пожалуйста!
Транзакции на снятие Лимит. заявки
 
В общем пока здесь демагогию разводили, код заработал как-то сам, причем правильно)) Не знаю как это получилось.. Всем спасибо за ответы :lol:  
Транзакции на снятие Лимит. заявки
 
Это все, конечно, замечательно, но может кто-нибудь скинет этот кусок кода, который нормально умеет снимать заявки? (если не жалко конечно)
Транзакции на снятие Лимит. заявки
 
Поставил задержку (пробовал от 1 до 5 секунд) теперь вот что выдает:
Транзакции на снятие Лимит. заявки
 
Функция вызывается вот этим кодом:

if (PosNow == 0 or (PosNow ~= 0 and SignFunc(PosNow) ~= SignFunc(PrevPos)))then
   DeleteAllProfit(MyAccount, Emit, Class, FileLog,  "Удаление ПРОФИТА при перевороте или нулевой позе")
end

Если текущая поза равна нулю или был переворот позиции, то удаляются все профиты.
Транзакции на снятие Лимит. заявки
 
Скрин
Транзакции на снятие Лимит. заявки
 
Есть участок кода:
function DeleteAllProfit(acc, emit, class, file, prevString) --ФУНКЦИЯ УДАЛЕНИЯ ВСЕХ ТЕЙК-ПРОФИТОВ
   local N = getNumberOf("orders")
   local count = 0
   for i = 0, N - 1 do
       local row = getItem("orders", i)
       if (row.account == acc and row.sec_code == emit and row.class_code == class) then
           if (bit.band(row.flags,1) > 0) then
               local keyNumber = row.order_num
               DeleteProfitByNumber(emit, class, keyNumber, file, prevString)
               count = count + 1
           end
       end
   end
return count
end

function DeleteProfitByNumber(emit, class, keyNumber, file, prevString) --ФУНКЦИЯ УДАЛЕНИЯ ЗАЯВКИ ПО НОМЕРУ
transaction = { ["CLASSCODE"] = class,
                       ["SECCODE"] = emit,
                       ["TRANS_ID"] = "123",
                       ["ACTION"] = "KILL_ORDER",
                       ["ORDER_KEY"] = tostring(keyNumber),
                       ["CLIENT_CODE"] = "accountSL",
                      }
sendTransaction(transaction)
end

Вопрос: почему при вызове функции "DeleteAllProfit " заявка удаляется правильно, но одновременно выскакивает ошибка в Квике:Ошибка снятия заявки. [GW][14] "Не найдена заявка для удаления"?  
Отладка кода, Программа для отладки кода на языке lua для квик версии 9+
 
Здравствуйте, подскажите пожалуйста (а лучше) дайте ссылку на работающий отладчик кода. DECODA не работает... Спасибо!
Страницы: 1
Наверх