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

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

Страницы: Пред. 1 ... 21 22 23 24 25 26 27 28 29 30 31 ... 72 След.
QUIK 10, Ошибки, зависания и пр.
 
и еще, учтите, что номер getItem считает от 0,
т е чтобы правильно прочитать 1
надо записать так:
Код
if getNumberOf("depo_limits")>1  then  _tab = getItem("depo_limits", 1) end
QUIK 10, Ошибки, зависания и пр.
 
Цитата
Quikos написал:
  _tab = getItem("depo_limits", 1)
попробуйте так:
Код
if getNumberOf("depo_limits")>0 then  _tab = getItem("depo_limits", 1) end
Qlua - тупо вешает Квик
 
Если Вы задаете вопрос с целью получить помощь, то выкладывайте свой скрипт.
иначе это просто бла-бла-бла.  
Как из скрипта lua узначть что терминал QUIK загрузился полностью и подгрузил данные эккаунта ?, Как из скрипта lua узначть что терминал QUIK загрузился полностью и подгрузил данные эккаунта ?
 
Цитата
Рустем написал:
Уважаемые,

После перезапуска терминала, если автозапускается скрипт, то ф-я getNumberOf("futures_client_holding") выдет 0, хотя на эккаунте есть позиции.
Есть какой-то способ проверить, что все данные пользоватьеля подгузились ?
попробуйте так:
while  getInfoParam( "SERVERTIME")=="" do sleep(1000) end --ждемс
getParamEx2 и многопоточность ?
 
Цитата
BVladimir написал:
Цитата
nikolz написал:
А если Вы это не сделаете то и доступ к этой функции не получите из разных потоков.
Т.е. если два потока ОДНОвременно (без локов) вызовут getParamEx2 в Квике, то он нормально это обработает как два вызова, т.е. по очереди ? Или один проигнорируется ?
попробую объяснить.
Начну от печки.
Функция dll - это неизменяемый код в памяти.
Так как он не изменяется, то он хранится в одном экземпляре
и может использоваться одновременно любым числом потоков.
-------------------------
Поэтому проблема многопоточности не в коде функции,
а в тех данных, которые эта функция изменяет.
Но это в случае, если Вы создаете всю свою программу на СИ или любом другом языке, который компилируется в нормальный машинный код.
-----------------
Для виртуальных машин, которой является VMLua, встроенная в КВИК немного сложнее.
-----------------------
С функцией dll, созданной для VMLua ,есть проблемы связанные с доступом к коду функции.
---------------------
Эта проблема зависит не от числа потоков,
а от механизма доступа  Вашей dll к таблице указателей на функцию getParamEx2.
------------------
Поэтому у Вас есть две проблемы.
Первая - это синхронизация потоков.
Вторая - это доступ к функциям библиотеки QLua.
----------------
Успехов в решении проблем.
getParamEx2 и многопоточность ?
 
Цитата
BVladimir написал:
Приветствую, всезнающий All !

Подскажите, можно ли из своей dll одновременно из нескольких потоков вызывать getParamEx2 ? Не обидится ли Квик ? Как обрабатывать будет ?
Вообще-то обижаться могут лишь ваши потоки.
КВИКУ это по ...
Это вы должны сделать корректную обработку в ваших потоках.
А если Вы это не сделаете то и доступ к этой функции не получите из разных потоков.
---------------------
СПАСЕНИЕ УТОПАЮЩИХ – ДЕЛО РУК САМИХ УТОПАЮЩИХ.
После вызова метода Close у обьекта CreateDataSource --> SetUpdateCallback больше не устанавливается
 
Цитата
Quikos написал:
Никто с таким не сталкивался ?
так как в документации о поведении функции ничего нет, то следовательно это поведение функции по факту.
--------------------------
Например, Земля круглая - по факту,
так как о том, какой она должна быть по замыслу автора, неизвестно.
Автор недоступен.
getQuoteLevel2 поле bid_count
 
правильно.
Количество открытых позиций (ОИ)
 
Цитата
Anzhelika Belokur написал:
Алексей, добрый день.

