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

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

Страницы: Пред. 1 ... 31 32 33 34 35 36 37 38 39 40 41 ... 72 След.
Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
 
поправляю.
DDE  и CreateDataSource() совершенно разное.
DDE - это способ обмена данными между приложениями . По-существу это клиент-серверный обмен внутри компьютера.
В квике этот способ обмена реализован для получения данных из любых таблиц терминала.
Например, в квике DDE это практически единственный   разумный способ получить доску опционов или всю таблицу текущих торгов .
----------------------------
CreateDataSource()  - это функция явного запроса (подписки) на данные с сервера брокера.
Если эти данные есть в какой-либо таблице или на графике, то очевидно что они уже подписаны для получения.
-------------------------
Сомневаюсь, что Вы не будете смотреть те данные, на которые подпишитесь.
следовательно, после первого  отображения и сохранения квика, они в следующий раз автоматом начнут загружаться.
-----------------------  
Непонятно, как это - данных нет на сервере, а Вы их запрашиваете.
Вы что их сами придумываете?  
Как получить значения 10 000 свечей, Вопрос о возможностях загрузки
 
Цитата
Alexandr написал:
В начальный момент времени нейронная сеть на входе имеет нулевые данные.
Поскольку внутри  находятся элементы с памятью (тоже "обнулены"), то сеть нужно прогнать/подготовить на предыдущей последовательности данных,
чтобы элементы памяти внутри сети адекватно "поумнели" к текущему моменту.

При этом коэффициенты, ранее полученные в процессе обучения - не меняются уже конечно.

Если бы это была простая нейронная сеть (без элементов памяти), тогда конечно, можно сразу подавать на ход последние свечи (которые попадают в "окно")
Вообще-то, начальное значение элементов памяти получают на конечной стадии обучения сети.
У Вас получается что сеть обучается, а потом вы стираете ей память и начинаете накапливать память, не меняя коэффициенты связи.
Это уж, извините меня, какой-то мазохизм над сетью.
---------------------------------
Не проще ли перед запуском скачать нужный объем данных с сервера брокера и настроить сеть?
----------------------------------
А правильно скачать такой объем, который нужен для обучения сети.
После обучения сделать образ сети, включая и начальное состояние всех элементов памяти и переместить ее в КВИК.
----------------------  
Ну и совсем правильно - это просто на вход сети после обучения на истории включить поток реального времени а сеть никуда не перемещать.
---------------------
Но это я так делаю, а вы уж как Вам нравится.
Обновление таблицы квик в отдельном потоке
 
Цитата
andrey2185 написал:
Цитата
nikolz написал:
вопрос риторический.конечно возможно, вопрос в другом - Вы сможете это сделать самостоятельно?
какие есть варианты?
Для начала :
1) Измерьте какой интервал обновления и сколько времени Вы тратите сейчас.
2) Исходя из измеренных данных сформулируйте свои хотелки.
3) Проведите анализ реализованного алгоритма на предмет потерь времени.
4) На основе п1-3 можно определиться с вариантом решения.
Как получить значения 10 000 свечей, Вопрос о возможностях загрузки
 
1. Специально не проверял, но полагаю, что получите то,чего нет в архиве.
2. Новые свечи будут добавляться к архиву и следовательно их будет больше 3000.
-------------------  
Что-то у Вас не так с нейронной сетью.
Если она обучена, то зачем ей старые данные, а если она не обучена, то почему бы ее не обучить заранее.
-------------------
Предположу, что у Вас используется какой-то индикатор типа мувинга с большим окном наблюдения,
либо ваша сеть по сути выродилась в такой индикатор и переходной процесс в нем длится 10000 отсчетов, та как у Вас нулевые начальные данные.  
Обновление таблицы квик в отдельном потоке
 
Цитата
andrey2185 написал:
Привет, нужно обновлять таблицу, допустим каждые 100 миллисекунд, не прерывая основной поток, возможно?

Можно конечно два скрипта запустить, один будет таблицу создавать и обновлять периодически, другой данные писать в таблицу из которой обновляется.
Но хотелось бы уместить в один скрипт.
вопрос риторический.
конечно возможно, вопрос в другом - Вы сможете это сделать самостоятельно?
срочный рынок Московской биржи переходит на новую тарифную модель
 
