Фёдор Сухов (Все сообщения пользователя)

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

Страницы: 1 2 След.
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
 
Николай, действительно, у Вас маловато опыта.
Эти игры с переставлением заявок-лимитников и погоней за лучшим местом в стакане убыточны.
А главное, с помощь маркет-мейкера Вам всегда будет предоставлена "возможность" купить на пике и продать на максимуме.
Это модель и правила не рабочие, тут необходимы дополнительные условия-фильтры, анализирующие не только стаканные игры, но кое-чего ещё.
Но кто ж Вам всё это бесплатно будет описывать.
Трудитесь сами, попробуйте и у Вас будет результат.
Я уверен в этом.
Выводы по автоторговле. правильные ли ?
 
https://forum.quik.ru/forum10/topic1600/
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
 
ой, ошибся.
пост не адресу
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
 
https://forum.quik.ru/forum10/topic1600/
Может кто уже мучился с лучшим BID, OFFER?!, Пытаюсь реализовать алгоритм выставления лучшими заявками...
 
Маленькая коррекция из моего опыта:
Объясню почему столько условий:
1. Бывает моменты когда заявки резко снимаются и стакан пустеет на мгновения;
2. Перед клирингом или после него стакан может иметь другое количество заявок по биду и оферу.
3. Ноль прибавляю, чтобы уже точно быть уверенным, что будет число, может я не прав, но это работает без сбоев.

Поясните точнее, что имеете в виду, когда пишите: "как реализовать выставление лучшим пока не взяли нашу?"
Если я правильно понял, то просто прибавьте или отнимите 1 руб. в заявке перед выставлением лимитника.
Код
function OnQuote(class, sec)

   if class==sClassCode and sec==sSecCode then
      local qt=getQuoteLevel2(class, sec)

         if qt.bid_count+0~=nil and qt.bid_count+0>0 then
            if qt.bid[qt.bid_count+0].price+0~=nil and qt.bid[qt.bid_count+0].price+0>0 then 
                  priceBid=qt.bid[qt.bid_count+0].price 
               if priceBid~=priceBid_prev then
                  priceBid_prev=priceBid
                  end
               end
            end
         if qt.offer_count+0~=nil and qt.offer_count+0>0 then
            if qt.offer[1].price+0~=nil and qt.offer[1].price+0>0 then 
                  priceAsk=qt.offer[1].price 
               if priceAsk~=priceAsk_prev then
                  priceAsk_prev=priceAsk
               end
            end
         end
   end
end
Выводы по автоторговле. правильные ли ?
 
Добрый день, Алексей!
Приведу доводы из своего опыта эксплуатации:

1. Мною на QPile написана система учета сделок, ведения баланса, если есть перенос позиций, то и учёт этих открытых позиций.
На экране есть вся подробная информация по открытым/закрытым позициям в одном окне. Программа запускается раз в 10 сек.

2. На Lua написано несколько роботов, в которых лишь есть та уникальная часть, в которой тоже ведётся свой учёт открытых позиций для адекватности вывода информации в логе, чтобы потом, читая логи различных программ, легче было разобраться в происходящей логике. Плюс к этому есть обработка событий при посылке торговых транзакций и контроля заказанного и реализованного объёма.
Но логика торговая никоим образом не отличается от, например, в среде МТ5 на языке MQL5.
Перевести эти правила не составляло особого труда.

На данный момент язык Lua в виду его вольностей получает распространение во многих средах, например, в среде редактирования звуковых файлов.
Да и многие интересные логические конструкции и структуры я совсем не так написал, как на языке С++.