Инструмент, который Вы выбираете- Полюс, не является инструментом срочного рынка (это акция). Поэтому открытый интерес для этого инструмента не доступен.
поправлю - не существует.
Как вызвать у таблицы - "строковую переменную" ?
 
Quikos,
Скажите, что я ошибаюсь,
но у меня складывается впечатление,
что Вы кроме форума больше ничего не изучали по программированию на Си и Lua.
Я прав?
 
Возможность накапливать в файлах истории более 3000 свечей
 
Цитата
Евгений написал:
Возможность накапливать в файлах истории более 3000 свечей, например сделать настройку "кол-во свечей в файле истории:"  [ 10000 ]
ну и естественно отображать их на графике
архив накапливается если не пере заказываете данные.
например,
сейчас у меня в архиве c таймом 30 минут, 6500 свечей. - это 10 месяцев 2022 года.
-----------
были архивы и больше, но с переходом на новый КВИК удалил их.
getParamEx
 
Цитата
Владимир написал:
nikolz, Нет в луа никакого  integer. Нет, не было и не будет. Торкаешь носом торкаешь... умолкает, потом снова всплывает и снова начинает вонять.  
Владимир,
Я понимаю, что дебил и без говна не можете общаться.
---------------------
Но уже надоела Ваша чушь.
------------
Приведу Вам доказательство, надеюсь что заткнетесь на время .
-----------------
вот Вам фрагменты из кода виртуальной машины LUA версия 5.3.
Хотя фрагменты на СИ, но специально для Вас поясняю что и зачем:
Фрагмент 1
функция которая проверяет является ли значение стеке целым(integer)
----------------------------------------
LUA_API int lua_isinteger (lua_State *L, int idx) {
 StkId o = index2addr(L, idx);
 return ttisinteger(o);
}
-----------------------------------
Фрагмент 2
Это функция которая помещает в стек возвращаемое из функции значение типа Integer

LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) {
 lua_lock(L);
 setivalue(L->top, n);
 api_incr_top(L);
 lua_unlock(L);
}
--------------------------------
Более того, целое хранится иначе чем number, которое по умолчанию double.
==============
getParamEx
 
Цитата
Alexander написал:
Кто подскажет как выкрутиться? Вызов getParamEx по инструменту CHZ2(фьючерс на Северсталь) по "OFFER"  Беру результат param_value(число), прибавляю к нему целое число. Отправляю транзакцию с этой суммой в цене(через tostring()). Транзакция не проходит. Не правильно указана цена "75941.0" Сообщение об ошибке: Число не может содержать знак разделителя дробной части. Пытаюсь использовать вместо param_value -> param_image(строка с числом без точки и знаков после неё). Но к стрингу не прибавляет число, прогоняю его через tonumber(), - возвращает ошибку nil. Как конкретно взять целое число, сложить и отправить стринг без дробной части? Неужели извращаться и обрезать строку? Вообще не понятно почему не работает tonumber() по параметру param_image? Если просто например написать tonumber("7777777"), то всё нормально - возвращает число. Просто бред какой-то.
так подойдет?
Код
local x=75941.0
local a=math.modf (x)
print("x="..x,"a="..a)
результат:
Код
x=75941.0   a=75941
----------------
для справки
1) есть еще куча способов.
2) начиная с версии 5.3,  в луа есть тип integer.
Возможность нарезки нестандартного таймфрейма
 
В чем проблема?  
Есть смысл делать так ? Это экономит ресурсы ?
 
Цитата
Евгений написал:
local math_max      = math.max
local math_min      = math.min
local math_abs      = math.abs

math_abs(a-b)
есть всегда.
вот пример:
Код
local a=100
local b=20
local math_abs      = math.abs
nkarray.start()
math.abs(a-b)
local t=0.1*nkarray.stop()
nkarray.start()
math_abs(a-b)
local t1=0.1*nkarray.stop()
print(t,t1)
результат( мкс): 0.6    0.1
Т е время выполнения сократилось в 6 раз.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
для прикола показываю картинки тестового робота на основе ИИ.
Все в квике.  
тайм 30 минут. Сбербанк обычка.
-------------------------
На среднем графике  прибыль
по коротким позициям (синий цвет)
и длинным позициям(зеленый цвет).
---------------------------
Результат за 10 месяцев 2022 год
------------------
по месяцам


