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

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

Страницы: Пред. 1 ... 68 69 70 71 72 73 74 75 76 77 78 79 След.
Как в Lua сделать безусловный переход ? Или такой возможности нет ?
 
оператор goto считается в программировании самым мощным оператором перехода.
Поэтому он в неумелых руках может так разрушить и запутать программу,
что потом будете долго искать ошибки.
------------------------------
Поэтому применение данного оператора считается признаком неумения разрабатывать алгоритмы.
---------------------------------
многие языки по указанным ранее причинам не содержат данный оператор.
---------------------------------------------
Учитесь печь правильные  программы без этого оператора.
Активация стоп-заявки
 
Цитата
Denis пишет:
Добрый день. Не нашел в руководстве можно ли средствами Луа активировать активную стоп-заявку (аналог "правый клик-активировать стоп-заявку")?
Готовой функции нет. надо убрать стоп заявку и выставить безусловную заявку с такими же параметрами
Правильно ли я понимаю общую концепцию QUIK + DDE/QLua?, Впрос по концептуальному видению
 
Цитата
Edunon пишет:

Если это так, какие есть концептуальные особенности использования такой прослойки? Нормально ли живётся с таким подходом? В идеале я хотел работать через Plaza 2, на нормальном языке, с нормальной отладкой, с нормальным API, но ежемесячная оплата доступа охладила пыл. Можно ли с QLua как-то приблизиться к архитектурному уровню работы через Plaza 2 или всё-таки придётся оперировать таблицами QUIK?
Разница примерно в следующем.
когда Вы работаете с плазой, то реализуется схема клиент-сервер . Клиентом выступает ваш робот.
А сервером -сервер биржи  
В этой схеме сервер отдает вам ответы на запросы, а хранение переданной сервером информации Вы осуществляете сами в своей программе.
Т е создаете свою БазуДанных
------------------------------------------
В случае работы с квиком,  в качестве клиента выступает торговый терминал КВИК.
Он реализует хранение ответов и пересылку запросов на сервер
Сервером выступает сервер брокера, он транслирует ответы сервера биржи
Торговый терминал QUIK организует хранение полученной с сервера информации.
Поэтому появляются таблицы (как известно таблицы - это способ хранения в реляционных базах данных )
---------------------------------------
Таким образом, при работе с QUIK Вы обращаетесь за данными к базе данных терминала QUIK , а ваши запросы и ответы на них QUIK транслирует на сервер брокера и далее на сервер биржи.
Т е при работе с плазой у Вас нет готовой базы данных, а при работе с QUIK - есть - это таблицы терминала.
Массовая отправка заявок на сервер QUIK
 
Да, еще забыл сказать, что речь конечно о боевой работе,
а не ...изме на тестовом сервере или на ежегодных или месячных  тестах.
Массовая отправка заявок на сервер QUIK
 
Добрый вечер,
Объясняю для тех,кто не понял.
--------------------------
Речь идет не об отправлении пулеметом 1000 транзакций по 1 сделке в каждой,
а об отправлении 1000 транзакций по различным бумагам и различным счетам.
-------------------------------------
Кратко рассказываю про грабли.
-------------------
Для начала,
решите на основе какой информации будут отправляться эти 1000 транзакций.
-----------------------------
Если это информация по свечам, то она приходит не чаще, чем 10 раз в секунду.
Кроме того, на Вашем компе работает алгоритм энгл,
который обеспечит вам отправку транзакций примерно 10 раз в секунду
Ну и так далее...
====================
Кроме того, учтите ,
то время обработки транзакции ядром сервера брокера да и биржи примерно 1 ms.
А Вы в очереди не первый.
------------------------
После того, как учтете все это,
то можете попробовать отправить хотя бы 100 в секунду,
хотя бы по 10 бумагам,
хотя бы по 5 счетам.
-------------------------------------------
Успехов Вам мечтатели.
Массовая отправка заявок на сервер QUIK
 