Цитата
Владимир написал:
Что-то вы не то говорите, господа. С чего вы взяли, что "дела c ликвидностью совсем плохи"? Во-первых, изменения касаются именно срочного рынка, где продают воздух, продают ожидания - а какие могут быть здесь проблемы с ликвидностью? Тем более, что объём срочного рынка, насколько я знаю, в разы превосходит фондовый, а там "почему-то" никаких "проблем с ликвидностью" не просматривается. Во-вторых, "комиссия будет взиматься только с клиентов, которые заключают сделки по уже выставленным заявкам". Если два трейдера одновременно подали заявки по одной цене - один на покупку, другой на продажу, то та, которая первой прилетит на биржу, и будет считаться "выставленной", а опоздавший получит комиссию за эту сделку: кто первый встал, того и тапки. Таким образом, при любой сделке комиссию платит одна из сторон (в теории - на практике в вышеприведённом примере определить того, кто. освобождается от комиссии практически невозможно). Иными словами, поощряют тех, кто предоставляет информацию о своих намерениях: заявка должна полежать какое-то время в стакане. Это даст дополнительные преимущества тем, кто сидит ближе к рынку и может, воспользовавшись этой информацией, перехватить заявку и через миллисекунду перепродать её участнику, который уже обозначил свою желаемую цену и который за это был милостиво освобождён от уплаты комиссии. Кроме того, он платит за это дело временем ожидания совершения сделки, которое, очевидно, растёт, а также снижением вероятности её исполнения, будь все его заявки хоть 100500 раз лимитированные: ему платят ЗА ИНФОРМАЦИЮ! Точнее, даже не платят, а просто не обдирают как тех, кто этой информации не даёт. Далее: "Скидка на скальперские сделки больше не применяется". Вроде бы, разумно - во всяком случае, меня этот HFT-суходроч всегда раздражал. Но, простите, требование, чтобы заявка непременно полежала в стакане, стимулирует как раз то, чтобы спред был вычерпан досуха! А это, в свою очередь, стимулирует как раз скальпинг, обеспечивает его необходимым материалом, в то время как сам скальпинг, наоборот, должен бы расширять спредовые границы. Таким образом, скальпинг вроде как стимулируется, но скидка за него не даётся - полное ощущение, что эти меры направлены как раз на поощрение скальпинга, но только "для особ, приближённых к императору". ::  
Опять написали чушь.
Заявка либо по рынку, либо лимит.
По рынку она всегда бьет в лучшую противоположную, т е не выставляется, а исполняется и тем самым двигает рынок и расширяет спред.
-------------
Если две заявки с одинаковой ценой пришли в одно и тоже время, что маловероятно само по себе, то обрабатываться ядром они будут последовательно.
-------------------------
Первой будет та, которую сокет получил первой, так как одновременно две получить технически невозможно.
--------------------------
Поэтому первая выставится, если для нее нет встречной, а вторая в нее ударит.
-------------------
Первой конечно придет заявка HFT робота, но это уже другая история.  
чтобы это значило?
 
Цитата
Alexey Danin написал:
Руководство пользователя Qlua -> Структуры данных -> Позиции по инструментам:

Цитата
                                    Срок расчётов. Возможные значения:
limit_kind  NUMBER  -- положительные целые числа, начиная с «0», соответствующие срокам расчётов из таблицы «Позиции по инструментам»: «0» – T0, «1» – T1, «2» – T2 и т.д.;
                                  -- отрицательные целые числа – технологические лимиты (используются для внутренней работы системы QUIK)
Благодарю.
срочный рынок Московской биржи переходит на новую тарифную модель
 
Цитата
Евгений написал:
Согласно новому подходу, банки и брокеры, а также их клиенты –  юридические и физические лица,  выставляющие заявки и предоставляющие  таким образом ликвидность рынку ,  освобождаются от уплаты биржевой  комиссии за сделки  с фьючерсами и опционами. Комиссия будет взиматься  только с клиентов,  которые заключают сделки по уже выставленным заявкам .