----------------------------------------------
итоговый за 10 месяцев


----------------------------------------------
октябрь


-------------------------------------------
сегодня:



Можете позубоскалить.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Цитата
nikolz написал:
 если Вам интересно, то я использую свечи 30 мин 5 мин и 1 мин.
кроме того, в алгоритме принятия решения участвуют данные дневных свечей,
а также не закрытых гепов  и уровни сопротивления (локальные экстремумы)
На акциях основной 30 минут, за исключением начала торгов.
Спасибо.
Остается еще два момента:

-1. Если в описании SetUpdateCallback: "Позволяет задать пользователю функцию обратного вызова для обработки изменившихся СВЕЧЕК", то почему, Callback - вызывается не только при изменении индекса всечи, но и цены в пределах этой свечи ? Разве тогда- это не нарушение принципа работы SetUpdateCallback - завленного в описании ?

-2.И возвращаясь к Вашему вопросу "Кто Вам сказал, что колбек прихода свечи отражает все изменения цены?" - я забыл, что в SetUpdateCallback - можно выставить интервал "INTERVAL_TICK" - что Теоретически будет означать отражение всех изменений цены.
Попробую объяснить от печки, вернее сказать от свечки.
-----------------
Что такое свечи ?
Свеча - это значения четырех индикаторов, которые строятся на равномерно дискретной оси времени.
---------------------------
В общем случае, свеча это способ сжатия информации о сделках.
------------------
Так как это способ сжатия , то, очевидно, в результате мы получим меньший объем данных, чем изначально имеем.
==============
Отсюда следует, что ваше желание ловить каждую сделку (изменение цены) в виде свечи  противоречит самому назначению свечи - сжатию информации.
-----------------------
Вы пытаетесь поймать то, что фильтрует свеча.
---------------------
Но тогда зачем Вам свеча?
===============
Таким образом, свеча это фильтрация таблицы обезличенных сделок.
т е сервер принимает цены сделок и оставляет из них лишь четыре значения на интервале тайма.
Если Вы будете  принимать все изменения свечи то вы примите цены всех сделок на интервале.
но это же и есть таблица обезличенных сделок.
Т е Вы хотите получить таблицу сделок через изменение свечи.
Напоминает желание смотреть гланды через зад.
Конечно, можно и так, но зачем так усложнять себе жизнь?
--------------
Хотите каждую сделку - берите таблицу обезличенных сделок.
Хотите сжать информацию - берите индикаторы - в том числе и свечи.
------------
Пропустит колбек свечки какую-либо сделку или нет зависит от многих причин.
Но вот что Вы будете с этим делать зависит лишь от Вас.
Начните с этого момента.  
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Цитата
nikolz написал:

Цитата
Цитата
Кто Вам сказал, что колбек прихода свечи отражает все изменения цены?  

Похоже фантазия разыгралась.
Действительно в описании к SetUpdateCallback сказано, то:
Код
  Позволяет задать пользователю функцию обратного вызова для обработки изменившихся СВЕЧЕК  