1000 заявок в секунду по разным инструментам и разным счетам да еще через терминал КВИК?
Так Вы ж, батенька, фантазер!!!
Для начала попробуйте хотя бы 100 отправить.
CreateDataSource
 
Цитата
тот самый пишет:
почему я думаю, что CreateDatasource - автономна, т.е. имеет свой LUA-поток? Потому что она служит для прямого получения данных с сервера QUIK и имеет свои коллбеки, которые не связаны со стандартными QLUA-коллбеками, выполняющимися в основном потоке квика для всех скриптов.
полагаю, что отдельный поток может иметь (или не иметь ) луа машина.
У нас есть два потока -функция main и основной поток QUIK.
------------------------------------------
CreateDatasource запускается либо в Main,
либо вне ее ( в основном раньше не работало, поэтому сейчас запускаю лишь в main)
-------------------------------------
Таким образом, получаем  либо в потоке main,
либо в основном потоке.
------------------------------------
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Хочу добавить свою ложку в Вашу бочку.
Возможно мирное решение данной проблемы заключается в следующем.
-------------------
Создателям скриптов (т е нам, вам) взять за основу тот факт, что скрипты
работают с асинхронными событиями.
---------------------
Следовательно, пока событие не наступило,
его нет,
и гадать о его наступлении бессмысленно.
------------------------------
Например,
если trans_id=0 , то это означает, что "ноль"
если trans_id=nil , то это означает, что "nil"
А когда  поступит  trans_id не равен 0, то и будем его обрабатывать.
Т е либо мы обрабатываем интересующие нас события, либо игнорируем их.
------------------------------
При этом, безусловно,
список событий должен быть отражен в документации разработчиков.
----------------------------
Тогда нет проблемы в том,
что и сколько  раз обновляется.
Как обрезать число типа float до 2х знаков после запятой
 
или так
z=0.01*math.floor(100*x)
print(z)
----------------
1.11
Как обрезать число типа float до 2х знаков после запятой
 
лучше так:
x=1.1124432871741
y=string.sub(x,1,string.find(x,'.')+3)
print(y)
-------
1.11
Загрузка переменных в область файла, В файле 1 задать переменную, которую можно print в файле 2
 
А можно подробнее изложить, что Вы хотите?
------------------
Пишите решаемую задачу, а не желаемые финты над понятиями языка.
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Если проблема в отсутствии элементарной дисциплины, то надо быстрее уходить с рынка, пока депозит еще не слили.
сольете обязательно и даже если будете подавать лишь одну заявку в 5 минут.
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
поэтому проще всего не подавать поручения чаще чем 1 раз в 5 минут.
Научится этому существенно проще, чем сделать защиту от дурака.
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Цитата
green_X5 пишет:
Сделать легко. Отслеживание окна заявки через WinApi, с появлением в окне заданного инструмента убивать окно заявки.
В тот же момент месага в пейджер -"Заявки чаще чем раз в 5 минут приводят к разорению депозита и приступу простатита! Ваши руки тяжелеют, пальцы немеют, резь в предстательной железе становится невыносимой... тик-так.. тик-так.. ".
Использование WinApi предполагает определенного уровня знаний у разработчика.
Полагаю,что у задавшего вопрос этих знаний нет.
Поэтому это не легко для него будет.
заполнение созданной таблицы
 
Надо начать с изучения луа на простых примерах без КВИК (взять Scite и делать примеры с массивами переменными , взять различные модули и делать примеры с графиками  с окнами)
После этого изучить модуль QLUA на простых примерах (читать свечи, обнаруживать пересечение линий выводить линии выводить метки и т д)
В процессе познания придет понимание как сделать то, что хотите.
Уровни страйков на график БА и изменение ОИ на страйке за день по всем действующим сериям, опционы страйки
 