3. Конечно, документация или help в среде Квик оставляет желать лучшего, но это не проблема для знающего человека с опытом написания и эксплуатации различных языков программирования.
Вы пишете о сложности заполнения параметров функции sendTransaction(), но биржевая торговля со многими тонкостями посылаемых ордеров тоже непростая. Понимание системы реализации покупки/продажи фин. инструмента необходимого объёма на биржевом рынке приходит с торговым опытом.
Поэтому придётся написать целую книгу, чтобы полностью и во всех тонкостях описать одну лишь функцию sendTransaction().
А кто это делать будет?
Вот для этого и есть форум с ответами  и примерами на конкретные вопросы.

4. По поводу, например, языка С#. Тоже не факт, что не найдутся люди с опытом, которые скажут, что лучше кодить на языке низкого уровня Ассемблер, поскольку ресурсы компьютера используются максимально эффективно и быстродействие несравнимо с другими языками.
В прошлом многие советские программисты писали весьма эффективный код для нужд оборонки, например, для управления ракетами и системой связи в режиме Онлайн, успевая перенастраивать за время полёта ракеты.

Вывод:
а) Опыт написания и эксплуатации программ на различных языках, несомненно, обогащает  Ваш опыт и позволяет одну и туже идею воплотить так как Вам надо на конкретной биржевой площадке. Изучайте всё что есть и пишите на том, что предоставляется.

б) Но и это не главное, а главное вот в чём:
Сможете ли Вы заработать с помощью Вашего алгоритма реализованного в коде различных языков? И это совсем иная "Пестня"!
И если на QPILE алгоритм работает и приносит прибыль, то о чём тут разговор.

Вот, пожалуй, и все мои доводы.
Всего хорошего!
Про мак
 
Чего только на свете не бывает!?
На Макинтошку Квишку ставить хотят.
Но расколоть орешек нам поможет WEB-QUIK.
Для уважаемой Talis Abele хорошее дело, чтобы попробовать.
Зачем грузить эмуляторами такой стильный MacBook.
Разве нет?
про тики
 
Цитата
Nikolay Pavlov написал:
Добрый день.
По поводу функций OnAllTrade() и колбека заданного DataSource методом SetUpdateCallback() могу сказать следующее:
1) Для срабатывания OnAllTrade() не обязательно должна быть открыта таблица обезличенных сделок, достаточно выполнить заказ обезличенных сделок в меню Система/Заказ данных/Поток обезличенных сделок. Сделать это можно вручную, проставив галочки на необходимых классах и отфильтровав инструменты, если это необходимо...
Добрый день, Николай!
Вы про какую сейчас версию Квика пишете?
В 6-й версии при закрытии таблицы OnAllTrade() у меня всё останавливалось, хотя я всё делал как Вы пишете со всеми птичками-галочками,
и всё оживало как только я вновь открывал "Таблицу всех сделок"

И вообще, кто-то есть весьма довольный на форуме 7-й версией, как пользователь-эксплуататор роботов?
Внимание клиентам «Открытие Брокер»!, Пожелание единых стандартов.
 
Брокер Открытие самый ненадёжный и невнимательный к клиентам.
На письма очень долго отвечает или не отвечает вовсе.
У меня знакомый так и не дождался ответа, закрыл у них счёта, а было до 1 миллиона руб. на счетах.
Думаю всем нужно знать об этом при выборе брокера.
Таблицы
 
К тому же всё такое тёмное, ничего не найти.
Может поменяете политику менюшную?
Зачем каждый раз из версии в версию менюшки исчезают, потом их искать надо?
Таблицы
 
Таблицы
 
Вы просто чумные какие-то.
Уж простите!

Я написал, что скачал Квик у вас на сайте вчера или позавчера.
Возможно, она уже дико устарела, но не настолько же!
Я говорю нет меню, значит нет.

Сейчас вышлю вам этот драгоценный скриншот.
Таблицы
 
Цитата
Egor Zaytsev написал:
Цитата
Фёдор Сухов   написал:
Ой, прошу прощения за вопрос, но что-то не могу изменить цветовую схему окон и расположение окон-таблиц.
Дело в том, что при открытии тестового счёта я закачал Квик как есть, но там такая загробная цветовая схема и поменять её не знаю как.
Ерунда какая-то!
Раве в тестовой версии ничего поменять нельзя в "оконной политике"?
:)
Добрый день.

