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

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

Страницы: Пред. 1 ... 59 60 61 62 63 64 65 66 67 68 69 ... 72 След.
Задержка данных при обмене с сервером
 
Добрый день
Вопрос к разработчикам QUIK.
Наблюдаю следующую картину.
1) В информационном табло
Задержка данных при обмене с сервером составляет
при малой загрузке сервера брокера (нет торгов или вечерняя сессия) от 63 до 170 мс
при большой загрузке (начало торгов активная сессия)  150 ... 250 мс (временами до 1 сек)
2) пинг на ip севера дает 16 мс
----------------------------
Получается, что запаздывание ответа от сервера терминалу в 10-20 раз больше,
чем запаздывание за счет каналов связи.
--------------------------
Вопрос:
1. Какая возможная причина такого запаздывания ответа сервера брокера?
2.Брокер умышленно создает дополнительное запаздывание? Верно?
3. Это делается средствами QUIK или доп оборудованием?
4. С какой целью это делается? Ваши варианты.
Спасибо
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
Цитата
Андрей Мурга написал:
У меня слип(120000000000) делает 100 меседжей в секунду
А в документации написано так:
NUMBER sleep(NUMBER time)

Параметры:
ПараметрТипОписание
timeNUMBERВремя, на которое приостанавливается выполнение, в  миллисекундах
Пример:
Sleep(1000) -- приостановка выполнения скрипта на одну секунду
------------------------------
Обращаю ваше внимание, что в документации ошибка:
В первом случаем написано sleep, а в примере Sleep.
А это две большие разницы.
Может быть у вас не тот  слип.
Вот пример сообщение будет отображаться 1 раз в секунду 100 раз.
Скрытый текст
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
Одного неученого спросили, почему Вы такой глупый?
Он ответил - Потому, что моя не хочет быть читателем,  моя хочет быть писателем.
Железо для торговли роботом
 
что именно?
в инете много инфы,
например я когда-то написал это (уже и сам забыл)
http://www.kamynin.ru/archives/5744
Железо для торговли роботом
 
проблема решается так:
1) создаем очередь сигналов пересечения
2) в колбеке ТВС каждое новое пересечение запихиваем в очередь
3) в функции main на каждый сигнал из очереди посылаем соответствующую транзакцию и сигнал убираем из очереди
---------------------------------
Т е обработка колбеков должна осуществляться с помощью очередей.
Я делаю в скриптах именно таким образом.
Закрытие позиции, нет индикации, Есть только значки покупки и продажи, непонятно какая позиция закрыта, если позиций несколько
 
Цитата
rozmin написал:
Проблема: например, я открываю позицию покупка 5 контрактов по 10 руб, потом покупаю ещё 5 по цене 20 руб, потом продаю 5 контрактов по цене 30 руб. Не понятно, какая из позиций закрылась, первая покупка по 10 руб или вторая покупка по 20 руб?

Предлагаю решение - проводить соединяющие линии между сделками.
Попробую объяснить популярно, в чем ошибка спрашивающего.
Так как на бирже совершаются обезличенные сделки по стандартизованным продуктам,
то у любого игрока есть лишь одна позиция по каждому инструменту.
Т е если мы совершаем сделку (биржа - это место совершения сделок) ,
то мы изменяем параметры позиции по инструменту ( т е не создаем еще одну, а изменяем существующую позицию по данному инструменту)
Может быть много позиций, но по множеству инструментов.
----------------------------------
Теперь о позиции по инструменту.
возможны следующие состояния
------------------------
рынок акций или облигаций:
открыт  лонг на свои деньги
открыт лонг  на заемные деньги
закрыт  лонг (продажа своих бумаг )
открыт  шорт  (продажа заемных бумаг)
вне рынка  - позиция нейтральная(нулевая)
------------------------------
рынок фьючерсов:
открыт лонг
открыт шорт
вне рынка - позиция нейтральная
------------------
примерно так
Проблема с циклом
 
попробуйте так:
Скрытый текст

Если Вы запустите ваш скрипт то Вы никогда не сможете его остановить.
так как окно сообщения которое будет выводится будет блокировать ваши попытки что-нибудь сделать ( это прикол разрабочиков квика, чтобы жизнь седом не казалось)
-------------------------------
Поэтому я написал вам пример который крутится 100 раз и завершается.
отправку транзакции я закоментировал
т е этот пример лишь покажет вам сообщение
------------------------
далее если захотите завалить сервер своими транзакциями то уберите -- перед res=sendTransaction(t) и
завалите брокера своими заявками
--------------------------------
Успехов
Железо для торговли роботом
 
