Andrey Bezrukov, Какой будет отклик с выключенной настройкой при подаче транзакции: 1) с неверным кодом клиента? 2) с пустым кодом клиента?
Надо делать так, как надо. А как не надо - делать не надо.
События на закрытие QLua-таблицы
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.08.2021 14:20:15
1. В целях корректной обработки события закрытия таблицы предлагаю вызывать OnClose, когда только дана команда главному окну терминала на закрытие (нажат крестик, Alt+F4 или "Система -> Выход") до QTABLE_CLOSE. Тогда OnClose можно будет использовать, чтобы определить, что таблица закрыта не пользователем.
2. В аналогичных целях предлагается добавить колбек, вызываемый до QTABLE_CLOSE при запуске процедуры замены инструментов с истекающим сроком обращения
Либо предложите свой вариант.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Контекстное меню в стакане при включенном режиме drag-and-drop
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.08.2021 14:08:44
Когда стакан не активен, то клик правой клавишей мыши по заявке в стакане не вызывает контекстное меню.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 9.1
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.08.2021 13:54:11
Цитата
Возможности новой версии 7. Добавлена возможность быстрого доступа к транзакции замены заявки, если данная транзакция поддерживается на стороне торговой системы.
Не работает.
Цитата
Исправленные недоработки 12. Удвоенное отображение объема на последней свече в окне графика.
Не исправлено.
Надо делать так, как надо. А как не надо - делать не надо.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] QUIK самовольно меняет код клиента
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.08.2021 08:23:13
Цитата
swerg написал: Ну это такой момент, который пошел от пользовательского интерфейса QUIK.
В форме ввода заявки есть два отдельных поля: "Код клиента" и "Поручение".
Цитата
swerg написал: Если подключен только 1 логин (вернее один "код клиента") - то этот код автоматически подставляется, чтобы пользователя не грузить и "было удобно". В общем-то логично, согласитесь.
Абсолютно с вами согласен: это удобно, когда не задан код клиента, то он автоматически подставляется в транзакцию. Но если код клиента задан, то не надо пихать его в комментарий и подставлять другой код клиента в транзакцию.
Надо делать так, как надо. А как не надо - делать не надо.
Получение данных из стакана, Subscribe_Level_II_Quotes
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.08.2021 17:29:37
Вот пример работы со стаканом, проще некуда:
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] QUIK самовольно меняет код клиента
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.08.2021 16:41:50
К логину было подключено два кода клиента. Скрипт работал по обоим нормально. Потом один код был отключен брокером или пользователь зашел с логина, где подключен только один клиент, не суть. В результате вместо того, чтобы выдать ошибку, что у пользователя нет прав для работы с отключенным кодом клиента, QUIK стал молча подменять его на другой. Т.е., скрипт отправляет транзакцию с CLIENT_CODE = client2//brokerref, а заявка приходит с client_code = client1, brokerref = client1//client2//brokerref Это косяк.
Надо делать так, как надо. А как не надо - делать не надо.
Получение данных из стакана, Subscribe_Level_II_Quotes
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.08.2021 16:21:59
Надо делать так, как надо. А как не надо - делать не надо.
Запуск скриптов lua
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
07.08.2021 11:40:59
А если OnClose вызывать, когда только дана команда главному окну терминала на закрытие (нажат крестик, Alt+F4 или "Система -> Выход") до QTABLE_CLOSE? Тогда OnClose можно будет использовать, чтобы определить, что таблица закрыта не пользователем. А в момент закрытия терминала по-прежнему будет OnStop с флагом 2.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 9.1
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
07.08.2021 09:35:23
Цитата
Nikolay написал: команда пользователя по его закрытию
Чаще всего это - QTABLE_CLOSE, тот же самый эвент, что и при замене фьючерсов, тот же что и при закрытии терминала.
Надо делать так, как надо. А как не надо - делать не надо.
8.13 vs 9.1
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
31.07.2021 21:15:25
Цитата
Старатель написал: если открыто два одинаковых (инструмент, таймфрейм) графика на диаграмме (или через CreateDataSource)
Если первый график отрыт на диаграмме или через CreateDataSource, то индикатор, переставляющий метки на втором графике (с тем же инструментом и таймфреймом), теряет свои метки.
Надо делать так, как надо. А как не надо - делать не надо.
8.13 vs 9.1
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
31.07.2021 21:09:52
Есть такой баг (CQ01954637), добавленный после v.7.5: если открыто два одинаковых (инструмент, таймфрейм) графика на диаграмме (или через CreateDataSource), то на втором (тот, который открыт вторым) при попытке изменить метку через SetLabelParams, индикатор теряет свою метку. Возможно, есть связь с одной из ваших проблем.
Надо делать так, как надо. А как не надо - делать не надо.
Беззвучный режим
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.07.2021 11:41:45
Что такое "Беззвучный режим" в настройках "Звуки"? При установленной галке "Беззвучный режим" звуковые сигналы продолжают воспроизводиться.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.07.2021 11:28:18
Цитата
TGB написал: вариант нейтрализации этой ошибки на уровне разработчика скриптов (все же, требующий нетривиального анализа и, возможно, дополнительного изменения кода скрипта при каждой его редакции)
Часто ли вам требовалось использовать этот вариант?
Старатель написал: Это позволяет скриптеру писать байткод-циклы (в текущей версии QLua 5.3/5.4), выполняющиеся атомарно (читай потокобезопасно). При реализации вашего пожелания на уровне QLua скриптер лишится такой возможности.
Я не против, если скриптер будет иметь контроль, например заданием переменной из скрипта: если счетчик задан, то снимать лок, через заданное количество циклов. Если не задан, то - без изменений. Как то так.
Надо делать так, как надо. А как не надо - делать не надо.
Quik_9.1.0 не загружается
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.07.2021 09:24:47
Цитата
Старатель написал: Если хост не отвечает (буквально), то клиент может бесконечно долго ждать ответа.
Уточнение: на этапе "Идет установление связи с информационным сервером".
Надо делать так, как надо. А как не надо - делать не надо.
Если хост не отвечает (буквально), то клиент может бесконечно долго ждать ответа. Про таймаут он не слышал. Думаю "ноги растут" отсюда.
Надо делать так, как надо. А как не надо - делать не надо.
При снятии заявки перемерт account пустой
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.07.2021 13:28:36
Тогда правильно ли я понимаю, что первичными ключами для таблиц являются: для заявок: order_num, class_code для сделок: trade_num, order_num, sec_code для обезличенных сделок: trade_num, sec_code, class_code ?
Надо делать так, как надо. А как не надо - делать не надо.
При снятии заявки перемерт account пустой
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.07.2021 13:22:22
Я так понял, что номера обезличенных сделок могут совпадать в разрезе класса.
Надо делать так, как надо. А как не надо - делать не надо.
При снятии заявки перемерт account пустой
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.07.2021 11:59:39
Цитата
Sergey Gorokhov написал: номер обезличенной сделки может быть один на разных инструментах одного класса
Так в разрезе класса или инструмента?
Надо делать так, как надо. А как не надо - делать не надо.
При снятии заявки перемерт account пустой
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.07.2021 11:16:13
Цитата
Sergey Gorokhov написал: номер в разрезе инструмента может совпадать только на обезличенных сделках
Поясните.
Надо делать так, как надо. А как не надо - делать не надо.
Кривые шибки в QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.07.2021 19:23:41
QUIK 9.1.0.63, Lua 5.4 Сегодня в коде (в main)
Код
local hour = 0+os.date('%H')
выскочила такая ошибка:
Цитата
attempt to perform arithmetic on a nil value
Цитата
stack traceback: [C]: in metamethod 'add'
Надо делать так, как надо. А как не надо - делать не надо.
При снятии заявки перемерт account пустой
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.07.2021 13:57:58
Цитата
Sergey Gorokhov написал: На некоторых рынках есть классы в которых нумерация заявок идет в разрезе инструментов, а не классов. Т.е. есть ситуации когда у разных инструментов одного класса номера заявок могут совпадать. И при этом это совершенно разные заявки
Получается для корректной работы функции getOrderByNumber нужно было добавить ещё код бумаги.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.07.2021 10:49:51
Цитата
TGB написал: Вопрос по существу может быть таким: «упрощают ли предлагаемые средства разработки программ жизнь пользователя или нет? И в какой степени?».
По моему мнению все "нововведения", которые удаляют или затрудняют работу текущего функционала, только ухудшают "жизнь пользователя".
Кому-то захотелось так сделать, потому что он посчитал, что ему лично так будет удобно. Программисты выполнили его хотелку, и в результате ухудшили жизнь другим. Если что-то радикально менять, то это должен быть опциональный вариант.
Надо делать так, как надо. А как не надо - делать не надо.
Quik_9.1.0 не загружается
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.07.2021 19:34:21
Цитата
Дмитрий написал: 2) Есть еще проблема, которая тянется с предыдущих версий. При запущенном терминале если долго не пользоваться компом и при уходе его в какой-либо из режимов энергосбережения (например Гибернация), то при последующем выводе из режима Квик либо оказывается подключенным к серверу, либо нет. Если нет, то висит окно: "Net error: Удаленный хост принудительно разорвал существующее подключение". При этом в меню программы вместо "Установить соединение" остается доступным только вариант "Разорвать соединение" (словно оно по прежнему еще установлено). И никаких вариантов кроме как перезагрузить Квик нет. Но это еще не все. Кликнув на закрыть Квик, имеем исчезнувшее окно программы. Но в Диспетчере задач Win10 по прежнему продолжает висеть сколь угодно долго процесс "Рабочее место информационно-торговой....". И если его принудительно не завершить, то Квик больше не запустить.
Старая проблема. В информационном окне в состоянии соединения пишет: "устанавливается". Но раньше, вроде, можно было хоть вручную подключится. Теперь, если нажать кнопку "Разорвать соединение", то кнопки "Установить соединение", "Разорвать соединение" становятся неактивными. Если попытаться открыть какое-либо окно, то QUIK повесится.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.07.2021 18:46:11
Цитата
TGB написал: вставляй прокладки для защиты от блокировок
Какие ограничения накладывает отсутствие "Счетчик_для_переключения_State"?
Надо делать так, как надо. А как не надо - делать не надо.
Не могу ввести цену с десятичной точкой (запятой) в окне "Ввод заявки"
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
20.07.2021 20:39:03
По скринам: у вас разделитель разрядов такой же, как и разделитель дробной части.
Надо делать так, как надо. А как не надо - делать не надо.
Синхронизация потоков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
13.07.2021 13:37:22
Цитата
Sergey написал: 2 поток удалил запись с индексом 3 1 поток удаляет запись с индексом 5 - это уже не та запись, которую он нашел - это проблема.
Если оба потока удаляют записи в таблице, то да, нужна синхронизация.
Надо делать так, как надо. А как не надо - делать не надо.
Синхронизация потоков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
13.07.2021 08:33:02
Цитата
Sergey написал: В нее добавляются и из нее удаляются элементы в потоке main и колбеках функциями:
Проблема в том, что перед добавлением/удалинием элементов происходит перебор элементов таблицы в цикле для поиска нужного индекса. Если нужный элемент найден, а другой поток удалит элемент с меньшим индексом, то индексы сдвинутся и получится ерунда, т.е. нужно синхронизировать потоки.
Поскольку вы используете потокобезопасные функции, то добавление элемента в конец таблицы (именно такая запись без указания индекса table.sinsert(Trades, trade)) не влечет каких-то неприятных последствий.
Надо делать так, как надо. А как не надо - делать не надо.
написал: Функция опреlеления папки запускаемого скрипта:
Аа чем getScriptPath() не устраивает?
Если файл запущен через dofile, то не покажет его расположение.
Надо делать так, как надо. А как не надо - делать не надо.
Debug function name
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
12.07.2021 12:26:33
Если функция передается в качестве аргумента, то в debug.getinfo(1).name будет имя не самой функции, а имя аргумента.
Код
local function local_comparator(lhs, rhs)
local t = debug.getinfo(1)
message('local_comparator name is ' .. (t.name or 'nil'))
return true
end
function f(arg) arg() end
f(local_comparator) -- MSG: local_comparator name is arg
Есть способ узнать имя функции?
Надо делать так, как надо. А как не надо - делать не надо.
Слои индикаторов на графике цены, Нелогичное отобраджение подсказки при наложении индикатора на график цены
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.07.2021 16:20:28
Порядок отображения слоев: Никак не могу привыкнуть
Надо делать так, как надо. А как не надо - делать не надо.
Получение признака "Субординированный инструмент" в lua
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.07.2021 12:37:42
Цитата
Андрей написал: обеспечьте надежный способ отличать, заполнено поле уже или нет. Незаполненное поле не должно иметь значение, валидное для заполненного.
Цитата
Андрей написал: для незаполненных тогда просто не возвращать поле (=nil).
Надо делать так, как надо. А как не надо - делать не надо.
Написание автономного бота
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 23:44:36
Sergey Gorokhov, надёжный способ вам предложили, отрицать очевидное бессмысленно. Теперь вы врёте, всячески изворачиваетесь и бросаетесь из крайности в крайность, пытаясь оправдать своё безделие.
Цитата
Sergey Gorokhov написал: сам терминал подключен к серверу тоже до начала торгов
Так это существенное ограничение. А в 9-10 часов теперь подключать нельзя?
Тогда уж указывайте в Руководстве "идеальные условия", для которых предназначен QLua, и соответствующие ограничения.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 22:01:24
Цитата
TGB написал: Бывают ситуации зависания в QLua, когда основной поток обслуживания колбеков всех скриптов пользователя, а также таблиц QUIK (это не таблицы Lua), блокируется выполнением длинного цикла пользовательской программы на «чистом» Lua, в котором нет ни вызова seep ни вызова других C-функций.
Держите и вы от меня "шайбу":
Цитата
Старатель написал: чтобы не было зависаний, можно вставить внутрь цикла любую с-функцию (не обязательно sleep). Причём, вставлять можно не на каждую итерацию, а через заданное количество циклов. Это позволит не подвешивать основной поток и при этом сохранить скорость вычислений байткода в циклах.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 18:59:21
TGB, как , или многоуровневые таблицы, или одно событие может менять состояние нескольких таблиц...
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 17:09:41
Цитата
TGB написал: В документе разработчика QUIK: «Использование Lua в Рабочем месте QUIK.pdf», в разделе «2. Взаимодействие потоков Lua скрипта» описана рекомендуемая схема обработки колбеков.
Иногда в скрипте требуется что-то большее, чем просто в одном потоке засунуть значение в табличку и вытащить его в другом.
Надо делать так, как надо. А как не надо - делать не надо.
Написание автономного бота
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 16:57:20
Цитата
Sergey Gorokhov написал: Данные не появились - сидим ждем дальше.
Цитата
Sergey Gorokhov написал: Почему не рабочий? Ведь им пользуются значит рабочий.
Именно таким вариантом не пользуется никто. Эта , где скрипт рвется в бой сразу после получения хотя бы одной позиции в depo_limits. В результате в большинстве случаев получает фальстарт. В вашем варианте в большинстве случаев вы так и будете сидеть ждать на старте, пока вам не дадут хорошего пинка, т.е. пока кто-то не откроет позиции (или хотя бы не выставит заявки) по всем инструментам, которыми торгует скрипт.
Цитата
Sergey Gorokhov написал: В идеальных условиях и вопроса о признаке бы не возникло, не так ли.
Не так. Что такое "идеальные условия" в данном контексте? Это когда позиции загружены на сервер до начала торгов, они верные, не требуют корректировки. Можем ли мы сейчас определить их при "идеальных условиях". Надёжно - нет, вы сами признали. Возможно ли допилить QUIK таким образом, чтобы позиции можно было бы надёжно определить в "идеальных условиях". Да:
Цитата
Старатель написал: Уведомление надо посылать клиенту после прокачки лимитов, тогда скрипт узнает об окончании прокачки по этому уведомлению.
Цитата
Sergey Gorokhov написал: Вопрос был что надежней. Только внештатные ситуации и могут дать ответ на этот вопрос.
Сравнивать надежность во внештатных ситуациях имело бы смысл, если бы ваш вариант надёжно работал в штатной ситуации или, по крайней мере, не хуже предложенной ТС.
Надо делать так, как надо. А как не надо - делать не надо.
Написание автономного бота
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 16:01:37
Цитата
Sergey Gorokhov написал: Да благодаря sys_events скрипт будет знать что на сервере все лимиты есть и опять же скрипту придется ждать прокачки данных (то что и сейчас) Но опять же скрипт не узнает когда эта прокачка закончится
Уведомление надо посылать клиенту после прокачки лимитов, тогда скрипт узнает об окончании прокачки по этому уведомлению.
Цитата
Sergey Gorokhov написал: Для примера, "плохие" варианты уже были озвучены:
Цитата
написал: Допустим брокер загрузил пачку, isLimitsLoaded вернет true, а именно Ваши лимиты брокер не загрузил, а загрузит их чуть позже. Ваш код в этой ситуации примет решение что лимитов нет (нулевые) а на самом деле они будут позже.
Если брокер загружает лимиты посреди сессии, то - это внештатная ситуация.
написал: А значит, Вам легко может приехать строка содержащая 0, а потом через некоторое время нормальное значение.
Это скорее исключение, чем правило. У подавляющего числа пользователей этого не случится никогда. А вообще "плохие примеры" притянуты за уши и абсолютно ничего не доказывают.
Цитата
Sergey Gorokhov написал: Вариант которые уже сейчас решает вопрос уже был предложен Ждите колбек или смотрите в цикле. Данные появились - хорошо работаем Данные не появились - сидим ждем дальше.
Этот вариант не рабочий от слова совсем.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2021 12:23:21
Цитата
TGB написал: Текст данного комментария со Старателем не согласован, но надеюсь, что если, по его мнению, я написал что-то не то, он меня поправит. --------- Предложение1 (от Старателя). Мое краткое описание ситуации, устраняемое при реализации предложения Старателя, а далее цитаты. Бывают ситуации зависания в QLua, когда основной поток обслуживания колбеков всех скриптов пользователя, а также таблиц QUIK (это не таблицы Lua), блокируется выполнением длинного цикла пользовательской программы на «чистом» Lua, в котором нет ни вызова seep ни вызова других C-функций. ---- Далее цитирую Старателя: «Если цикл продолжительный, чтобы не было зависаний, можно вставить внутрь цикла любую с-функцию (не обязательно sleep). Причём, вставлять можно не на каждую итерацию, а через задан-ное количество циклов. Это позволит не подвешивать основной поток и при этом сохранить ско-рость вычислений байткода в циклах.». --- Далее цитирую себя: Комментарий 1. «То, что предлагает Старатель, наверное, имеет смысл реализовать в самом QLua.
Всё же вставлю свои "пятькопеек". В текущей реализации QLua (5.3/5.4) задача легко решаема на уровне пользовательского скрипта методом, предложенным мной выше, что позволяет при необходимости снять блокировку в любом месте цикла. Это позволяет скриптеру писать байткод-циклы (в текущей версии QLua 5.3/5.4), выполняющиеся атомарно (читай потокобезопасно). При реализации вашего пожелания на уровне QLua скриптер лишится такой возможности.
Надо делать так, как надо. А как не надо - делать не надо.
Слои индикаторов на графике цены, Нелогичное отобраджение подсказки при наложении индикатора на график цены
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.06.2021 08:16:34
Надо делать так, как надо. А как не надо - делать не надо.
Roman Azarov написал: разбор проходил и был завершен
Сначала прочитал "был заброшен".
Цитата
Roman Azarov написал: актуальны ли они на данный момент?
Актуальны.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.06.2021 12:19:23
*одновременно по одной таблице
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] getFuturesHolding: ошибка в работе
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.06.2021 12:17:51
Возникает вопрос: а корректно ли работает поиск SearchItems, если так совпало, что он производится в двух или более скриптах одновременно?
Надо делать так, как надо. А как не надо - делать не надо.
Доступ к Settings.line из кода индикатора, Пропадает доступ к массиву line структуры Settings в индикаторе после добавления индикатора на график и последующего изменения какого-либо параметра.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.06.2021 11:53:39
Уже . Осталось уладить .
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.06.2021 08:53:21
Цитата
Сирануш написал: он некорректно получает данные, из соседних таблиц.
Скрипт получает позиции только по тем бумагам, которые запрашиваются в нём самом и других скриптах. Если работает только 1 скрипт, то позиций по другим бумагам он не получает.
Надо делать так, как надо. А как не надо - делать не надо.