Цвет темы меняется через пункт меню "Система-Настройки-Настройки основные-Программа-Оформление интерфейса.
В профиле демонстрационного счёта пункт "Оформление интерфейса" отсутствует.
Вот поэтому я и не могу ничего сделать.
Таблицы
 
Ой, прошу прощения за вопрос, но что-то не могу изменить цветовую схему окон и расположение окон-таблиц.
Дело в том, что при открытии тестового счёта я закачал Квик как есть, но там такая загробная цветовая схема и поменять её не знаю как.
Ерунда какая-то!
Раве в тестовой версии ничего поменять нельзя в "оконной политике"?
:)
Quik Junior. Таблица всех сделок для фьючерсов пуста
 
Добрый вечер!
Сообщите, пожалуйста, могу ли я получить на демо-счёте фин. инструмент "RTSBRK16"   Br-May16 (Brent Crude Oil May16) с "Таблицей всех сделок"?
про тики
 
Все необходимые тики собираю через onAllTrade, пока не требовалось использовать 2-й вариант, но, если рассуждая логически,
то 2-й вариант должен быть быстрее, потомучто на экране, как минимум, нет окна всех сделок, т. е. нет доп. вывода в окно текстовой информации.
Надо измерить время.
Встроенные индикаторы в скриптах индикаторов, Встроенные индикаторы в скриптах индикаторов
 
Цитата
Николай Камынин написал:
т е речь идет о следующем.
сейчас, чтобы применить в скрипте робота EMA я должен либо написать его на луа либо поместить индикатор на график и потом читать с графика.
Я же хочу просто в своем скрипте обратится к уже существующей в терминале функции расчета  EMA и вызвать ее в своем скрипте без отображения индикатора и написания его на луа
Присоединяюсь к этому пожеланию!
Тем более, что подобная возможность уже давно реализована во всех поколениях терминалов МТ4-МТ5 и встроено в библиотеке на MQL5 (MT5-биржевой терминал).

Правда, есть одно НО:
- я заметил, что в Квике, если считывать из графика данные индикатора, то есть запаздывание появления самой свечки на минутном графике на очень несущественное время, но есть, бывает до 1 секунды и чуть более.
- это обстоятельство меня не устраивало, поэтому я рассчитывал индикаторы из поступающих тиковых данных, что решило расчёт в онлайне и скорость срабатывания в торговых правилах.
- В новой 7-й версии не проверял, но будет интересно услышать от того кто это дело уже проверил.
(я пока не переходил на новый терминал)
Баг приводит к закрытию Quik - код индикатора прилагается, Баг-репорт
 
Цитата
Максим написал:
Большое спасибо за помощь - решение найдено!
Как выяснилось это был конфликт двух lua-скриптов. Первый - это индикатор "A", код которого выше, и второй - скрипт автоторговли, который у меня был запущен. Удалил второй и теперь всё работает как надо.
В чём конфликт был?
Скрипт авторговли зависал или вызывал зацикливание, а может быть рекурсия функции была бесконечная?
ZeroBrane Studio Lightweight IDE for your Lua needs, полезная для новичков среда разработки со всеми необходимыми качествами
 
Этот отладчик может работать с Квиком, во время выполнения скрипта в реале?
ZeroBrane Studio Lightweight IDE for your Lua needs, полезная для новичков среда разработки со всеми необходимыми качествами
 
Доброе время суток!
Думаю будет полезным дать новичкам и не только ссылку на
среду для разработчика под Lua:
https://studio.zerobrane.com
https://studio.zerobrane.com/download?not-this-time

Ещё не проверял как эта оболочка с встроенным отладчиком с Квиком работает.
Необходиом ли выключать QUIK
 