Если хотите сделать это сами, то вариант действий всего один:
1) Изучить LUA на примерах не связанных с QUIK
2) Изучать библиотеку QLUA на простых примерах
3) Написать то, что хотите.
---------------------
Уйдет примерно от 3 до 6 месяцев.
Просить халяву - это тупиковый вариант.
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Вот несколько возможных вариантов решений
1) Ставим внешний скрипт запуска квик через 5 минут после его отключения
при выставлении заявки,  выходим из квика.
Через 5 минут скрипт снова запускает квик.  
-------------------------------
2) В квик устанавливаем автоматическое восстановление соединения через 5 минут
Скрипт на луа разрывает соединение с интернет на 30 секунд ,
если приходит колбек активной заявки.
Через 5 минут после этого КВИК восстанавливает соединение
--------------------------------
3) После выставления заявки (прихода колбека) скрипт луа блокирует клавиатуру и мышь на 5 минут
------------------
Ну и т д
заполнение созданной таблицы
 
На моем сайте есть картинки работы робота, отображающие то, что Вы хотите на графиках.
Все это написано на луа.
И нет надобности "городить огород", сваливая все доступное в кучу.
---------------------
Ученье -свет, но неученых - тьма
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Цитата
Владимир Ишанин пишет:
Логику программы я понимаю.. Событие на установку позиции, затем переменная с датой и пока не пройдет 5 минут, нажимать на поставить заявку нельзя, но как это сделать программно, можете подсказать пожалуйста) С lua я еще дело не имел. Спасибо
Есть как минимум три варианта:
1) Найти в инете готовое решение
2) заказать разработку данного скрипта
3) научиться писать скрипты и сделать его самому
--------------------------
Рассказать "как это делается " можно,
но обучить это делать, лишь рассказывая, нельзя.
Можно ли сделать скрипт, который будет запрещать устанавливать более 1 заявки в 5 минут
 
Можно
Сравнение скорости по LUA и DDE
 
когда читаем историю,
то есть следующий момент, не знаю учли ли Вы это
терминал сначала готовить массив для передачи по DDE потом передает
у меня получалось примерно так (где-то есть на форуме) :   8 секунд готовит 2 секунды передает
А как у Вас получается?
Сравнение скорости по LUA и DDE
 
Цитата
Alex Alex пишет:
Также в праздники сравнил скорость передачи таблицы всех сделок - примерно 250.000 записей.
Через DDE - 17.3 сек, через LUA (через Event) - 164,3 сек.
Сравнение разумеется некорректно из-за блоковой передаче при DDE
Начнем сначала (Если ошибаюсь, поправьте).
Обычно имеем два вида передачи данных
1) Реальное время
2) накопленная история.
В первом случае, принятые терминалом текущие данные ТВС
сначала вызовут колбек,
потом запишутся в ТВС
потом поступят на DDE
Т е DDE не могут передаваться раньше.
DDE - это передача данных через  блок памяти.
-------------------------
Далее у Вас задействованы два одинаковых механизма записи в  MapFile.
---------------------
Не знаю как Вы реализовали передачу данных и запись
Но существенные потери у Вас будут при нырянии в функции VMLua, так как там все очень сильно накручено с проверками индексами и т д
--------------------------
Попробуйте сравнить время записи и чтения какой-либо переменной на LUAс временем записи и чтения ячейки памяти на CИ.
Можно ли получить исторические данные по инструменту не открывая график в QUIK ?, Можно ли получить исторические данные по инструменту не открывая график в QUIK ?
 
1) Поставьте так
ds,err = CreateDataSource("SPBFUT", "RIZ5", INTERVAL_M15)
message(err);
чтобы увидеть ошибку открытия источника
2) Попробуйте закрыть график выйти из квика с сохранением и перезапустить квик снова
посмотрите состояние err
можно в log файл вывести ds , если нет программы вывода, возьмите у меня на сайте
или любую другую
Можно ли получить исторические данные по инструменту не открывая график в QUIK ?, Можно ли получить исторические данные по инструменту не открывая график в QUIK ?
 