И не сказано, что это обратный вызов на каждое изменение цены :(
если Вам интересно, то я использую свечи 30 мин 5 мин и 1 мин.
кроме того, в алгоритме принятия решения участвуют данные дневных свечей,
а также не закрытых гепов  и уровни сопротивления (локальные экстремумы)
На акциях основной 30 минут, за исключением начала торгов.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Вообще все данные с биржи приходят блоками
Все изменения цены сделки Вы можете увидеть лишь в таблице обезличенных сделок
или что тоже самое в колбеке onAllTrade.
----------------
но эти изменения придут в блоке.
т е лишь последнее изменение цены будет актуальным.
А в свече Вы увидите именно это изменение, предыдущие, если они не являлись максимумом или минимумом в свече не отразятся.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Цитата
nikolz написал:
 
Цитата
 
Цитата
Quikos  написал:
 
Цитата
 Nikolay   написал:

А чтобы узнать изменения цены можно использовать колбек OnParam, можете сами периодически читать через getParamEx, или таблицу всех сделок, если нельзя пропускать ни одной сделки. А можете и сами просто читать ds:Close() - это и будет текущая цена на момент запроса.
 
---------------------
А свечу Вы можете читать по колбеку onParam или по колбеку OnAllTrade .
И нет никакого цикла.
--------------


Судя вот по этому комментарию от  Sergey Gorokhov  - отсюда  https://forum.quik.ru/forum10/topic2433/
Цитата
Космонавт  написал:
Вопрос 1: почему OnParam не всегда срабатывает, хоть и было изменение цены? (у меня в ОнПарам фильтр - не реагировать если цена прежняя). Я бы отказался от других колбеков, раз они медленные, но получается ОнПарам иногда даёт сбои. Sergey Gorokhov :
OnParam обновляется срезами (раз в период), а не при изменении. Так было всегда и по другому настроить нельзя.

Вы получается не правы? То есть OnParam нельзя использовать для отслеживания изменения цены.
Не всем  надписям  на заборе надо верить.
--------------------
Желательно еще и понимать о чем написано.
-----------------
Если Вам не нравится работать по колбеку onParam, то работайте по onAllTrade.
-----------
Кто Вам сказал, что колбек прихода свечи отражает все изменения цены?  
Функция getDepoEx возвращает nil на имеющийся в портфеле инструмент, В каких случая такой возможно?
 
если есть желание могу сказать какие сделать тесты и как устранить проблему.
мне это делать лень, так как у меня сделано иначе и проблемы нет.
Функция getDepoEx возвращает nil на имеющийся в портфеле инструмент, В каких случая такой возможно?
 
предположу, что проблема в том, что все функции в QLUA глобальные.
Это значит, что когда колбеки исполняются, то блокируют доступ getDepoEx к архиву инструментов.
А  main не ждет. В итоге ему возвращают nil.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Владимир написал:
nikolz, Не говорите ерунды, лапуль. Во-первых, свечи для интервалов в секунды нафиг не нужны, а уж применение Си и вообще противопоказано. У меня минимальный интервал 10 секунд, но и это маловато, в качестве базового таймфрейма, в основном, используется 30-секундный. Всё на чистом Луа. А уж использовать OnAllTrade или ТОС могут только камикадзе. Ах, да - и пользоваться незакрытыми свечами тоже: у меня в своё время просто челюсть отвалилась, когда я об этом услышал.
купи клей для челюсти.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Quikos,
Если Вы хотите построить свечи с интервалом меньше 1 минуты, то вам надо работать с колбеком OnAllTrade ,
который вызывается перед тем как сделка будет записана в таблицу обезличенных сделок.
-------------------
Свечи для интервалов в секунды лучше строить на СИ.  
Как отключить линии DI+ и DI- на индикаторе ADX в квике?, Очень мешают и раздражают эти две линии
 
Цитата
Алексей написал:
Здравствуйте. Подскажите, как найти и внести изменения в скрипт существующего индикатора. Спасибо
Встроенные в КВИК индикаторы - это не скрипты.
----------
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Цитата
Quikos написал:
Цитата
Nikolay написал:
Вам уже уже писали, что чтобы понять, что пришел новый бар, надо всего лишь сравнить запомненное при прошлом опросе значение ds:Size() с новым. При этом можно опрашивать не постоянно, а с периодичностью заказанного интервала.
А чтобы узнать изменения цены можно использовать колбек OnParam, можете сами периодически читать через getParamEx, или таблицу всех сделок, если нельзя пропускать ни одной сделки. А можете и сами просто читать ds:Close() - это и будет текущая цена на момент запроса.
1)Ну так я тоже писал, что считаю подобный опрос в цикле - неправильным, некорректным, неэффективным. Опрашивая просто в цикле - во первых придется каждый раз заказывать ds:Size(). Во вторых - так вы 100% будете пропускать значения.
2)Насчет таблицы всех сделок - тоже писал, что не хочу запускать вручную в Квике что либо помимо скрипта.
Вы заблуждаетесь.
-------------------------
1) Не надо опрашивать что-то в цикле.
------------
2) Если Вас интересует изменение цены (какой?)
Есть две цены - предложения и сделки.
------------------
Свеча строится по ценам сделок.
--------------------------
если я правильно понял, то Вы говорите о последней текущей свече.
-------------------
Изменение цены в реальном времени будет всегда в незакрытой т е последней свече
-----------------------
Нет надобности вообще что-то считать.
Читайте последнюю свечу всегда.
---------------------
А свечу Вы можете читать по колбеку onParam или по колбеку OnAllTrade .
И нет никакого цикла.
--------------
Вы не заказываете ds:Size ()  Это просто размер таблицы архива свечей. Т е эта функция читает ячейку с адресом первой свободной ячейки таблицы свечей.
На это чтение у вас уйдет примерно 0.000005 сек.  это много?
---------------
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Цитата
nikolz написал:
 