Ой, на экране изображения вставились нормально и бес искажения, а на форуме двоичный формат.
Добавьте возможность вставки изображений из файла, а не по ссылке.
Необходиом ли выключать QUIK
 
Цитата
[img]file:///D:/[/img]Sergey Gorokhov написал:
Здравствуйте,
Перезапускать терминал не нужно.
По поводу перезапуска:
- Всётаки, насчёт перезапуска. Из дня в день растёт потребление памяти. Это застарелая проблема о которой я уже писал.
Только теперь я наблюдаю за расходом и не выключаю (не перезапускаю) Квик.
Никаких роботов нет, просто один инструмент, его график, стакан и одна таблица всех сделок по тому же инструменту.
Копии экранов прилагаю.

Квик одинаково ведёт себя на разных операционных системах.
Расход памяти в начале старта Квика примерно 200 Мегабайт.
Сегодня 11 марта 2016г.  расход памяти уже 570 276 КБ.

[img]data:image/png;base64, *[/img]

[img]data:image/png;base64,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[/img]
Задержка данных при обмене с сервером
 
Цитата
Старатель написал:
http://smart-lab.ru/blog/298367.php
Совсем нехорошо получается.
Давно это обстоятельство наблюдаю, но сам не замерял так обстоятельно, как это сделали выше
В чёрный список можно добавить ещё одного брокера - Открытие.
Итак:
1. БКС
2. Открытие
3. ??? (добавьте своего).
Задержка данных при обмене с сервером
 
забыл упомянуть про пинг, что это не показатель, совсем не показатель.
Тут сложнее.
Задержка данных при обмене с сервером
 
Так в том-то и дело если у брокера просто толстый, но некачественный канал от "своего" другана-братана-пацана, то и отсюда и накладка на его стороне.
Ну а потом уже и клиенту всякие отбросы со стола.
Задержка данных при обмене с сервером
 
Цитата
Николай Камынин написал:
читал я фикс и плазу и спектру.
это все другого уровня решения (типа надо к затратам дописать справа пару нулей ) и необходимо для HFT роботов.
А я ваяю прогнозирующих роботов , а им то и не очень надо быстро бегать.
-------------------------------
Вопрос то не в том что есть, а в том сколько точно граммов есть.
-----------------------------------
...За державу обидно

Вы спросите брокеров: Кто из них синхронный канал к бирже и к Инету имеет, именно синхронный-оптоволоконный.
Задержка данных при обмене с сервером
 
Николай, не забывайте, что время течёт по разному даже на разных этажах и широтах.
Потомучто гравитация не везде однородна.
Но тут надо квантованного физика подключить к изучению временных задержек.

Правда, уже есть течение среди разработчиков, которые не поклоняються Квику.
Ушли в горы, так сказать.
Штурмуют фикс-протокол.
Помогите пожалуйста доделать робота
 
Здравствуйте, Андрей!

У вас код, действительно, непрофессионален.
Надо переделывать и кое-чего дописывать.
Николай любит поюморить, но ничего.
Но это не может быть бесплатным, потомучто многое из чего мы (более опытные) узнали проводя эксперименты на реальном счёте.
Поэтому пишите в личном плане сколько Вы согласны заплатить за это знание и опыт, можете не на форуме, а обменом почтовыми сообщениями на этом же форуме.
Что в себя включает время задержки сервера
 
Доброй ночи!
Замеры ничего не дадут.
Посланная заявка может задержаться с ответом от биржи.
Я пользуюсь while, пока, например, не появиться запись в таблице сделок.
И это время очень разное.
Лимитированная, рыночная заявка
 
