Уже веь написала подержка - с указанной проблемой обратиться к рокеру.
я же говорил о том, что для роботов стоит использовать брокера, у которого нет допонительной авторизации; и зависит это от брокера (настроек его сервера), а не терминала
ТС, работа нужно писать так, чтобы он корректно обрабатывал множественные срабатывания OnOrder хоть два, хоть три раза. и даже варианты, когда такого срабатывантя вовсе не произошло.
2016ый год на дворе. Сделайте уже кнопку "перевести срочные инструменты на следующий квартал", ну или как-то более ласково назовите ежеквартальную смену фьючерсов. на графиках, в таблицах текущих параметров и стаканах котировок
Если у Вас возникнут проблемы с освоением Lua поддержка всегда поможет.
Ау! Где вы любители великого и могучего клуа? И всегда на поддержке. Как пинать купайл так сразу, а как помочь...
Цитата
Но в QPILE нет сотен тысяч функций LUA
Ага, функция есть. Результата нет...
Дело в том, что вы не про QLua вовсе вопрос задаёте, а про то, как использовать Ami через COM-интерфейс, да еще через библиотеку luacom, которая сама по себе не сахар.
Предложение такое: приводить хотя бы рабочие (точно рабочие!!) примеры на любом другом языке для Ami, тогда еще, быть может, кто-то подскажет, как это переложить через вызовы luacom.
Без этого никто не полезет разбираться специально для вас в COM-модели Ami, потому как это очень непросто, если специально именно с этим не работать, а кому это надо.
Не вопрос. Просто функция main выполняется в отдельном потоке, т.е. она не мешает работе основного функционала терминала QUIK . Если скрипт маленький можно и без мэйн.
Дело не в том маленькая или нет. Для работы COM в потоке, в нем (в этом потоке) обязательно требуется вызвать CoInitialaize(), чего QUIK, конечно, не делает, т.к. ему это не зачем. Посмотрите подробнее здесь, там показано как COM-вызовы использовать в main() QLua https://quik2dde.ru/viewtopic.php?id=81
Так что есть предложение на этапе, пока вы это всё (в смысле связку с Ami) осваиваете, не трогать main(), потому как там свои нюансы.
Космонавт написал: 4. Она сработает, когда скрипт вылетит с ошибкой nil?
Нет. Напишется в обычном окне запуска скриптов.
Но на этапе загрузки скриптов индикаторов если в скрипте индикатора проблема - то информация об этом выдаётся именно через PrintDbgStr, т.е. при запущенном в момент загрузки индикатора DebugView вы ошибку в нем увидите.
Похожая проблема была исправлена в версии 7.6. Рекомендуем выбирать выражения при общении у нас на Форуме.
вы что же, приняли на свой счет? Так это к себе претензии возможно есть мотив обратить. я лишь выразил существенное удивление наличием похожей ошибки в финансовом софте и, более того, не предоставлением по этому поводу доступного всем патча. 7.6 не все могут использовать.
Космонавт написал: Вопрос 1. От понижения железа станут ли роботы медленнее реагировать на события? Колбек DataSourse, приход данных в стакан, колбек OnParam, колбек таблицы всех сделок? Вопрос 2. Стоит ли играться с настройками "Приоритет"? Это в диспетчере задач, где выставляется приоритет для процессов. Если да, то какому процессу давать повышенный приоритет: info.exe, winRos или обоим?
1. Все реакции на события в квике - в один поток обрабатываются, т.е. не одном ядре. второе нужно лишь чтобы система не мешала.
2. Все полезное выполняется только в info.exe winros лишь для експорта в метасток, этот файл вообще можно смело удалить. с точки зрения скорости реакции я думаю (но лишь из теоретических предпосылок) есть смысл поднять приоритет процессу инфо-ехе это должно давать ему приоритет при конкуренции за ядра прооцессора от иногда возникающих системных фоновых задач (другого же у вас нет,надеюсь?) хотя конкуренции у вас нет судя по загрузке, это хорошо. но не поднимайте до реал тайм! Сначала попробуйте на локальном компе, чтобы понять к чему это приводит.
Вообще было бы хорошо, если бы вы толком написали задачу, вы ведь как обычно толком не описываете, однак по сразу спрашивайте вопрос. если ваш колбек сложен и работает долго (длльше получения инфрмации из сети), то есть смысл разносить по разным копиям терминала, т.к. получите параллеьность если жи колбеки короткие и быстрые - то смысла разносить нет. чтоесть быстро и медленн - покажет лишь ксперимент в ваших условиях.
Космонавт написал: Поэтому я и пытаюсь получить не эмпирический ответ, а ответ на основе логики, теории и здравого смысла.
это ваша ошибка. Истину дают только экспериментальные данные, а никак не теория, теория лишь прдгоняется под эксперимент, всегда и везде.Космонавт написал: Так как опыты дают слишком разные результаты.
а вот это уже недостаток теоретических знаний по обработке результатов экспериментов.
поясню. Если вы хотите чтобы время выполнения заявки было не больше такого -то, то это одна постановка задачи. Если же вас устраивает, что в среднем время выполнения было какое-то, но при этом некоторые заявки выполнялись заметно дольше и это не критично для вашей задачи - то это совсем другая задача и подходы измерений и настроек другие.
исходя из задачи и требуется постановка экспериментов, тюнинг системы и анализ результатов.
Если нужна скорость - то нет совершенно никакого смысла теоретизировать. Только мониторинг, получение объективных результатов в вашем конкретном случае, выявление узких мест, оптимизация и снова мониторинг.
Цитата
Да, нужна быстрая реакция на события. При этом не хочется нагромождение из второго КВИКа или второй виртуалки.
Мы про хочется/не хочется или результат? вы уж определитесь. В любом случае нужны тексты в вашей конкретной инфраструктуре.
если речь про скорасть реакции на события - то два разных квика будут быстрее наверное. Потому что колбеки будут работать параллельно. А процессоры нынче все многоядерные. но ресурсов два квика будут есть побольше, чем один.
Нафик такого мутного брокера. Ибо он вас явно обманывает: очевидно ведь, что возможность торговли никак не зависит от платформы, через которую вы торгуете. Как вариант - он просто продвигает таким образом свою платформу. Ну либо вы его как-о не так поняли.
Как много нам открытий чудных особенно все эти рассуждения умилительны тем, что в мт вам вообще просто и от балды рисуют грпфики сами брокера какие хотят. как можно что-то сравнивать - вообще не понятно
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
swerg написал: Может запросить информацию по инструменту? Если его нет - то не будет и информации.
Ещё раз говорю: мы создаём датасорс. Если ds:Size() == 0 -- это ещё не значит, что в нем данных. Это легко означает, что эти данные просто ещё не докачались . Если по какой-то причине это важно, то приходится засекать время и хотя бы
при чем тут :size
поискать инструмент, получить его параметры(размер лота) будет понятно - существует ли он вообще
Разботанил все вы в целом делали правильно, в том числе правильно, что эти библиотеки складывали в папку luasql внутри квика, а не прямо в квик и require с именем с точкой правильно
надотолько вот что доделать: внутри квика есть файл lua5.1.dll скопируйте его рядом (именно его!), но с именем lua.dll
у меня после этогоуказанная вами библиотека успешно загрузилась.
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
Это да, это понятно Но речь-то про библиотеки luasql Вы их скопировали в c:\QuikFinam\luasql\, а надо прямо в папку квика c:\QuikFinam\ Либо, как вариант, квик не находит не сами эти библиотеки, а связанные с ними, от которых они зависят.
Опционная доска - изменились настройки после обновления., Изменился формат Опционной доски - "сломались" настройки вывода по DDE, как теперь настроить?
Только обязательно откопируйте вашу версию 7.5, чтобы к ней можно было вернуться!! потому как 7.6 версия пока не ко всем брокерами подключается (что-то с версией серверов, не все брокера обновили, видимо)
Иван Сидоров написал: А по простому никак? Без алгоритмической торговли? Только не говорите что даренному коню в зубы не смотрят, тогда не надо было заключать договора с брокерами. который мы же кстати и оплачиваем. 21 Век на дворе, стыдно.
Зачем вы платите деньги за то, что вам не нравится? Как так получается, что вы других поучаете, как им следует поступать, а сами продолжаете делать странные вещи? Ну вот в самом деле, как так?