попробуйте так:
---------------------------
function main()      
if ds==nil then
ds,err = CreateDataSource("SPBFUT", "RIZ5", INTERVAL_M15)
message(err);  
else
local m=ds:Size()-1 ;  local Oi,Hi,Li,Ci= ds:O(m),ds:H(m),ds:L(m),ds:C(m)
local    text = tostring(Oi)..'***'..tostring(Ci)..'\n'    
message(text);  
end
несколько транзакций за одну секунду
 
Цитата
Валентин пишет:
какие варианты с переводом в цифру еще?
я сделал так
Код
  stime  =  tostring(GetInfoParam( "SERVERTIME" ))
      curtime  =  tonumber( string.sub (stime,  0 ,  2 )  ..   string.sub (stime,  4 ,  5 )  ..   string.sub (stime,  7 ,  8 ))
      
       if  curtime  >   120753   and  curtime  <   121059   then  worktime  =   1   end 
   
На форуме есть варианты. Пошукайте.
добавьте проверку на корректность . может быть пустая строка
Заказ всех сделок, Использование CreateDataSource для заказа всех сделок
 
я не измерял,
так как не использовал файлы tri/tro.
 
Заказ всех сделок, Использование CreateDataSource для заказа всех сделок
 
Цитата
Alex Dronov пишет:
Вы не подскажите в чем преимущество qlua относительно метода экспортировать тики qpile и потом работать с .tri/.tro любым языком?
это замерялось как быстрее или зачем все эти мучения с виртуальной машиной?
только этот вопрос остался.
спасибо.
примерно одно и тоже, но чем сложнее алгоритм, чем больше разница.
несколько транзакций за одну секунду
 
я бы сразу перевел время в секунды и работал бы с числами, а не со строками в виде "12:15:50".
Если надо точнее, то берем локальное время в миллисекундах и синхронизируем.
Если сделать синхронизацию компьютера по серверу точного времени,
то можно просто взять внутреннее время с погрешность 0.1 секунда и вообще проблем нет.
Заказ всех сделок, Использование CreateDataSource для заказа всех сделок
 
Цитата
Alex Dronov пишет:
Цитата
sam063rus пишет:
удивляюсь, однако сколько в квике ошибок...
и как в такой системе только торговать...
)))))))))

p.s. ладно хоть она бесплатна для рядовых пользователей, а то бы эту компанию просто засудили ))
пробежавшись по форуму можно сделать вывод:
они, АРКА, делают таксебе продукт исключительно на таксебе ОС для таксебе пользователей.

с претензиями на качество и оптимальность тут очевидно делать нечего. это территория лоха.
Как говорит Козьма Прудков "Бди в корень"
Когда что-то делается для раздачи как бесплатное приложение, то не стоит ожидать чуда.
Но замечу, что, для российского рынка, КВИК лучше всех живых решений.
----------------------------------------------------------------
Ну так уж в России заведено,
чтобы не делали,
но лучше, чем автомат Калашникова, не получается.
Как узнать время биржи (квика)?
 
задержку нет необходимости создавать сервером QUIK.
ее можно создать например  маршрутизатором, либо драйвером, либо OC.
Например, на своем компьютере в ОС можно уменьшить задержку отправки пакетов с 200 ms до 10 ms,
но никто не мешает увеличить эту задержку скажем до 10 секунд.
Авторизация средствами qlua
 
Да, в нем надо кавычки >>  заменить на " (особенность WP).
Честно говоря, я уже и не помню подробности этого варианта.
Их было много для разных задач автоматизации.
Как узнать время биржи (квика)?
 