Цитата
Николай Камынин пишет:
Если нельзя, но очень хочется то можно попробовать указать
EXECUTION_CONDITION -Условие исполнения заявки, необязательный параметр.
Со значением «FILL_OR_KILL» – немедленно или отклонить,
-------------------------
Относительно перехвата заявки перехватчиками, то это Вам кажется.
Очевидно Вы пришли с кухне форекса. Но там не биржевой рынок и свои законы, как в джунглях
На бирже немного иначе.
Скорее всего это маркет-мейкер стукает.
Меняйте алгоритм.
Добрый день, всем!
Давно не заходил на форум.
Мой вопрос я решил довольно простым способом и, именно, так я и хотел с самого начала, т.е., если моей цены нет, то не открываюсь, но, конечно, если есть лучшая для меня цена, то открываюсь, иначе снимаю заявку.
В общем, всё сделал как надо без "скачковых" невыгодных срабатываний.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Добрый день!

О том что "Таблица всех сделок" ест память это и так понятно, но она по объёму не превышает 30-60 МБ за торговый день, точно не мерял,
Если я запускаю высланный мой пример, то память расходуется с высокой скоростью и уже к 14:00 потребление может превышать более 1 ГБайта не только на реале, но и на демо(с меньшим расходом).

Поэтому я вставил удаление таблицы и, повторяю, проблема исчезла.

Вот, именно, в таком варианте работает нормально с умеренным потреблением памяти с одним фин. инструментом.

Может давайте установим контакт через Teamviewer и вы сами воочию убедитесь что происходит.

Надо же как-то решить этот вопрос.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Взял ваш исходник и дописал так как вот у меня было до удаления таблицы.

Код
h=0
m=0
s=0

str="This is test/..This is test/.."
str2="This is test/..This is test/..This is test/..This is test/..This is test/..This is test/..This is test/..This is test/"

function OnAllTrade(alltrade)
   h=alltrade.datetime.hour+0
   m=alltrade.datetime.min+0
   s=alltrade.datetime.sec+0
end

function main()
  t_id=AllocTable()
  AddColumn(t_id,1,"QWERTY",true, QTABLE_INT_TYPE,10) --Y
   AddColumn(t_id,2,"Time",true, QTABLE_CACHED_STRING_TYPE, 20)
   AddColumn(t_id,3,"Deals inf and etc.",true, QTABLE_CACHED_STRING_TYPE, 120)
   AddColumn(t_id,4,"Ballance",true, QTABLE_CACHED_STRING_TYPE, 40)
  
  CreateWindow(t_id)
  SetWindowCaption(t_id,"Script message.")
 i=1
while true do
  for j=i,i+10000 do
   tmp=InsertRow(t_id,-1)
   SetCell(t_id,tmp, 1, tostring(j), j)
   SetCell(t_id,tmp, 2, tostring(h)..":"..tostring(m)..":"..tostring(s), j)
   SetCell(t_id,tmp, 3, str2, j)
   SetCell(t_id,tmp, 4, str, j)
  end
  i=i+10000
  sleep(100)
  Clear(t_id)
end
end
 


Так вот, память расходуется достаточно заметно, если смотреть с помощью менеджера задач.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Немного добавлю:
- Отличие в предыдущей версии было в том, что метод t:AddLine()

вызывался последовательно перед новым заполнением таблицы.

Может из-за этого было фрагментирование памяти и её неосвобождение.
Не хочется экспериментировать на реальном счёте.
Чуть позже на демо попробую вернуть ситуацию и потестить.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Цитата
Sergey Gorokhov пишет:
Цитата
Фёдор Сухов пишет:
А насчёт того где может накапливаться в какой-то из переменных, не очень понимаю, я же использовал и чистил таблицу, используя табличный идентификатор. Посмотрю ещё что там может быть. Выделю часть кода и вышлю.
речь не про таблицу, а про переменные в коде.
Если какая-то переменная, хранит данные, то они занимают память.
Если в переменной много данных, то занимается много памяти.
То что память освобождается при удалении таблицы может быть не более чем совпадением.
Просьба прислать полную версию скрипта для анализа.
Вы можете не публиковать его на форуме а прислать нам на почту quiksupport@arqatech.com
У меня нет таких переменных, которые много занимают памяти.
Проблема памяти решилась только при удалении таблицы.
Вот уже за сегодня с 10:00 сменилось 10 таблиц и память не расходуется, а держится, примерно, на утреннем уровне - 384500.
Я прекрасно понимаю проблему утечки памяти и всегда контролирую этот процесс, поэтому у меня нет сейчас никаких переменных или больших массивов, да и ни к чему они мне.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Вот, как и обещал, высылаю вырезку из кода:
Код
t={}

