4 часа - это не срок. У меня скрипты годами (!) работают, но иногда вылазят ошибки, описанные в данном треде. Многие ошибки даже за неделю непрерывных нагрузочных тестов нереально воспроизвести.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель написал: Часто при загрузке вкладки из файла размеры окон не соответствуют оригиналу, если на вкладке есть закрепленные окна. Поэтому, перед сохранением вкладки в файл приходится все окна на вкладке "отзакреплять".
Предполагается, что сотрудники компании разработчика отреагируют на баг-репорт.
Надо делать так, как надо. А как не надо - делать не надо.
s_mike@rambler.ru написал: При этом нет возможности узнать, какой язык установлен в терминале и сформировать транзакцию на нужном языке
Можем зарегистрировать пожелание на доработку функционала в этом месте. Регистрируем?
И зачем опять эти танцы с бубном? Универсальный формат должен поддерживаться на уровне терминала. Если уж сделали два формата транзакций, так делайте, чтобы терминал принимал оба, вне зависимости от текущей региональной настройки.
Надо делать так, как надо. А как не надо - делать не надо.
Alexey Danin написал: Можете переключить интерфейс терминала на английский, и тогда в коде Lua скрипта можно будет задавать данные поля транзакции на латинице.
Т.е., формат транзакции не является универсальным и зависит от текущей настройки языка интерфейса? Жесть.
Надо делать так, как надо. А как не надо - делать не надо.
Александр М написал: У вас "y" каждый тик пересчитывается от себя же, на текущем баре "y" просто уйдет в цену, а не будет средней. Так что красиво рисуется только на истории.
Автор сам чайник и не в курсе, что: 1) В OnCalculate индекс свечей начинается с 1. А getCandlesByIndex возвращает таблицу, где первая свечка имеет индекс 0. Соответственно, для getCandlesByIndex надо брать свечи со смещением на -1. 2) В реалтайм такой индикатор считает не разность цен, а хрень какую-то. Графики обновляются не синхронно. => В реалтайм будут ситуации, когда свеча по одному инструменту уже открылась, а по другому - ещё нет. Или в течение определённого интервала времени не будет ни одной сделки по одному из инструментов. Значение close такой свечи будет = 0.
Надо делать так, как надо. А как не надо - делать не надо.
Радик написал: Получаеться так: Когда руками сузишь график, переключишься на другую акцию и обратно, то уже на всех акциях масштаб суженый запоминается.
Была такая же история, QUIK 9.5. Как появилась внезапно, так потом также внезапно и исчезла.
Цитата
Karina Dmitrieva написал: график находится в режиме связанных окон с Таблицей текущих торгов?
Да.
Цитата
Karina Dmitrieva написал: И как именно переключаетесь между инструментами?
Кликом мыши по строке с нужным инструментом. А какие ещё варианты есть?
Надо делать так, как надо. А как не надо - делать не надо.
Karina Dmitrieva написал: сформулировать достаточно подробное описание запрашиваемого функционала
Karina Dmitrieva, я же подробно описал в сообщениях #7 и #8. Именно такой подход у меня работает в ботах. Если какой-то момент является не понятным - готов к диалогу.
Надо делать так, как надо. А как не надо - делать не надо.
Roman Mural написал: для удаления меток Вы можете воспользоваться функцией DelAllLabels
Значит, плохо было задумано. Возьмите два индикатора, которые ставят/снимают метки на одной диаграмме на разных графиках с разными идентификаторами в разных областях и полюбуйтесь, как они будут удалять чужие метки. А заодно сотрут ещё и все пользовательские метки в той же диаграмме.
Надо делать так, как надо. А как не надо - делать не надо.
Alexey Ivannikov, я не могу ответить утвердительно, не видя конкретных предложений. Потому что, когда вы делаете какую-то настройку, которую регулирует брокер, и клиент не может её изменить, а вы пишите, типа "это - не мы, это - всё брокер настраивает, обращайтесь к брокеру", то это выглядит как издёвка.
Надо делать так, как надо. А как не надо - делать не надо.
Часто при загрузке вкладки из файла размеры окон не соответствуют оригиналу, если на вкладке есть закрепленные окна. Поэтому, перед сохранением вкладки в файл приходится все окна на вкладке "отзакреплять".
Надо делать так, как надо. А как не надо - делать не надо.
Посоветуйте как правильно передавать данные?, доступ в квик стороннему программиста без права выставления реальных ордеров (для тестирования стратегии)
Посоветуйте как правильно передавать данные?, доступ в квик стороннему программиста без права выставления реальных ордеров (для тестирования стратегии)
nikolz написал: вам надо создать сервер доступный из интернет. далее используя socket транслируете данные на сервер.
И заплатить ещё программисту за создание этого сервера.
Цитата
Илья написал: Задача дать стороннему (!) программисту данные о торгах по акциям в реальном времени (ну или хотя бы минутными свечами) желательно без права выставления ордеров
У некоторых брокеров можно запросить ещё один аккаунт для квика, иногда за доп. плату. Спросите своего брокера о возможности предоставления вам "просмотрового" аккаунта.
Надо делать так, как надо. А как не надо - делать не надо.
Alexey Ivannikov написал: Ситуация повторяется сейчас на актуальной версии терминала 9.7?
В бою 9.7 не использую. Но на днях в 8.13 была похожая ситуация: утром после подключения к серверу не загрузилась часть заявок, выставленных в вечернюю сессию. Причём не загрузилась на том терминале, на котором эти заявки накануне были выставлены. Не было этих заявок ни в таблице заявок, ни в orders, не было и колбеков по ним. Переподключение к серверу опять же ничего не дало. На других терминалах все заявки были загружены. А потом в течение дня (около 16 ч.) без всяких переподключений все недостающие заявки подгрузились. Что это было - не знаю.
Надо делать так, как надо. А как не надо - делать не надо.
Nikolay написал: Но, кажется, формулировка разработчиков была - есть изменения во внутренних полях, недоступных для чтения, все равно получите callback.
Sergey Gorokhov написал: По данному обращению мы определили, что причиной множественных отправок сделок (более двух) на клиентские места является неоптимальность в серверном ПО QUIK. После ее устранения сделки могут быть отправлены на клиентское место максимум 2 раза - по получению сделки из торговой системы и по факту ее обновления.
Надо делать так, как надо. А как не надо - делать не надо.
Nikolay написал: Если обратите внимание на колбек OnTrade, то он приходит три раза на сделку. Каждый раз - это какое-то изменение в записи таблицы.
Во-первых, по новым правилам (QUIK 9.7.1.10) на одну сделку приходится не три, а четыре колбека OnTrade. Во-вторых, в большинстве случаев, все четыре OnTrade абсолютно одинаковые. В некоторых случаях один из них может отличаться параметром broker_comission и, возможно, другими параметрами со словом *comission*
Надо делать так, как надо. А как не надо - делать не надо.
Anzhelika Belokur написал: По поводу обрезания свечей при отрицательных значениях, демонстрируем поведение на Рис.2
Ну видно же, что минимумы свечей от 11 числа обрезаются (те, которые упираются в нижний край). Чтобы было наглядней я взял бары и увеличил масштаб (то же 11 число, время на скринах видно). Автомасшатирование:
Скрытый текст
Сравните с масштабированием вручную:
Скрытый текст
Цитата
Anzhelika Belokur написал: можно понятным образом интерпретировать такое поведение - по инструменту отсутствует позиция и она принимается равной 0 и соответствующим образом считается цена приобретения - 0. Автомасштабирование же отрабатывает так, чтобы отображать этот нулевой уровень цены приобретения.
Весьма сомнительная версия. Откройте любой график с только положительными ценами и посмотрите будет ли там нулевой уровень цены при тех же настройках.
Надо делать так, как надо. А как не надо - делать не надо.
Anzhelika Belokur написал: мы не смогли воспроизвести его у себя в терминале (у нас все свечи отображаются корректно)
Anzhelika Belokur, прикрепите скриншот графика календарного спреда BR-8.22-9.22 (важно: не график фьючерса, как это демонстрирует тут один персонаж, а именно спреда) или любого другого с отрицательными ценами с установленными галками "с учётом цен заявок и позиций" (сообщение #1) и "уровень позиции" (сообщение #3). Очень любопытно на это посмотреть.
Надо делать так, как надо. А как не надо - делать не надо.
Anzhelika Belokur, спросите у коллег, где взять дистрибутив программы. Если вы испытываете затруднения в установке QUIK на компьютер, то я могу помочь установкой по RDP вам или вашему бесполезному тестировщику.
Надо делать так, как надо. А как не надо - делать не надо.
Settings = {
Name = 'ParamRequest',
line = {
{ Name = 'ParamRequest' }
}
}
function Init()
return #Settings.line
end
local class_code, sec_code
function OnChangeSettings()
OnDestroy()
local DSI = getDataSourceInfo()
class_code = DSI.class_code
sec_code = DSI.sec_code
PrintDbgStr(tostring(sec_code))
ParamRequest(class_code, sec_code, 'LAST')
end
function OnCalculate(index)
if index == 1 then
ParamRequest(class_code, sec_code, 'LAST')
end
return nil
end
function OnDestroy()
if sec_code then
CancelParamRequest(class_code, sec_code, 'LAST')
end
end
При добавлении / удалении индикатора возникают ошибки:
Цитата
Function OnChangeSettings: ACCESS VIOLATION at address 000007FC524B89CC ACCESS VIOLATION at address 000007FC524B89CC
Что не так?
Надо делать так, как надо. А как не надо - делать не надо.
local Labels = {}
function OnCalculate(index)
if index == 1 then
OnDestroy()
end
...
local Label = AddLabel(Settings.tag, Param)
if Label and Label > 0 then
Labels[#Labels+1] = Label
end
...
end
function OnDestroy()
for i = 1, #Labels do
PrintDbgStr('DelLabel(' .. Labels[i] .. '): ' .. tostring(DelLabel(Settings.tag, Labels[i])))
end
Labels = {}
end
При закрытии Квика срабатывает OnDestroy, но метки с графиков не удаляются. И при следующем запуске индикатор ставит новые метки поверх старых, что есть не хорошо. Так и было задумано или же ошибка?
Надо делать так, как надо. А как не надо - делать не надо.
Евгений написал: сохранять вкладки требуется не понятно для чего
Я использую для создания шаблонов, например для переноса между терминалами. Или для создания копии вкладки с другим инструментом: сохранил вкладку в файл, загрузил из файла в новую вкладку, поменял во всех окнах на вкладке инструмент. Как-то так.
Надо делать так, как надо. А как не надо - делать не надо.