Цитата
Quikos  написал:
Индекс свечи приходит в SetUpdateCallback. А размер таблицы data_source обновляется по мере прихода свечи.
 В начальный момент у вас нет свечей , а размер таблицы не нулевой, так как в ней содержатся указатели на функции.
Вы это хотя бы поняли ?
------------------------------
Покажите пример того, о чем говорите.
Да я это сразу учел. Я наверное некорректно задал, мне нужно было проверять свечи только после того, как они превысят первоначально запрошенный размер таблицы. И когда номер свечи будет будет боль размера Первоначально запрошенной таблицы при первом вызове SetUpdateCallback -то это значит уже пришли новые данные.
Я наверное не полностью сформулировал вопрос в само начале.
колбек вызывается когда приходят новые свечи, т е те свечи которых нет в архиве.
Это могут быть пропущенные свечи.
-------------------
Чтобы читать лишь нужные свечи не нужен колбек.
Вы можете контролировать получение нужной вам свечи
по числу свечей в архиве терминала либо по дате и времени последней свечи в архиве.
Для этого есть функции
ПараметрТипОписание
O

function

Получить значение Open для указанной свечи
HfunctionПолучить значение High для указанной свечи
LfunctionПолучить значение Low для указанной свечи
Cfunction

Получить значение Close для указанной свечи

V

function

Получить значение Volume для указанной свечи
TfunctionПолучить значение Time для указанной свечи
SizefunctionВозвращает текущий размер (количество свечек в источнике данных)

Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Индекс свечи приходит в SetUpdateCallback. А размер таблицы data_source обновляется по мере прихода свечи.
В начальный момент у вас нет свечей , а размер таблицы не нулевой, так как в ней содержатся указатели на функции.
Вы это хотя бы поняли ?
------------------------------
Покажите пример того, о чем говорите.
Net error "Удалённый хост принудительно разорвал существующее подключение", Такая ошибка ,как правило, возникает ближе к концу торгов.Подключиться после этой ошибки невозможно в этот день. На пк установлено ещё 2 квика,они при этом работают нормально. Подключение через USB-модем
 
Цитата
Андрей написал:
I512600K  кулер нокта 15

USB WiFi TpLink
вылетела ошибка "ошибка шифрования",
запустил второй раз "не найдены ключи"
запустил третий раз "завис интернет"  но не вырубился
запустил четвертый раз квик работает
не важно какой кулер, если забит пылью.
У Вас ошибки разные , не связаны с приложением, это признак проблем с железом.
Net error "Удалённый хост принудительно разорвал существующее подключение", Такая ошибка ,как правило, возникает ближе к концу торгов.Подключиться после этой ошибки невозможно в этот день. На пк установлено ещё 2 квика,они при этом работают нормально. Подключение через USB-модем
 
возможно проблема с перегревом компа.
Почистите вентилятор процессора.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
т е эта таблица содержит указатели на функции, а не свечи.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Вопрос, номер свечи, который приходит в колбеке SetUpdateCallback-  ВСЕГДА будет равен размеру таблицы, которая возвратила CreateDataSource ?
смотрим в документацию библиотеки QLUA  и читаем что функция CreateDataSource:

TABLE data_source, STRING error_desc  (STRING class_code, STRING sec_code, NUMBER interval, [, STRING param])
Параметры:
  • class_code – код класса,
  • sec_code – код инструмента,
  • interval – интервал запрашиваемого графика,
  • param – необязательный параметр. Если параметр не задан,
    то заказываются данные на основании таблицы обезличенных сделок, если задан –
    данные по этому параметру.