function OnInit()
local d, mn, y
bar=0

   CreateTable()
   
end

function CreateTable()

   t = QTable.new()
   if not t then
      message("error!", 3)
   end
   
   t:AddColumn("Time", QTABLE_CACHED_STRING_TYPE, 20)
   t:AddColumn("Deals inf and etc.", QTABLE_CACHED_STRING_TYPE, 120)
   t:AddColumn("Ballance", QTABLE_CACHED_STRING_TYPE, 40)
   t:SetCaption("Our Deals Table")
   t:Show()   
   for i=1,TotalString do t:AddLine() end

end 

function PrintTable(timestring, comment, txt_balance)
  local tmp_txt=""
   
   if f==TotalString then
      f=0
      t:Clear()
      t:delete()  -- !!! Ранее это строки не было !!!
      CreateTable() -- !!! Ранее это строки не было !!!

   end

   f=f+1

 SetCell(t.t_id, f, 1, timestring)
 SetCell(t.t_id, f, 2, comment)
 SetCell(t.t_id, f, 3, txt_balance)

 if txt_balance==nil or txt_balance=="" then 
    txt_balance=" "
 end
 tmp_txt=tostring(f)..": "..timestring..": "..comment.." : "..txt_balance.."\n"

 file3:write(tmp_txt)

end
 
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Цитата
Sergey Gorokhov пишет:
Цитата
Фёдор Сухов пишет:
Цитата
Sergey Gorokhov пишет:
Здравствуйте,
Сообщите пожалуйста версию терминала QUIK на котором воспроизводили проблему.
Версия QUIK 6.17.3.6
Фёдор, описанная проблема у нас упорно не воспроизводится. Память не накапливается. После Clear память освобождается. Возможно у Вас данные копятся в какой-то переменной? Пришлите для анализа скрипт на котором наблюдается проблема.
Добрый день!
Вот толькочто потестил 5 пункт: (5. Остаётся только удалять таблицу и вновь создавать при достижении граничного значения).
Проблема исчезла, то есть при удалении таблицы память освобождается.


А насчёт того где может накапливаться в какой-то из переменных, не очень понимаю, я же использовал и чистил таблицу, используя табличный идентификатор. Посмотрю ещё что там может быть. Выделю часть кода и вышлю.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Цитата
Sergey Gorokhov пишет:
Здравствуйте,
Сообщите пожалуйста версию терминала QUIK на котором воспроизводили проблему.
Версия QUIK 6.17.3.6
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Доброе утро!
Возможно кому-то будет полезен опыт борьбы с перерасходом памяти.
Несколько дней потратил на выяснение и оптимизацию.
Что выяснил:
1. Память тратиться очень серьёзно только лишь на табличное представление (вывод текущей информации)
через функции, находящиеся в quik_table_wrapper.lua
2. В течении работы программы использовалась функция-метод - t:AddLine(),
которая "обеспечивала" основное потребление памяти.
3. Пришлось урезать количество строк оконного вывода текущей инфы.
4. Функция t:Clear() удаляет строки в таблице, но не освобождается память.
5. Остаётся только удалять таблицу и вновь создавать при достижении граничного значения, но я ещё этот способ не тестил.
Массу неудобств создаёт плохое управление памятью в модулях написанных на "Люа" для работы с таблицами.