Цитата
Валентин пишет:
нам даже не важно время биржи. мы работаем с сервером брокера. и синхронизацию по идее надо делать с ним
Попробую объяснить неважность данной проблемы.
------------------------------------
Сразу хочу предупредить особо ретивых,
я высказываю свое представление о данной проблеме на основе собственных исследований.
Ниже приведена информация из расчета,
что читающий ее является обычным пользователем,
а не хакером или спецом в разработке софта.
----------------------------------
Рассматриваем случай работы по обычному каналу через терминал КВИК
Итак начнем:
1) операционная система компа позволяет отсылать не более 4 заявок в секунду.
2) Информация с биржи приходит к нам пакетами примерно 2-4 пакета в секунду.
При этом мы видим последовательное появление сделок с различным временем ,
в то время когда они пришли к нам в одном пакете.
Т е кажется, что это реальное время, но в действительности есть систематическое запаздывание.
---------------------------
Говоря образно, мы видим сегодня, то что было вчера.
---------------------------
Поэтому надо учитывать тот факт, что априори информация, доступная нам всегда запаздываем на 0.2-0.5 сек.
------------------------
3) полагаю, что сервер брокера тоже синхронизируется по серверам точного времени.
Поэтому разность времени между сервером биржи и сервером брокера будет не более 0.1 сек.
-----------------------------------
Но брокер может сам включить искусственно задержку трансляции данных.
---------------------------------------
Кроме того, существенную задержку составляет очередь клиентов на сервер брокера.
По официальным данным скорость ядра сервера биржи (будем считать и сервера брокера) примерно 1000-2000 транзакций в секунду.
Если, при активном рынке, к брокеру приходит одновременного 1000 заявок на сервер, то задержка будет не менее 1 сек. Реально может быть и более.  

Заказ всех сделок, Использование CreateDataSource для заказа всех сделок
 
это уже обсуждалось неоднократно последние десять лет.
Ответ один -нет.
Авторизация средствами qlua
 
Дополню предыдущий ответ.
Если установка галочки не спасает, а необходимо еще какие либо действия, то можно запустить внешнее приложение оно может быть и на луа и на автоите.
Отличие autoit от срипта на vbs или имеющихся средств автоматизации - простота создания практически любых сценариев с возможность управления приложениями через их меню.
Таблица заявок
 
Цитата
Старатель пишет:
Цитата
Николай Камынин пишет:
Это не всегда верно,
возможна ситуация,
когда стоп-заявка исполнилась,
а информация о выставлении заявки еще не пришла.
В этом случае, как вы понимаете, проверять нечего. Нет же ещё заявки.
Вот другая ситуация, когда информация по заявке (сделке) уже пришла, а поля order.linkedorder и stop_order.linkedorder ещё не обновились. Вот тут проблема...
А я обрабатываю данную ситуацию для обнаружения заявки , выставленной по исполненному стопу.
----------
Так по заявке или по сделке пришла информация.
сделка и заявка в разных колбеках  и их обработка различная Я об этом писал.
У меня указанной Вами проблемы нет.
Если посмотрите еще раз мое описание состояний то увидите, что их больше , чем исходной кодировке флагов состояния.
Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд
 
правильно Вы понимаете.
Есть лишь индикация ненулевого значения.
Когда ситуация такая встретится, то буду решать как ее исправлять автоматом,
пока такой задачи не возникало.
Выставление "рыночных" заявок
 
Цитата
Старатель пишет:
Николай Камынин ,
и да, ваши рассуждения несостоятельны:
Во-первых, продажа может осуществляться в долг, и сколько резервировать ДС - тоже не известно
Во-вторых, при выставлении стоп-заявки, ДС не резервируются.
Продажа в долг рассчитывается по наличию у Вас залога.
Но конкретно выполнять или не выполнять решает брокер.
-------------------------------------------------
Что же касается Вашего изречения "не состоятельны",
то это не доказательство ,
а Вы не господь,чтобы  изрекать истину в последней инстанции.
--------------------------------------------------
Я описал Вам возможную ситуацию.
Никто Вас не заставляет ее читать или ей верить.
несколько транзакций за одну секунду
 