Функция возвращает таблицу data_source в случае успешного  завершения. Если указан неверный код класса или параметр, то возвращается «nil».  При этом error_desc содержит описание ошибки.

Так вот, размер этой таблицы не может быть равен индексу свечи в колбеке

смотрим документацию:

Функция CreateDataSource возвращает таблицу Lua с параметрами:

ПараметрТипОписание
SetUpdateCallbackfunctionПозволяет задать пользователю функцию обратного вызова для обработки  изменившихся свечек
O

function

Получить значение Open для указанной свечи
HfunctionПолучить значение High для указанной свечи
LfunctionПолучить значение Low для указанной свечи
Cfunction

Получить значение Close для указанной свечи

V

function

Получить значение Volume для указанной свечи
TfunctionПолучить значение Time для указанной свечи
SizefunctionВозвращает текущий размер (количество свечек в источнике данных)
Closefunction

Удаляет источник данных, отписывается от получения данных

SetEmptyCallbackfunction

Позволяет получать данные с сервера без указания функции обратного вызова  

Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
практика показывает, что совпадает. Вы на каком основании сделали такой вывод ?
покажите Вашу практику.
Функция getDepoEx возвращает nil на имеющийся в портфеле инструмент, В каких случая такой возможно?
 
Цитата
Для ответа на ваш вопрос добавьте все параметры в message и покажите сообщения.
---------------------------
Зачем sleep на 1 секунду?
l
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
это вообще две большие разницы.
Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?, Номер свечи из SetUpdateCallback всегда будет равен размеру таблицы ?
 
Цитата
Quikos написал:
Вопрос, номер свечи, который приходит в колбеке SetUpdateCallback-  ВСЕГДА будет равен размеру таблицы, которая возвратила CreateDataSource ?
нет
Зависает QUIK, Терминал тупо висит и не реагирует ни на что
 
Цитата
Валерий написал:
Брокер Сбербанк
QUIK 7.26.0.26
24.10.2022 после 12:00 мск завис. Несколько раз кратковременно начинал работать и тут же опять "умирал".
Служба поддержки держит глухую оборону: невозможно дозвониться.
У меня тоже сбербанк
Вчера,  сегодня и вообще работает без зависания.
Предположу,  что у вас возможны три причины.
1) Самопальные скрипты и индикаторы
2) комп и другие приложения.
3) плохой канал связи и провайдер.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Alexander написал:
Цитата
nikolz написал:
читайте Раздел 5. Торговые операции клиента. Руководство пользователя QUIK.там все написано.
Ничего путнего там не написано. Я это читал раньше. На мой вопрос там ответа нет.
Если правильно понял Ваш вопрос, то вас интересует в чем различие рыночной заявки по акциям и по фьючерсам.
-------------------------------------------------
Ответ есть в указанном разделе.
вот он:
для акций:
«Рыночная» – признак заявки без указания цены исполнения.
Такая заявка исполняется на бирже по ценам имеющихся встречных заявок, начиная с лучшей из них.
--------------------------
Для фьючерсов:
«Рыночная» в пустое поле «Цена» подставляется значение «Максимально возможная цена», а при подаче заявки на продажу – «Минимально возможная цена» для данного инструмента.
«Рыночная» –  при наличии встречного предложения заявка исполняется по цене не хуже, чем значение, указанное в поле.
--------------------------
Т е для акции расчет требуемых средств будет выполнен по лучшей  цене, а для фьючерсов фактически по наихудшей цене.
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Цитата
Alexander написал:
Вот ещё хочу тут спросить старожилов по такому поводу. Скрипт на Lua сначала делает продажу акций Лукойл по рынку в шорт 10 шт через sendTransaction() при этом естественно ставлю TYPE="M", PRICE="0".
Транзакция проходит, заявка исполнилась нормально. Следующая транзакция на покупку фьючерса "LKZ2", т.е. LKOH-12.22 в количестве 1шт так же по рынку, где в sendTransaction() установлено так же TYPE="M", PRICE="0". Но при этом транзакция с ошибкой: Ошибка создания заявки. [GW][332] "Нехватка средств по лимитам клиента." Пытаюсь купить данный фьючерс вручную в квике, установив галочку в окне ввода заявки "Рыночная" - результат опять та же самая ошибка!
В результате фьючерс купил таки вручную, указав цену на покупку из стакана равную лучшей цене продажи. Транзакция прошла без ошибок и заявка тут же исполнилась. Да мог бы поставить цену покупки и выше чем лучшая цена продажи на несколько пунктов, это я знаю, и заявка ушла бы так по лучшей рыночной цене.
Но вопрос: почему sendTransaction() работает на покупку/продажу акций по рынку с значениями TYPE="M", PRICE="0", а на  покупку/продажу фьючерса с значениями TYPE="M", PRICE="0" выдаёт ошибку: "Нехватка средств по лимитам клиента." и я вынужден ставить цену хуже рынка, чтобы заявка ушла по рынку? Заявка то в конечном итоге прошла, значит средств достаточно!
читайте
Раздел 5. Торговые операции клиента. Руководство пользователя QUIK.
там все написано.
Пользовательская таблица
 