Очень большая просьба к разработчикам:
- Посмотрите и усильте внутри контроль расхода памяти, что касается вышеизложенного, т.е. табличного вывода.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
1. Вот, именно, "Таблица всех сделок" и забирает основную память, но никак не 2 ГБайта.
более ничего, кроме таблиц вывода текущей информации.
Причём, Квик сам с "Таблицой всех сделок" разбирается, что касается распределения её в памяти.
В "Таблицу всех сделок" попадает только один фин. инструмент.

2. И ещё мой 1 структурный массив, который в OnInit() инициализируется, но он небольшой 50-100 КБайт.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Забыл добавить:
- Программа MemReduct освобождает примерно 2.3 ГБайта из занятых 2.6 ГБайт.
Далее Квик вновь "копит" память".
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Добрый вечер!
1. Измерил потребление памяти программой,
оказалось, что это смешные объёмы, примерно 60 МБайт, по сравнению с 2.6 ГБайтами, это совсем немного.
2. Убрал лишние таблицы, которые не использую, например, котировки фьючерса и сам стакан, поскольку есть программная подписка на инструмент.
Но это не помогло.
3. Потом товарищ нашёл программу, которая чистит память - MemReduct.
Пока, помогает, если запускать периодически.
Кстати,  не только у меня такая проблема, в Инете народ тоже пользуется этой прогой.
Возможно, Квик берёт память и не освобождает, плюс ещё и фрагментированность памяти плохо влияет.
Сравнение тех.индикаторов QUIK и Эксель
 
Пример кода приведите, пожалуйста, для начала.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
В догонку к пред. посту хочу добавить:

1. В списке инструментов включён только один инструмент (фьючерс Si-12.5)
Это я у тому, что нет трансляции множества торгуемых инструментов, которые могли бы забить память основательно.

2. Перед запуском я почистил временные таблицы Квика (через меню в Квике).
<Связь> - <Очитить всё и начать новый сеанс>
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Добрый день!
Хочу разобраться в эксплуатации Квика.
На данный момент нами арендуется Windows Server 2008 через брокера.

Проблема непонятного поведения Квика выглядит примерно так:
1. Теряется соединение.
Сам Квик не хочет повторить соединение.
Завсиания не наблюдается (менюшки работают)
При этом Интернет есть и с другого рабочего места коннект есть и удалённое управление работает.

2. Пробуем перелогиниться.
Соединение происходит и далее дальнейшая работа продолжается.

3. Вчера выдал Квик, что недостаточно ему памяти для выполнения Люа модуля.
Памяти сам Квик занимал вчера 1,6 ГБайт, а сегодня 2,6 ГБайт.
И сегодня ему памяти достаточно.
Но поведение такое же, но Люа модуль работает нормально, но коннект потерялся.

4. Высылаю скриншоты Диспетчера задач.




Лимитированная, рыночная заявка
 
- И сколько раз Он сможет считать стакан и оценить, пока я только 1 раз считаю?
Лимитированная, рыночная заявка
 
Цитата
SDL пишет:
Цитата
Фёдор Сухов пишет:
Налицо перехват заявок "перехватчиками", которые потом и "формируют" уже для себя лучшую цену.
Поэтому не хочется иметь дело с биржевыми алгоритмами, предлагающими "лучшую цену" для клиента,
Насчет мифических "перехватчиков". Ваша заявка (после контроля лимитов) попадает напрямую (!) на биржу. До этого никто из посторонних ее не видит и знать про нее не знает. Там она попадает в ядро исполнения (order execution), где по описанному ранее алгоритму (matching) находит (или не находит) одно или несколько встречных предложений. Абсолютно из всех приходящих заявок на серверах биржи формируется очередь. Биржа транслирует её (order log) своим клиентам ПОСЛЕ помещения туда входящих заявок. Дневной файл по всей бирже весит гигабайты. И "влезть" туда как-то в серединку перед вашей заявкой, уже имея о ней публичную информацию, невозможно.
Лучшую, как впрочем и все другие цены, для всех участников торгов и прочих любопытствующих предлагают не биржевые алгоритмы, а такие же участники торгов, как и вы. Биржевые алгоритмы (и алгоритмы системы QUIK) лишь обрабатывают информацию, упорядочивают её и представляют клиентам в удобном виде.
А если я поставлю сервер на биржу и буду без всяких Квиков ловить заявки?
А разве так не делают?