дополню ранее сказанное.
пропуски срабатываний у Вас будут всегда происходить по следующей причине.
---------------------------------
Данные в ТВС приходят пакетами.
Т е сделки следующие с малым интервалом друг за другом придут к Вам одновременно.
-----------------------------------
При этом колбек будет срабатывать на них последовательно и непрерывно.
Т е например две сделки совершены с интервалом 100 мс но пришили в одном пакете.
колбек на них отреагирует два раза но с интервалом полагаю менее мс.
Т е у Вас произойдет анализ  статуса на обе сделки одновременно.
Если первая изменит статус а вторая вернет его обратно,
то Вы этот сигнал не увидите и заявку не выставите.
--------------------------------------
Эту ошибку никаким железом не исправишь - это методическая ошибка (ошибка метода).
Ее можно устранить лишь изменив алгоритм работы робота.
Теперь вроде все.
Железо для торговли роботом
 
могу предположить следующее.
Так как Вы пользуетесь колбеками , а они не синхронизируются
то  у Вас status успевает изменится туда и обратно
до того момента, как Вы на него прореагируете

У БКС сервера работают медленно ( возможно так делают специально, чтобы на вип сервер подключались за денюшку,
возможно старое железо,
возможно клиентов много и сервер не справляется),
короче реакция сервера медленная.
Сейчас у нового брокера у Вас раз в 5 быстрее реакция сервера.
В результате Вы сейчас просто не успеваете обрабатывать status и теряете сигнал.
-----------------------------
Чем медленнее будет рынок, тем лучше у Вас будет срабатывание.
--------------------------
Короче, проблема у Вас в потере сигналов status.
Надо переделывать алгоритм обработки сигналов, либо работать со свечами.
О чем уже писал ранее.
---------------------------------
Чудес не бывает, но  хочется в них верить.
Железо для торговли роботом
 
а почему Вы решили, что меньше сигналов - это неправильно?
возможно у вас коридор для болинджера большой задан для текущего рынка.
Железо для торговли роботом
 
вернее сказать запаздывание 2-5 раз больше
Железо для торговли роботом
 
В БКС серверы работают медленнее, чем то, что Вы показали раньше.
Примерно 2-5 раз.
Железо для торговли роботом
 
и еще
если я правильно понял,
у Вас как-то странно проверяется пересечение.
Вы используете сделку и заявку Вы именно так хотите?
но тогда Ваш алгоритм вообще не соответствует картинке
Железо для торговли роботом
 
На картинках у Вас пересечение свечи с линией болинджера
а в программе используется тик.
-----------------------
свеча - это четыре индикатора вычисляемых по куче тиков.
-----------------------------
поэтому то, что у Вас написано это совершенно не то, что Вы хотите (если смотреть на картинки)
-------------------------------
Нарисуйте картинку тиков внутри свечи и посмотрите .
Если хотите как на картинке то используйте свечи а не ТВС
Железо для торговли роботом
 
Хочу обратить Ваше внимание на тот факт,
что в ТВС тики,
а на  графиках у Вас свечи.
------------------------------
Т е то,
что вы реализовали это не то ,
что на графиках.
Определить очередь моей заявки в стакане в любой момент времени., Определение очереди.
 
берете стакан и ищите свою заявку по цене.
это и будет ваш номер в стакане.
Железо для торговли роботом
 
есть существенная разница в реализации подобных действий на истории и в реале.
Железо для торговли роботом
 
вернее сказать ошибка в алгоритме функции пересечения
Железо для торговли роботом
 
могу предположить,
что Вы неверно обрабатываете пересечение цены и индикатора,
поэтому сигнал не возникает.
Вывод таблицы
 
для этого Вам надо ознакомиться с форматом файлов Excel и написать программу.
--------------------------------------------
все в этом мире возможно,
вопрос лишь в том,
сколько на это надо .... и есть ли у Вас столько.
Железо для торговли роботом
 
Полагаю, что в правильной программе выставление заявки по Вашему алгоритму не зависит от задержки общения с брокером.
Если у Вас зависит, то ищите ошибки в логике программы.
------------------------
В качестве совета:
Ваш алгоритм робота удобно реализовать в индикаторе (без заморочкой с колбеками и ТВС)
Вывод таблицы
 
а если надо добавлять в конец файла, то вместо
w+ поставить a+
Проблема с циклом
 
на этот вопрос я уже отвечал в другом блоге.
повторю еще раз:
добавьте перед циклом
run=true;
ошибка транзакции
 
примерно так:
psec=getSecurityInfo(clas,sec);  
sform="%6."..psec.scale.."f";
t["PRICE"]=string.format(sform,Price);
SciTE
 
t={1,2,3,4}
print(table.concat(t,";"))
--------------------
результат:
1;2;3;4
функция tonumber
 
правильно так:
["PRICE"]=tostring(priceB),
изображение индикаторов
 
тип линии 4, не знаю как точно называется.
------------------
попробую придумать отдельный тест.
изображение индикаторов
 