Цитата
Михаил Филимонов написал:
У меня не стоит задача написать что-то на ЛЮБОМ языка, я задал конкретный вопрос.
Читайте инструкцию по КВИКу там все написано,
Там написано что это можно и как делать?
очевидно , что нет.
Вот вам и ответ на ваш вопрос.
Пользовательская таблица
 
Цитата
Михаил Филимонов написал:
Цитата
nikolz написал:
Можно, но желательно в содружестве с головой.
------------
Для справки,
QLUA - это библиотека функций,
написана на СИ
и имеет интерфейс для вызова из скриптов,
написанных на LUA.
---------------
Но если не нравится Lua,
то можете либо писать на любом другом языке.
У меня не стоит задача написать что-то на ЛЮБОМ языка, я задал конкретный вопрос
может поясните, что конкретно означает ваш вопрос: "Руками можно создать?"
Вы еще чем-то создаете ?
Пользовательская таблица
 
Можно, но желательно в содружестве с головой.
------------
Для справки,
QLUA - это библиотека функций,
написана на СИ
и имеет интерфейс для вызова из скриптов,
написанных на LUA.
---------------
Но если не нравится Lua,
то можете либо писать на любом другом языке.
Пользовательская таблица
 
Функции для работы с таблицами Рабочего места QUIK

В таблицах Рабочего места QUIK, созданных с помощью скриптов на языке Lua,  поддержаны следующие возможности:  


  • режим «drag-and-drop»,
  • пользовательские фильтры,
  • условное форматирование,
  • размещение на «экранных закладках»,
  • поиск значения в ячейках таблицы,
  • печать таблицы с предварительным просмотром.

Ниже приведен список действий, которые не поддерживаются для таблиц,  созданных на языке Lua:  

  • таблицы не сохраняются в файл конфигурации,
  • отсутствует диалог редактирования таблицы,
  • отсутствует контекстное меню таблицы (кроме пункта «Переместить на
    закладку»),
  • не создается копия таблицы,
  • не задается по умолчанию заголовок окна таблицы,
  • отсутствует экспорт данных из таблицы,
  • недоступно управление «горячими клавишами».

Список функций:  

  • AddColumn - добавляет колонки в таблицу
  • AllocTable - создает структуру, описывающую
    таблицу
  • Clear - удаляет содержимое таблицы
  • CreateWindow - создает окно таблицы
  • DeleteRow - удаляет строку из таблицы
  • DestroyTable - закрывает окно таблицы
  • InsertRow - добавляет строку в таблицу
  • IsWindowClosed - возвращает «true», если закрыто
    окно с таблицей
  • GetCell - позволяет получить данные из ячейки
    таблицы
  • GetTableSize - получает количество строк и
    столбцов
  • GetWindowCaption - получает текущий заголовок
    окна
  • GetWindowRect - получает координаты верхнего
    левого и нижнего правого угла окна, содержащего таблицу
  • Highlight - подсвечивает выбранный диапазон
    ячеек с плавным «затуханием» для таблицы
  • RGB - преобразовывает компоненты RGB (red,
    green, blue) в одно число для дальнейшего использования в функции SetColor
  • SetCell - задает значение для ячейки в таблице
  • SetColor - устанавливает цвет ячейки, столбца
    или строки для таблицы
  • SetTableNotificationCallback - задает функцию
    обратного вызова для обработки событий в таблице
  • SetWindowCaption - задает заголовок окна
  • SetWindowPos - устанавливает положение окна с
    таблицей
  • SetSelectedRow - выделяет определенную строку
    таблицы