Если необходимо посылать несколько заявок в какой-то отрезок времени, то лучше вычислять время по модулю значения отрезка.
Тогда полученное значение будет меняться от 0 до величины отрезка- 1 квант.
Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд
 
Цитата
Старатель пишет:
Что делаете, если на транзакцию длительное время нет ответа?
проверяю интернет и ищу ошибки в своей программе.
При нормальной работе канала и отсутствии  ошибок такая ситуация не возникала.
Выставление "рыночных" заявок
 
Цитата
Старатель пишет:
Отклоняется только рыночная стоп-заявка на покупку. Стоп на продажу принимается и исполняется.
Могу объяснить это следующим образом
При продаже осуществляется продажа фиксированного количества ,
которое у Вас есть по любой цене на бирже.
Т е брокер это исполнит всегда так как что продать есть, а цена указана любая.
-----------------------------------------------
При покупке ситуация иная.
Вы заказываете купить конкретное число по любой цене, но при ограниченном количестве Ваших денег.
Т е возникает риск покупки Вам на сумму больше, чем у Вас есть.
А это уже нельзя делать.
Так как ситуация не предсказуемая, то в выполнении такого поручения логичнее отказать,
так как исполнение стопа делает робот и заранее резервирует ваши деньги,
а при цене по рынку - сколько точно надо?- неизвестно!!!
Как узнать время биржи (квика)?
 
для начала синхронизируйте время компьютера с сервером точного времени
например с 3.ru.pool.ntp.org
поставьте например синхронизацию через час или меньше.
В результате будет несинхронность локального времени относительно биржи менее секунды.
Если будет желание можете исследовать несинхронность точнее.

 
Таблица заявок
 
Цитата
Старатель пишет:

Сейчас делаю следующим образом: если в таблице стоп-заявок не находится стопа с stop_order.order_num==order.linkedorder , то считается, что заявка выставлена в результате переноса через клиринг, в противном случае - в результате исполнения стоп-ордера.
Это не всегда верно,
возможна ситуация,
когда стоп-заявка исполнилась,
а информация о выставлении заявки еще не пришла.
Авторизация средствами qlua
 
у меня на сайте (где-то давно)
www.kamynin.ru
есть пример на Autoit,
работаю сам с подобным решением несколько лет.
-----------------------------
Мне нравится делать автоматизацию на Autoit, рекомендую.
Выставление "рыночных" заявок
 
Цитата
Старатель пишет:
QUIK Junior v.7.0.0.289
Отправляю 4 рыночные заявки (2 обычные и 2 стоп):
В результате стоп-заявка на покупку отклоняется с формулировкой "Рыночная заявка для клиентского счета запрещена":
------------------
Что происходит? UID 92812
Предположу два варианта
1) это тестовый сервер
2) рыночная цена в стопе на фьючерсах не катит.
Если хотите рыночную цену на фьючах, то поставьте цену минимально допустимую (для продажи) или максимально допустимую (для покупки) И получите по рыночной цене
А на неликвиде сольете весь депозит.
Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд
 
В качестве совета расскажу кратко свое решение для скриптов (для индикаторов решение другое).
---------------------------------------
Я создаю таблицы сделок,активных заявок,активных условных заявок, транзакций.
-------------------------------------
при отсылки поручения , записываем транзакцию в таблицу транзакций
при приеме колбека на транзакцию удаляем из соответствующей таблицы.
Таким образом , контролируем баланс транзакций.
----------------------------------
В колбеке обработки заявок я различаю три состояния, новая, активная и неактивная.
--------------------------------
Активные заявки различаются как выставленные роботом или человеком
и заявки выставленные при исполнении условных заявок.
----------------------------------
В неактивном состоянии заявки  различаю  два состояния - исполнена , отклонена
-------------------------------
таблицу сделок почти не обрабатываю
Просто фиксирую совершенные сделки и считаю прибыль убытки комиссии и т д
---------------------------------------
Условные заявки разделяю на стоп-заявки и условные заявки,
а также на  заявки выставленные роботом и заявки выставленные человеком
--------------------------  
Перечисленные выше состояния я обрабатываю. мне не имеет значение сколько пришло колбеков
Для каждого указанного состояния свой алгоритм обработки.
-----------------------------
Примерно так.
Изучаем Qlua., "hello world"
 