Даже, если все честные до святости, то тогда вот такое обстоятельство:
- У меня, допустим, пинг с сервером 40 милисекунд, а у господина А...кого пинг менее 5 милисекунд.
- Кто раньше сможет поставить заявку используя один и тот же робот?
Лимитированная, рыночная заявка
 
Цитата
Николай Камынин пишет:
Относительно перехвата заявки перехватчиками, то это Вам кажется.
Очевидно Вы пришли с кухне форекса. Но там не биржевой рынок и свои законы, как в джунглях
На бирже немного иначе.
Скорее всего это маркет-мейкер стукает.
Меняйте алгоритм.
Странно, конечно, но многие значит не в курсе, что "перехватчики" существуют, кроме, конечно самого маркет-мейкера, главное получить быстрее, чем многие список заявок.

А кухонные FX-брокеры такими вещами не заморачиваются, у них есть весьма простые скрипты написанные для МТ4 (в основном), для манипуляции ценой.
И стакан заявок им и не снился.
Лимитированная, рыночная заявка
 
Очень жаль, что так обстоят дела и правила!

Приведу аргументы почему я настаивал на такой возможности, а именно:
- Например, происходит следующее:
---------------------------------------------------------------------
1. Открытие короткой позиции Price=67663, Vol=1
2. Далее формируется сигнал на закрытие позиции
3. Close Sell (Buy), PriceIn=67705 Bid=67702.000000 Ask=67705.000000
4. Но по цене 67705 не закрывается позиция.
5. Тут начинается формироваться, как говорится, "лучшая цена" для клиента, но он этого не видит!
(такие вот кухонные методы)
6. Цена изменилась!!!! Bid=67712.000000, Ask=67716.000000
7. Переставляем заявку и боремся за "лучшую цену" - PriceIn=67712, чтобы закрыться!
По цене 67716 не хотим закрываться.
8. Цена изменилась!!!! Bid=67715.000000, Ask=67717.000000
9. Переставляем заявку и боремся за "лучшую цену" - PriceIn=67715, чтобы закрыться!
По цене 67717 не хотим закрываться.
10. Наконец-то происходит Закрытие короткой позиции Price=67715
11. Итого: 67663-67715 = -52
А если закрылись, именно, закрылись по цене 67705, то 67663-67705= -42
Вот такой самый банальный пример борьбы за "лучшую цену".
------------------------------------------------------------------------------------

Конечно, не спорю при открытии позиции бывает происходит открытие по лучшей цене,
но весьма трудно закрыть и зафиксировать прибыль по той цене, которая была на момент формирования сигнала.

Налицо перехват заявок "перехватчиками", которые потом и "формируют" уже для себя лучшую цену.
Поэтому не хочется иметь дело с биржевыми алгоритмами, предлагающими "лучшую цену" для клиента,
если рассматривать в контексте происходящих сделок в течении торгового дня.
И такое происходит много-много раз.
Лимитированная, рыночная заявка
 
Хочу напомнить, что тема называется
<Программирование на языке Lua>

Прошу ответить на вопрос или дать ссылку на подробную документацию
о заполнении структуры транзакции.
Ничего более я не хочу.
Я, пока, подробной инструкции или документации не нашёл.
Лимитированная, рыночная заявка
 
Простите за ошибку в предложении (пост не редактируется):  ".... то по той цене что я указал в окне заявки."
Страницы: 1 2 След.
Наверх