Руководство пользователя QUIK © ARQA Technologies / www.arqatech.com/ru/products/quik/
QLUA + C#, Вызов методов C# из QLua
 
https://habr.com/ru/post/197262/
QLUA + C#, Вызов методов C# из QLua
 
https://quikluacsharp.ru/stati-uchastnikov/lua-c-bez-s-dll/
Хочу заказать скрипт для Quick + настройку, Хочу заказать скрипт для одновременного выставления stoploss/takeprofit при выставлении заявки в стакане одной клавишей (параметры заявки заданы заранее)
 
Цитата
Владимир написал:
nikolz, А на кой с ними соревноваться? HFT есть расписка в отсутствии нормальных алгоритмов торговли, суходроч по схеме "сила есть - ума не надо". Да и прибыль от них копеечная, если вообще есть.
Вы опять пургу несете.
------------------
Вы опять меня рассмешили своим воинствующим невежеством.
-----------------
HFT  роботы - это роботы маркет-мейкеров и крупных игроков на бирже.
ваша прибыль в сравнении с их прибылью - это сверхмалая величина.
Отписка callback`а SetUpdateCallbackcallback - отписывает ВСЕ заказы, Отписка callback`а SetUpdateCallbackcallback - отписывает ВСЕ заказы
 
Цитата
Владимир написал:
Quikos, Да я тыщу раз говорил, что классические мат. ожидание и дисперсия в миллион раз информативнее этой японской гадости. Но при желании можно посчитать и их: первый замер после отсечки очередной свечи - начало, последний - конец, минимум и максимум считаем обычным образом. Но лично меня интересует только ОДНО значение - то самое среднее арифметическое. Дисперсию когда-то собирался посчитать, но оказалось, что она тоже нафиг не нужна.
Может хватит бред нести в массы буратин?
все мозги засрали Quikos.
-------------------
Вы хотя бы в учебник по стат анализу заглянули.
Мат ожидание и дисперсия и индикатор свечи - это две большие разницы.
Специально для Вас и других буратин поясняю.
--------------
мат ожидание и дисперсия - это точечные средние оценки первого и второго момента закона распределения функции случайной величины на интервале наблюдения.
а свечи - это точечные мгновенные оценки четырех функций случайной величины на интервале тайма.
-----------------
Владимир,
Так как Вы очевидно дальше чем нормальный закон распределения и два его момента ничего больше не усвоили,
то и свечи и другие индикаторы для Вас как очки для мартышки.
----------------
Хочу заказать скрипт для Quick + настройку, Хочу заказать скрипт для одновременного выставления stoploss/takeprofit при выставлении заявки в стакане одной клавишей (параметры заявки заданы заранее)
 
и еще..
подобный скальпинг в стакане был актуален лет десять, а то и двадцать, назад.
---------------------
В настоящее время этим занимаются HFT роботы.
Соревноваться с ними бессмысленно так как они работают рядом по самым быстрым каналам доступа к бирже.
Они кликают примерно в 1000 раз быстрее, чем Вы можете кликать мышкой в стакане.
Права на Program Files
 
Если очень надо, то попробуйте изменить атрибуты у папки Program Files (x86) и убрать флаг "только читать".
Кривые шибки в QLua
 
Типа нажал кнопку утром, и мечтаем до вечера спать, но  не получилось работать.
------------------------
А у меня получается,
после того как построил провайдера и показал где у него узкое место.
Теперь все тип-топ.
Страницы: Пред. 1 ... 21 22 23 24 25 26 27 28 29 30 31 ... 72 След.
Наверх