поправка,следует читать:
-------------
"Например, Если в этой заявке указано купить 100 лотов, а желающие продать, подают заявки по нашей или лучшей цене лишь по одному, то колбек OnTrade будет вызван минимум 100 раз."
Изучаем Qlua., "hello world"
 
Функции колбек вызываются при поступлении с сервера информации о каких-либо изменениях (событиях) данного типа объекта.
--------------------------
Безусловно, можно изучать все возможные события и потом придумывать ,
что же делать в каждом случае.
Процесс познания увлекателен и бесконечен.
-------------------------------
Но можно делать иначе:
Реагировать лишь на те события, которые нам важны для управления своими позициями.
-------------------------
Колбек OnTrade - это реакция на события совершения сделок, в которых участвует заявка брокера по нашему поручению.
Например, Если в этой заявке указано купить 100 лотов, а желающие купить, покупают лишь по одному, то колбек OnTrade будет вызван минимум 100 раз.
------------------------------
Поэтому в реальных сделках число вызовов данного колбека заранее неизвестно.
----------------------------------
Если нам  важен лишь момент, когда заявка будет исполнена полностью,
то фильтруем вызов колбека по номеру заявки и флагу ее исполнения.
Ну и т д
Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд
 
В современном мире актуальная информация это та, которая воспринимается пользователем как достоверная.
Предположим, что мы включаем телевизор, и видим  бегущих и стреляющих солдат в современной форме.
Что это?
Новости, фантастический фильм или архив новостей?
Чтобы решить этот вопрос, нам нужны дальнейшие наблюдения либо дополнительный независимый источник для сравнения информации.
--------------------------------
В случае асинхронных событий которые мы получаем через квик ситуация ровто такая же.
Если информация не противоречит нашему пониманию и нашим действиям то мы считаем ее актуальной.
Даже, если нам "крутит кино" (термин из сленга работников кухни  форекса )  наш брокер.
Сравнение скорости по LUA и DDE
 
Цитата
Imersio Arrigo пишет:
Это все понятно. Мне непонятно зачем хуки вешать.
Ведь данные исправно едут по дде безо всяких лишних приседаний.
Интервал обновлений 10мс.
Отправляется сначала таблица целиком, потом построчные изменения.
ЧЯДНТ?
скажу из своего опыта,
когда-то давно,
до появления LUA я вешал хуки для перехвата событий в окнах
и  управления вводом данных через
различные интерфейсы КВИК из других приложений.
Например, задача получения списка инструментов, на которые подписан квик,
управление параметрами графиков. автоматическое открытие стаканов и графиков ну и т д
Но прогресс налицо, теперь это все в прошлом.
Сравнение скорости по LUA и DDE
 
Хочу заметить еще следующее:
-----------------------------------------
LUA удобнее тем, что через колбек приходит каждая запись таблицы сделок отдельно,
в то время как в DDE пакетом.
При включении квика в конце сессии, пакет DDE сначала готовится квиком, а потом пуляется всем желающим.
В LUA принимаемый пакет передается в колбек построчно перед записью этой строки в таблицу всех сделок.
--------------------------------
Полагаю, что даже для скальпинга луа может вполне подойти,
потому что проблема будет скорее всего в скорости канала,
очереди на сервере
и скорости реакции ОС компа.
--------------------------
Последнее время на Си делаю лишь то,
чего нет в луа - это синхронизация потоков,скриптов,
измерение коротких временных интервалов
ну и прочие мелочи
Страницы: Пред. 1 ... 68 69 70 71 72 73 74 75 76 77 78 79 След.
Наверх