попробую объяснить еще раз.
------------------------
На графике цифрами обозначены штрихи (красный цвет)
3 -нормальный штрих
1 и 2 - штрих который изменен приведенным выше кодом.
-----------------------------------
собственно это и есть весь код
-------------------------
Теперь про ошибку.
Ваша функция SetValue изменяет одну точку,
но эта точка отображается отрезком линии  ( штрих)  так как выбран тип штриховой.
------------------
Проблема в том,
что в свечном графике используются два места для изображения свечи,
или как Вам удобнее - две точки.
-------------------------------
Поэтому на свечном графике штрих состоит из двух частей - двух точек,
а функция SetValue меняет лишь одну точку (половинку штриха)- последнюю.
поэтому штрих на свечах разрывается на две точки (половинки штриха)
---------------------
Попробуйте сами нарисовать штриховую линию на свечном графике
и изменить любое значение свечи - получите два огрызка штриха.
изображение индикаторов
 
объяснение Вашей ошибки следующее.
У Вас штрих рисуется двум отрезками. функция SetValue корректирует лишь последний,
поэтому первый остается без изменения.
изображение индикаторов
 
Sergey Gorokhov,
т е то , что у штрих линии  штрих расщепляется на два огрызка  - это нормально?
изображение индикаторов
 
Добрый день,
вот такая ошибочка выходит:

В данном случае применяется функция SetValue(i-1,m+2,GetValue(i-2, m+2))
где m+2 -номер индикатора, i - текущая свеча.
алгоритм:
Предыдущее значение заменяется на препердыдущее.
В результате линия индикатора на свече делится пополам (1 и 2)
Половинка 1 остается на старом уровне а половинка 2 переходит на новый.
очему могла упасть скорость экспорта данные по DDE
 
диспетчером задач посмотрите
1) сколько занято памяти и сколько в пике
2) какая загрузка процессора когда тормозится
3) закройте все, что не нужно для торговли.
Железо для торговли роботом
 
попробуйте из дома сделать пинг на ip брокера.
Если сервер брокера не ответит то на московскую биржу
и сравните с временем задержки ответа сервера
В приведенной Вами  картинки это 31 mc.
если пинг у Вас будет меньше, то переход на свой комп будет работать также как сервером, иначе будет хуже.
Тейк Профит и Стоп Лос
 
что будет проскальзывать и  относительно чего?
Железо для торговли роботом
 
а как вы управляете терминалом КВИК. Он у Вас на сервере брокера?
Железо для торговли роботом
 
резюме - "это не заливная рыба"
Железо для торговли роботом
 
Похоже что в киеве.
С первого взгляда выгоды от виртуалки почти нет. Я такие параметры получаю на своем компе(но не у всякого брокера).
Есть брокеры у которых сервера тормозятся сильно.
А где будет комп?
Не могу зарегистрировать заявку на срочной секции, Не могу зарегистрировать заявку на срочной секции
 
возможно Вы неправильно указываете цену (точность либо формат)
кроме того,
res содержит сообщение об ошибке. Надо его (res) вывести на экран либо в файл либо посмотреть в отладке.
Железо для торговли роботом
 
нашел у финама:
до 30 транзакций в секунду примерно 5 т р в месяц + 5 т р установка + еще что-то
для моего места нахождения обещают уменьшение задержки в 6 раз.
Железо для торговли роботом
 
пытался посмотреть что же предлагают брокеры  т е какие характеристики и за какую цену.
кроме рекламы, что все круто, ничего конкретного не нашел.
Не работает бесконечный цикл
 
поставьте первой строкой
run=true-- или любое значение
Помогите определиться - Plaza или FIX
 
ключевым моментом будет канал доступа. Это вам будет стоить от 10 до 100 т р в месяц.
Готовы?
Линейка
 
можно пластмассовую линейку взять и прикладывать к тому месту, где хочется.
и никакой проблемы.
Железо для торговли роботом
 
А что брокер Вам обещал и за какие деньги,
когда брали у него место на сервере?
Железо для торговли роботом
 
полагаю,
что у брокера Вы существенно выигрываете в скорости реакции.
Но это можно сказать лишь если покажите то, что указал ранее.
Где скачать документацию по qlua
 
нашел
Где скачать документацию по qlua
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
В файле QLUA.chm
дайте ссылку , где на вашем сайте это лежит.
Спасибо
Где скачать документацию по qlua
 
действительно,
хотелось бы услышать начальника транспортного цеха.
где документация на QLUA версии 7.
Спасибо
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Я пользуюсь таким алгоритмом для отличия первого колбека от последующих
Создаем таблицу событий по которым следим за колбеками (активным событиям)
при поступлении колбека по событию изменяем его состояние в таблице событий.
Если событие стало неактивным, то удаляем его из таблицы состояний.
Проблем с кучей колбеков на одно и тоже событие у меня нет.
Расчет EMA, Формула расчета в Quik?
 
еще замечу автору вопроса:
если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой.  
Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем Есть различные варианты продления данных за интервал наблюдения.
Это тоже есть в книжках.
Если интересно, что там за горизонтом, можно прочитать в книжках перед изобретением колеса.
Страницы: Пред. 1 ... 59 60 61 62 63 64 65 66 67 68 69 ... 72 След.
Наверх