attempt to index a nil value, При переборе циклом for выдвет ошибку attempt to index a nil value
Пользователь
Сообщений: Регистрация: 19.05.2022
16.02.2024 08:43:48
Спасибо, SearchItems сработал. Ошибка больше не возникает!
attempt to index a nil value, При переборе циклом for выдвет ошибку attempt to index a nil value
Пользователь
Сообщений: Регистрация: 19.05.2022
15.02.2024 09:56:05
При переборе циклом for выдвет ошибку attempt to index a nil value. В чем ошибка функции?
Код
function Count_Contracts_By_Price(price, sell_or_buy_order)
local qty_opders = 0
for f = 0, getNumberOf("orders") - 1 do
local order_info = getItem("orders", f)
if order_info.sec_code == Emit and order_info.account == MyAccount and CheckBit(order_info.flags, 0) == 1 and (order_info.brokerref == "LimitLevels") then
if (order_info.price == price) and (CheckBit(order_info.flags, 2) == 1) and (sell_or_buy_order == "Sell") then
qty_opders = qty_opders + order_info.qty
elseif (order_info.price == price) and (CheckBit(order_info.flags, 2) ~= 1) and (sell_or_buy_order == "Buy") then
qty_opders = qty_opders + order_info.qty
end
end
end
return qty_opders
end
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
19.12.2023 09:56:33
Да, проблема решена. Я код пишу в MS Visual Studio Code и кодировка стояла UTF-8. Для решения проблемы нужно просто пересохранить файл в кодировке Windows 1251 и все будет тип топ.
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
19.12.2023 07:38:46
Да, стандартные таблицы Квика работают как надо, проблема с таблицами робота
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
18.12.2023 18:52:49
Установил стандартные шрифты, как указано в пунктах 1-3. Убрал файл info.wnd из корневой папки, перезапустил Квик, открылся Квик безо всяких таблиц графиков и .тп., запустил робота и все как прежде - вместо русских букв показывает иероглифы. Может проблема в Windows 11. У меня лицензионная система, купленная официально. Но нюанс в том, что сборка Британская. Может там собака зарыта?
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
18.12.2023 08:49:47
Не помогло, перевел все названия из своих таблиц на английский язык, что очень неприятно. Хотелось бы чтоб все было на великом могучем.
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
04.12.2023 15:12:27
У меня Windows 11, сделал все по аналогии, но работать как надо не стало
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
03.12.2023 15:47:05
Если бы ничего не изменилось, то все работало бы нормально, как это было до этого.
Кодировка в таблицах Квика
Пользователь
Сообщений: Регистрация: 19.05.2022
03.12.2023 15:28:00
Больше двух лет не запускал своего робота и возникла в нем необходимость. При отображении таблиц робота вместо русских блов отображаются непонятные символы (СКИРН). Как исправить проблему?
Таблицы в функции
Пользователь
Сообщений: Регистрация: 19.05.2022
29.07.2022 18:41:29
Вы правы, когда делаешь так:
Код
local function Algo(S)
local pos = S.POS
local mp = S.MIDDLE_PRICE
end
то все замечательно работает, но тогда универсальность функции теряется. Мне нужно, чтобы в эту функцию можно было передавать и другие таблицы. А иначе придется эту функцию несколько раз копировать
Таблицы в функции
Пользователь
Сообщений: Регистрация: 19.05.2022
29.07.2022 18:25:20
У меня еще вопрос, можно ли таблицу передавать в функцию, как переменную? Она в строковое значение не переведится ли? Может у меня из-за этого ошибка? Он же ругается, что ждет таблицу, а получает переменную.
А вот с этим S = {}............S = 'lalalla' все в порядке
Таблицы в функции
Пользователь
Сообщений: Регистрация: 19.05.2022
29.07.2022 18:16:37
Вызываю вот так:
Код
Algo(S, S.Pos, S.MIDDLE_PRICE)
Таблицы в функции
Пользователь
Сообщений: Регистрация: 19.05.2022
29.07.2022 18:12:20
И некая функция:
Код
function Algo(s, sPos, sMIDDLE_PRICE)
end
Почему, когда я передаю таблицу в качестве параметров функции, функция не работает и выдает сообщение, функция ждет таблицу, а получает строковые данные?
Таблицы в функции
Пользователь
Сообщений: Регистрация: 19.05.2022
29.07.2022 18:08:52
Здравстуйте, имеется таблица:
Код
S = 0
S.POS = 0
S.MIDDLE_PRICE = 0
Прибыль/Убыток
Пользователь
Сообщений: Регистрация: 19.05.2022
16.06.2022 15:06:31
Всех приветствую! Есть у кого код, который высчитвает из таблицы сделок прибыль и убыток по инструменту срочного рынка? Если не жалко поделитесь пожалуйста!
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
07.06.2022 16:59:22
В общем пока здесь демагогию разводили, код заработал как-то сам, причем правильно)) Не знаю как это получилось.. Всем спасибо за ответы
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
07.06.2022 14:37:30
Это все, конечно, замечательно, но может кто-нибудь скинет этот кусок кода, который нормально умеет снимать заявки? (если не жалко конечно)
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
06.06.2022 11:24:05
Поставил задержку (пробовал от 1 до 5 секунд) теперь вот что выдает:
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
06.06.2022 11:22:12
Функция вызывается вот этим кодом:
if (PosNow == 0 or (PosNow ~= 0 and SignFunc(PosNow) ~= SignFunc(PrevPos)))then DeleteAllProfit(MyAccount, Emit, Class, FileLog, "Удаление ПРОФИТА при перевороте или нулевой позе") end
Если текущая поза равна нулю или был переворот позиции, то удаляются все профиты.
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
03.06.2022 11:33:51
Скрин
Транзакции на снятие Лимит. заявки
Пользователь
Сообщений: Регистрация: 19.05.2022
03.06.2022 11:20:06
Есть участок кода: 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
Вопрос: почему при вызове функции "DeleteAllProfit " заявка удаляется правильно, но одновременно выскакивает ошибка в Квике:Ошибка снятия заявки. [GW][14] "Не найдена заявка для удаления"?
Отладка кода, Программа для отладки кода на языке lua для квик версии 9+
Пользователь
Сообщений: Регистрация: 19.05.2022
19.05.2022 13:56:56
Здравствуйте, подскажите пожалуйста (а лучше) дайте ссылку на работающий отладчик кода. DECODA не работает... Спасибо!