Нет не правильно вы поняли, комиссия будет взываться с тех кто работает по рынку, то есть выставляет рыночные заявки (выше/ниже текущей цены.  А от комиссии освобождаются те кто выставляет лимитные. Да дела плохи,но как говорится с паршивой овцы хоть шерсти клок.
согласен.
срочный рынок Московской биржи переходит на новую тарифную модель
 
очевидно, что дела c ликвидностью совсем плохи, если маркет-мейкеры не справляются.
Как получить значения 10 000 свечей, Вопрос о возможностях загрузки
 
Цитата
Alexandr написал:
Коллеги, приветствую!

Мой алгоритм до начала работы требует "настройки", изучая примерно 10 000 свечей (HLCV)
(дальше программа уже будет традиционно обрабатывать только каждую новую свечу)

В связи с этим вопросы:
1. Возможно ли получение стольких значений истории (в тч и предыдущих дней) сразу?
2. Сколько это времени займет?
3. При программной обработке данных, как не сбиться с учетом того что за это время начнут поступать уже новые данные (собьется нумерация свечей)

Поделитесь опытом как это все лучше организовать
А кто Вам мешает записать Ваши 10 000 (да хоть миллион) свечей в файл и читать их сразу, когда желаете.
свечи можно взять с сайта брокера.
Как получить значения 10 000 свечей, Вопрос о возможностях загрузки
 
Цитата
Alexandr написал:
Видимо вопрос слишком сложный.

Тогда вопросы проще:
1. по функции CreateDataSource сколько данных (максимально допустимый размер size) выгрузиться всего?

2. Сколько времени нужно будет на получение 10 000 временных отсчетов?
сервер дает максимум 3000 свечей.
Остальное накапливает терминал.
Вообще-то, чтобы посчитать достаточно знать арифметику.
Вам надо определится с величиной интервала.
потом оставшиеся 7000 поделить на число свечей с вашим интервалом  за одну сессию
и получите число рабочих дней
срочный рынок Московской биржи переходит на новую тарифную модель
 
Цитата
Евгений написал:
https://www.moex.com/n48195/?nt=106

https://smart-lab.ru/blog/801496.php
Короче говоря,  биржа не берет комиссию, если  заявку по рынку.
Но брокер-то свое возьмет и биржевое прихватит .
чтобы это значило?
 
Цитата
Alexey Danin написал:
Здравствуйте.

В Вашем примере OnDepoLimit получает технологический лимит (limit_kind=-3), технологические лимиты используются для внутренней работы системы QUIK. Их самих, как и их значения, можно (и нужно) полностью игнорировать.
И в какой документации КВИКА это написано?
Как узнать кол-во сделок на покупку и продажу определенной свечи LUA QUIK
 
Цитата
Nikita написал:
Добрый день!
Подскажите есть ли пример или где взять информацию по данной теме ?  
примера нет.
---------------------
Могу предложить следующий алгоритм.
общее число сделок берете из объема.
Если свеча закрылась ниже открытия то на продажу было больше чем на покупку.
По расстоянию от открытия до закрытия можете судить существенно больше или нет.
----------------------------
Считать по обезличенным сделкам можно, но бесполезно для торговли.
-------------------------------
Приведенный мною алгоритм соответствует  теории японских свечей, которая работает на практике.
----------------------
Учите теорию.
Ошибка: attempt to call a nil value (global 'foo'), непонятная ошибка в вызове пользовательской функции
 
Цитата
Владимир написал:
Nikolay, Как это "в момент вызова foo она еще не определена"? У меня в скрипте первой функцией стоит main, а за ней ещё десятка два, обычно по алфавиту. Всегда все всё прекрасно видят. Да и Квик перед запуском делает что-то вроде компиляции кода.
Функция main - это дополнительный поток для скрипта и вызывается основным потоком квик после того как весь скрипт загружен,  
и все функции в этот момент уже определены.
--------------------------
Учите мат часть.
Динамическое количество линий индикатора
 
Цитата
Nikolay написал:
Это значит что при попытке вывода линий они выводятся не на своих местах.
Для примера, в Settings.line три линии. В Init добавили еще две линии - их стало пять. Вернули из функции Init 5.
При отрисовке линий 4, 5 они выводятся поверх линий 1-3.
Предположу, что забыли очистить буфер старых линий, поэтому они и выводятся.
КВИК ПОД ДРУГУЮ ОПЕРАЦИОННУЮ СИСТЕМУ ОТЛИЧНУЮ ОТ Windows, В связи с последними известными события Microsoft уходит из РФ а в случае обострения вообще блокнуть могут через обновления
 
Цитата
Иван написал:
Цитата
nikolz написал:
Надпись на линукcе, что это аврора не делает линукс отечественной.
На Кенигсберге тоже Калининград написано это не делает его городом РФ?
Сделано в китае на кроссовках найк не делает эти кроссы китайскими?
Если разбираетесь в теме посоветуйте возможные варианты как и на чем работать без риска с деньгами в текущих реалиях ? а стеб для полит форумов придержите
ОС на потерю денег не влияет.
-------------------------
Поэтому,
если очень хочется и знаете как, то ставьте на линукс,
а если приключений на свою ж... не хотите, то работайте на винде
и не парьтесь без веника и не читайте страшилки в интернете.
Интервал между сделками на спот-рынке и на срочке.
 
Цитата
Сергей Олейник написал:
Почему интервал сделок на споте и на срочке разный при указании времени сделок в мкс?. То есть сделки идут на разных площадках не синхронно?
Если Вы про квант времени, то он на биржах синхронизируется по атомным часам точного времени и он точный.
Вопрос в том, как вы измерили несинхронность?  
КВИК ПОД ДРУГУЮ ОПЕРАЦИОННУЮ СИСТЕМУ ОТЛИЧНУЮ ОТ Windows, В связи с последними известными события Microsoft уходит из РФ а в случае обострения вообще блокнуть могут через обновления
 
Цитата
Иван написал:
Вопрос к тех поддержке если 10 винда все ,то какая отечественная операционка подойдет? и что для этого нужно? какой ноут брать и с какой операционкой отечественной ?
Есть ли планы квик написать или адаптировать как то на что то кроме винды?
прикольно, Вы из какого отечества?
----------------
Никогда в россии не было никакой операционки сделано.
--------------------
Надпись на линукcе, что это аврора не делает линукс отечественной.  
График оборота торгов в деньгах смещен влево на 1 сессию, Текущ. знач. в ТТТ показывает - это сегодняшний график
 
Цитата
NoneB написал:
К проблеме смещения графика добавилось некорректное отображение на вертикальной шкале значения для перекрестия -   объем торгов отображается как     ОТРИЦАТЕЛЬНЫЙ.  
Перезаказ  данных, перезагрузка программы  и получение пропущенных данных при помощи клавиши F5 не помогли.



Все просто, Вы пере заказали данные и получили объем торгов за текущую сессию,
так как предыдущие дни у Вас хранились в архиве, на сервере их нет.
-----------------------
А перезаказ привел к стиранию Вашего архива.
---------------------
Теперь копите данные и будет вам счастье, но когда накопите их в терминале.
-----------------------
В следующий раз сто раз подумаете, прежде чем перезаказывать.
--------------
Либо сохраняйте копию накопленного.
================  
"Потерявши голову, по волосам не плачут.."
Вопрос по луа 5.4
 
Вообще-то, нет никакой разницы какую вы используете версию 5.4 так как в КВИКЕ будет работать dll из папки КВИКА
а lib которую используете при сборке лишь содержит указатели на dll.
типа:
Код
luaC_fullgc lua54.dll lua54.dll/ 1608127225              0       40        `
luaC_step lua54.dll lua54.dll/   1608127225              0       40        `
       `
Вопрос по луа 5.4
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
Уточнил, я тоже использую Lua 5.4.2.
Вопрос по луа 5.4
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
Я вам не правильно ответил.
Я использую для сборки lib, которую сделал из dll.
Вопрос по луа 5.4
 
Цитата
s_mike@rambler.ru написал:
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
нет не в этом,
я собираю библиотеки с 5.4.4  и  все работает без проблем.
--------------
Я не понял как Вы собрали dll с ошибкой в вызове.
Возможно Вы не увидели ошибку и у Вас осталась dll от 5.3
В итоге она и повисла у Вас при запуске в 5.4
Неправильное значение Totalnet в функции onTrade()
 
В колбеке OnTrancReply  результат сделки приходит раньше чем в OnOrder(), OnTrade().
так как OnTrancReply ответ сервера на транзакцию
а OnOrder(), OnTrade() - это регистрация результата в соответствующих таблицах.
Естественно, регистрация всегда делается на результат исполнения транзакции.
----------------
Поэтому Вы видите сначала то, что потом увидите в OnOrder(), OnTrade().
=============
Я использую ответ на транзакцию на принятие решения, а колбек регистрации на фиксацию состояния заявки.
Все работает и быстро и правильно.
---------------------
"... разруха не в клозетах, а в головах."
Расчет индикаторов на графике после отмены добавления индикатора через меню по мышке "Добавить индикатор"
 
Цитата
Евгений написал:
Расчет индикаторов на графике после отмены добавления индикатора через меню по мышке "Добавить индикатор (индикатор)"

При попытке добавить индикатор через меню по правой клавише мышки и отказа по кнопке "отмена" происходит расчет существующих на графике индикаторов.  Версия 8.6.0.97.

Зачем ?
Вопрос риторический.  
Вопрос по луа 5.4
 
все работает в Lua 5.4
Вопрос по луа 5.4
 
Цитата
s_mike@rambler.ru написал:
решил пересобрать  библиотеку с 5.3 на 5.4
Уткнулся в проблему

Функция в dll:

static int b4s_xxx(lua_State *L)
{
const char *buffer = "message(\"hello world\")";
int result = luaL_dostring(L, buffer, strlen(buffer));

lua_pushnil(L);
return 1;
}

Вызываем из standalone lua

require "testlib"
message = print
testlib.xxx()

Выводит hello world

Вызываем из квика

require "testlib"
testlib.xxx()

ничего не выводит.


Теряюсь в догадках. Кто может подсказать?  на 5.3 проблем не наблюдалось
вообще-то, у Вас ошибка в записи макроса.
См документацию:
luaL_dostring (lua_State *L, const char *str); //2 аргумента
а у Вас:
luaL_dostring(L, buffer, strlen(buffer)); //3 аргумента
Транзакции на снятие Лимит. заявки
 
В итогу у меня все работает примерно в 100- 1000 раз быстрее, чем у Вас.
Транзакции на снятие Лимит. заявки
 
колбеки заявок и транзакций исполняются примерно за 1...5 мкс
Транзакции на снятие Лимит. заявки
 
Цитата
Станислав написал:
Поставил задержку (пробовал от 1 до 5 секунд) теперь вот что выдает:
очевидно, Вы неправильно организовали процесс снятия заявки.
-------------------
рассказываю упрощенно как сделано у меня. Тестировал на выставлении и снятии заявок в цикле.
Всего было выставлено и снято 200 тысяч заявок по 200 инструментам без подобных сообщений .
---------------
Выставление и снятие заявок реализуется по похожим алгоритмам.
Необходимо обрабатывать состояние не только заявки но и транзакции.
Чтобы не перебирать таблицу заявок, а для 200 тысяч заявок упаритесь это делать,
я веду учет индексов активных заявок по каждому инструменту, а также индексы активных транзакций.
Процедура подачи или снятия заявок состоит из двух блоков.
-----------------  
Логика процесса такая.
Из таблицы активных заявок выбирается та, которую надо снять.
Она отмечается меткой, что мы ее снимаем.
Формируем транзакцию и отправляем на сервер.
по транзакции возможны две ошибки
При ее проверке терминалом и при ее проверке сервером.
Если возникает ошибка, то транзакция удаляется и снимается отметка с заявки.
процесс повторяется снова.
---------------
Так как инструментов много и заявки по ним выставляются асинхронно , то для транзакций организована очередь на исполнение.
---------------
Если сервер выставил заявку на биржу то приходит сообщение в колбек транзакции
Это сообщение приходит раньше чем сообщение о снятии в таблицу заявок.
Я использую это сообщение как сигнал снятие заявки, но обрабатываю сообщение о снятии которое приходит в колбек заявки
и отмечаю что заявка снята окончательно и удаляю ее из таблицы активных заявок.
------------------
В результате , заявка снимается за время как правило не более десятых долей секунды.
--------------
Количество инструментов  практически не влияет на скорость исполнения.
Получение данных в стороннем софте через DLL из QLUA
 
Вы можете сделать проще , написав свою программу на С++ как dll для Lua и загрузить ее в свой скрипт оператором require.
Получение данных в стороннем софте через DLL из QLUA
 
Цитата
Юрий написал:
Цитата
nikolz написал:
Вы напишите, куда хотите передать, тогда отвечу более предметно.
Передать мне надо в программу на C++
Очень хотелось бы пример в виде кода.
пример можно посмотреть в книге
Джеффри РИХТЕР " Создание эффективных WIN32-приложений  с учетом специфики 64-разрядной  версии Windows"
---------------------
Вам надо определиться с механизмом передачи.
Получение данных в стороннем софте через DLL из QLUA
 
Вы напишите, куда хотите передать, тогда отвечу более предметно.
Получение данных в стороннем софте через DLL из QLUA
 
Цитата
Юрий написал:
DLL создавать умею. Но вы меня не совсем правильно поняли. Вопрос не в том как вернуть что-то из DLL в скрипт на lua, вопрос в том как передать дальше данные из DLL в сторонний софт. То есть мне нужна трансляция данных из QLUA в стороннюю программу через DLL в одну сторону. Вот я не совсем понимаю как это сделать в связке DLL и сторонний софт. Надо подгружать DLL в стороннюю программу и регистрировать колбеки чтобы при получении данных DLL передавала их дальше в мою программу или как ?? Вот мне такой пример нужен в виде кода.
В сторонний софт однозначно надо будет делать dll, если в нем не предусмотрен какой-либо механизм получения данных из других процессов.
------------------
Вы можете сделать одну dll c функциями для Lua и вашего стороннего софта.
---------------------
Например, я делал dll, в которой функции для СИ и обертка к ним для Lua.  
------------------------------
В питоне  и Luajit есть возможность подключать dll на CИ.   Т е для них не надо писать специальную dll, а достаточно  dll на СИ.
---------------
Переход с 7.26 на новые версии, Переход с 7.26 на новые версии стало лучще или хуже?
 
Цитата
Дмитрий написал:
Добрый день!

Уважаемые знатоки, кто переходил с последних х32 версий на новые х64, предлагаемые брокерами, на том же железе, стало в итоге хуже или лучше? Увеличение нагрузки на железо чувствуется? Стоит ли ради перехода сносить сносить свою 32-битную систему и переходить на х64?
Квик поставил первый раз в 20-м году. Сначала все было нормально, вроде бы, но потом начались тормоза и подвисания, никакие чистки файлов не помогают. Пару раз сносил все под ноль, чистил реестр, ставил заново, пробовал терминалы от разных брокеров - ничего не помогает и везде одни и те же тормоза. Пришел на форум, почитал, понял, что я не один, и у людей, с намного более продвинутым железом и желанием что-то изменить - проблемы те же самые: квик тормозит.
Брокеры меня много раз пугали, что в 7-й версии квика некорректно отображаются данные, что она больше не поддерживается, и вы работаете на свой страх и риск, что ее срочно нужно поменять и т.д., на что я им отвечал, что мне проще поменять брокера. Я даже вижу, что до некоторых из них начало доходить, и на сайтах теперь выложена 7-версия, хотя их все меньше.
Вопрос у меня простой: по вашим ощущениям и опыту, нужно ли запариваться и переходить на новые версии? Что я теряю, сидя на 7? На том же железе, в новых версиях тормозов больше или меньше, и на сколько сильнее они грузят железо?  
смотря какое железо.
У меня 7-я версия без проблем работала на XP.
перешел два года назад на 8-ю так как сменил брокера.
тестирую сейчас 9.5.
-------------------------
Все работает нормально и быстрее, так как железо быстрее работает.
-------------------------------
Процессор грузится примерно на 10%, но подробно не замерял.
На скриптах так вообще просто летает.
---------------------------
Полагаю, что проблема бывает не в зеркале, а в танцоре.
sendTransaction Использовать кредит, sendTransaction new_order Использовать кредит имя параметр
 
Цитата
just написал:
Подскажите, пожалуйста, какой параметр указать при выставлении заявки, чтобы сделка использовала кредитное плечо. Лучше имя параметра на английском, русские у меня в этой процедуре не проходят, мне так помнится.
У Вас должно быть соглашение с брокером на использование маржинальных сделок.
если оно есть, то ваша заявка будет автоматом маржинальной,
если Вы превысите размер собственных средств
или сделаете короткую позицию.
Получение данных в стороннем софте через DLL из QLUA
 
Цитата
Юрий написал:
Добрый день.

Есть необходимость получить данные о сделке в момент ее совершения в своей программе написанной на C++.

Как из QLUA отправить данные в свою DLL вроде нагуглил и разобрался. А как передать эти данные из DLL в свою программу, я что-то ума не дам. Опыта в этом нет, прошу помощи.

Мне необходимо в своей программе получать данные о сделке и инструменте в момент совершения сделки в Quik. И нужна именно реализация через свою dll. Ну то есть QLUA -> DLL -> C++ и все это в реальном времени.

Помогите примером, кто разбирается в теме, пожалуйста.
DLL умеете создавать?
----------------------------
В DLL пишите функцию на СИ, используя API C for lua   см здесь подробности:
https://www.lua.org/manual/5.4/manual.html#lua_pushlstring
-------------------------------------------------------------------------------------------
Будет примерно следующее:
Код
static int zerro(lua_State *L){   //это заголовок вашей обертки. Он всегда такой 
// если вам надо передать данные в DLL из lua то далее пишите прием этих данных в СИ
    long x=lua_tointeger(L,1) ;  //  это получили целое
    double z=lua_tonumber(L,2); // получили double
    char*ps=(char*)lua_tostring(L,3); //получили строку
//  здесь  делаете что хотите на СИ
...
// если надо выдать что-то в скрипт из вашей dll то пишем
     lua_pushinteger(L,x);   // вывели целое
     lua_pushnumberL,z);   //вывели вещественное
     lua_pushstring(L,ps);   //вывели строку
return 3;    //указали сколько вывели
}

Недавно предлагал на форуме библиотеку для передачи данных из процессов и потоков на любых языках для QUIK.
Оказалась, что никому не нужно.
===================  
Сомневаюсь, что сможете решить вопрос синхронизации потоков и процессов, если говорите, что лишь читали как делать.
---------------  
Рекомендую почитать книгу:
Джеффри РИХТЕР " Создание эффективных WIN32-приложений  с учетом специфики 64-разрядной  версии Windows"

Функция CreateDataSource никогда не возвращает ошибку, И это создаёт большие проблемы при разработке. В неё можно запихнуть любой мусор, и она скажет: "Всё отлично".
 
Если используете колбек, то данные получаете поэлементно.
-------------------------
Если используете DDE, то данные приходят блоками по 16384 элемента.
----------------------
Обнаружить наличие данных можно  на первом же блоке.
-------------------------
Время приема одного элемента по DDE  не более 10 мкс.
-----------------------
Время приема блока данных 16384 не более 0.1 секунды.
---------------------
Зачем ждать годами, вместо того, чтобы изучить СИ и сделать  то, что хотите.
---------------------------------
"Без труда не бывает не ... я."
Как тут понять сколько зработал?, Из каких данных можно посчитать доход?
 
Прикольно,
Посчитать сколько "заработал" очень просто
Из того что стало в деньгах отнимите то, что было.  И получите реально сколько пришло или ушло.
А считать по цифирькам  в табличках виртуальный  приработок - это мазохизм какой-то.  
OnStop, Не могу задать время на остановку скрипта из диалога управления
 
Цитата
Дмитрий написал:
Спасибо за ответ.
Но я понимаю, что функция OnStop не прерывает выполнение программы сама, а лишь вызывается при остановке и возвращает время на остановку скрипта. Я про другое. У меня эта 1мс никак не выходит. Любой скрипт останавливается ровно 5 секунд (которые заданы по умолчанию) и никак не реагирует на мои данные по return - делал и мало (1мс), и много (30с) - все одно пауза при нажатии "остановить" ровно 5с.
вот к этим 5 секундам она и добавляет 1 ms.
Обмен сообщениями приложений , скриптов на Lua, Python ,С
 
Цитата
Владимир написал:
Старые песни о главном. Чуть ли не с самых первых своих сообщений я говорил: несмотря на то, что Lua есть препоганейший язык, а С мой наилюбимейший язык на протяжении десятилеий, писать нужно только на чистом Lua. А уж привлекать сюда ещё какое-нибудь говно вроде Python и вообще есть мазохизм в чистом виде. И что задача организации торговли настолько тривиальна в техническом плане, что работать должен один-единственный скрипт написанный на одном-единственном языке Lua и, по возможности, работающий в одном-единственном потоке main. Блин, она ещё и платная?! Как говорил незабвенный Пётр Павлович Ершов: "Пусть полюбится кому, я и даром не возьму".  ::  
Вы уже не первый раз пишите на форуме эту глупость и чушь. Вам не стыдно за свое невежество?
------------------
Объясняю популярно для чайников.
-----------------------
Не существует процессора, который может исполнить программу "чистого луа", так как она транслируется в байт код, а байт код не может исполнить процессор.
-------------------------
Байт код луа исполняет  другая программа, которая написана на чистом СИ.
-----------------------------
QLUA - то тоже библиотека на чистом СИ.
--------------------------
Все арифметические операции и обработку строк на луа исполняют программы на чистом СИ
-----------------------
Моя библиотека - это одна из тысячи библиотек на чистом СИ,  которые используются в Вашем чистом Луа.
---------------------
Поэтому чистый луа - это  птичий язык байт-кода, который без программ на СИ никто  не понимает и не исполняет.  
Обмен сообщениями приложений , скриптов на Lua, Python ,С
 
Цитата
Незнайка написал:
Цитата
nikolz написал:
Предлагаю принять участие
в тестировании моей библиотеки обмена сообщениями

Сколько платите за тестирование вашей библиотеки?
Столько же , сколько Вам платят разработчики QUIK за тестирование их новых версий QIUK
Обмен сообщениями приложений , скриптов на Lua, Python ,С
 
Предлагаю принять участие
в тестировании моей библиотеки обмена сообщениями
между  процессами, потоками , приложениями, скриптами на любом языке программирования.
-------------------------------
Как это работает
Приложению или скрипту присваиваем номер NUM от 1 до  30000.
----------------
1) Послать сообщение S:  res=nkLp.send(NUM,S) , если успешно , то res=1. Num - номер получателя.
2) Принять сообщение S: на Lua S=nklP.get(NUM), на других языках nkLP(Num,S).  Если нет, то  пусто. Num-номер получателя.
=================
Возможности
1) В скриптах для QUIK,  колбеки можно размещать лишь в одном.
Этот скрипт может рассылать информацию всем желающим.
-----------------------------
2) Индикаторы и скрипты могут обмениваться информацией.
------------------------------
3) Любое внешнее приложение ,
например на питоне,
может обмениваться информацией с QUIK
или любым другим приложением,
например, на луа.
=================
Чем это решение лучше других
1) Другие таких решений нет . Если знаете,  дайте ссылку.
2) Не блокирует потоки, не использует файлы, не обращается к ядру ОС.
3) Самый быстрый способ обмена.
==================
Ограничения  тестовой версии:
В данном решении длина сообщения 64 символа.
Используется лишь один ящик сообщений.
Т е новое сообщение будет передано лишь после того, как прочитают предыдущее.
В сообщении нет обратного адреса.
Тестировал на Win10 64bit, Lua 5.4
===================
Как принять участие в тесте:
Написать  свою почту в личку.
 
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
Alex написал:
Цитата
nikolz написал:
shared mеmory

Мне надо передать "строку" (string) из QUIK (lua) на скрипт Python.
Подскажи пож самый простой способ,  но не через  жесткий диск.
Может какой пример завалялся ?

В настоящий момент у меня реализована передача через текстовый Файл.
То есть Quik записывает (постоянно перезаписывает) файл txt, а функция Watchdog на Python его подхватывает и обрабатывает

Спасибо
Написал библиотеку для  обмена строкой приложений, процессов и  потоков на Си,Lua,Python.
----------------------
Если надо, пишите в личку почту.
---------------------------
Пока могу выслать бесплатно для тестирования вариант с максимальной длиной строки 63 символа .
Подскажите как передать информацию из QUIK в скрипт PYTHON через память компа?
 
Цитата
Alex написал:
Цитата
nikolz написал:
shared mеmory

Мне надо передать "строку" (string) из QUIK (lua) на скрипт Python.
Подскажи пож самый простой способ,  но не через  жесткий диск.
Может какой пример завалялся ?

В настоящий момент у меня реализована передача через текстовый Файл.
То есть Quik записывает (постоянно перезаписывает) файл txt, а функция Watchdog на Python его подхватывает и обрабатывает

Спасибо
Выше уже предлагали использовать pipe.
https://stackoverflow.com/questions/1242572/how-do-you-construct-a-read-write-pipe-with-lua
https://github.com/baishancloud/lua-pipe
и т.д.
Что не устраивает?
-------------------
Почему не устраивает через файл?
===================
Чтобы передать иначе, надо нырнуть в СИ.
---------------------
На Си делаете что хотите,  потом две обертки для питона и луа.
---------------------
Если Си знаете, то все просто, если нет, то нет смысла в примерах.
 
Сохранение данных в терминале QUIK в отсутствии соединения, Не сохраняются котировки за прошедшие сутки, появляются только при соединении с сервером.
 
Цитата
Andrey Malyar написал:
Цитата
Anton Belonogov написал:
Andrey Malyar , добрый день.
Для того, чтобы данные последней торговой сессии сохранялись до установления нового соединения с сервером, выполните следующую настройку ( Система / Настройки / Основные настройки... (F9) ) в Рабочем месте QUIK:  Программа / Сохранение данных  - для параметра  Очищать данные после смены даты:  необходимо установить значение  На сервере (при установлении связи) .
Спасибо!
Проверил, именно так и стоит галочка.
Может еще что пропустил, у меня вылетал квик и всё заново настраивал
если вылетает или закрываете крестом вверху справа, то не сохраняет.
Звук при совершении сделки появляется дважды
 
Цитата
Евгений написал:
А почему зависают графики при отправке заявки, пока не пройдут сделки ? Специалисты по квику ответьте пожалуйста, иззза большого когл-ва графиков на вкладке может быть такое ?
Скорее всего тормозит процессор.
----------------------
чтобы выяснить причину, сделайте следующее:
-----------------
1) Если окон с графиками много,
то сверните их и проверьте вашу гипотезу.
---------------
2) откройте диспетчер задач и посмотрите загрузку процессора и использование памяти .
Добавить инструменты в таблицу "Текущие торги" из скрипта lua
 
Цитата
andrey2185 написал:
Здравствуйте, как добавить инструменты в "Текущие торги" из скрипта lua ? чтобы руками не править периодически
никак
Всплывающие сообщения в Quik, сообщения,оповещения
 
Цитата
Я написал:
Цитата
Karina Dmitrieva написал:
  Здравствуйте,      BlaZed   ,  

Ваше пожелание зарегистрировано.  Мы постараемся рассмотреть его и   сообщить Вам результаты анализа. Впоследствии, по результатам анализа,   будет приниматься решение о реализации пожелания в будущих версиях ПО.
Так как отключить всплывающие окна сообщений биржи. С введением бессрочных фьючерсов, с ума сойти можно. Эти сообщения сплошным потоком идут. на русском. на английском. это дурдом полнейший... Заявку выставить не дают. Постоянно под руку выскакивают. Уже из-за них пару раз путаюсь, сбивают с толку. Сделайте что либо пожалуйста, что бы можно было отключить эти сообщения..
система->настройки -> основные настройки->сообщения
убрать галочку с "обычные", если мало ,
то и с "отмеченные как важные"
Страницы: Пред. 1 ... 31 32 33 34 35 36 37 38 39 40 41 ... 72 След.
Наверх