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

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

Страницы: Пред. 1 2 3 4
по CALLBACK, алгоритм работы
 
Цитата
Sergey Gorokhov пишет:

Цитата

...
Потокобезопасная функция
sconcat
sremove
sinsert
ssort

взято из документации QLUA.chm
Сергей,сейчас поиском в QLUA.chm поискал эти функции - не  нашел. Может такое быть, что у меня справка не полная?
Квик  6,16,0,42 только что обновил.
по CALLBACK, алгоритм работы
 
Понял, попробую так, спасибо.
по CALLBACK, алгоритм работы
 
Цитата
Michael Bulychev пишет:
Добрый день.
В вашем случае можно данные из функций обратного вызова (OnOrder, OnTrade ...) складывать в одну или несколько очередей и обрабатывать данные в main(). В этом случае Вы сами будете контролировать порядок обработки данных.
День добрый, Михаил!
Не могли бы Вы натолкнуть на способ такого складывания?
sam063rus, спасибо, но корутины пока выше моих возможностей.
по CALLBACK, алгоритм работы
 
Цитата
Sergey Gorokhov пишет:
Это нельзя сделать, так как появление очереди приведет к полному отказу в работе терминала.
Вроде же разрабы говорили, что события встают в очередь и хронология не меняется. Значит очередь эта возникает. Что подразумеваете под "полным отказом"? просто подвисает?
по CALLBACK, алгоритм работы
 
я мог бы конечно отсечь влияние событий глобальным флагом, но хотелось бы, чтоб событие не терялось а в очередь вставало и отработало в итоге.
по CALLBACK, алгоритм работы
 
Сергей, спасибо что отозвались.
Нет.
Происходит событие. Вы говорите, что терминал подвисает и начинает его обрабатывать.
Мне же надо, чтобы при возникновении события сначала доработала какая -то моя функция, а потом уже пошла обработка события. Причем по моему выбору. В каких-то для меня критичных местах. То есть не код в событии продолжал работать, а, например, тот же main. Доработал бы до какого-то места, а потом бы разрешил обработать событие. Это возможно?
по CALLBACK, алгоритм работы
 
Добрый день!
Проясните, пожалуйста алгоритм работы.
Работает скрипт, происходит событие.
Скрипт прерывается и включается обработка? А потом скрипт продолжает работу?
Как сделать так, чтобы пока, например, функция не выполнится, обработка не выполнялась? В тех случаях, когда мне так надо.
Бывают случаи, например когда нужно снять заявки. Скрипт начинает их удалять, одну удалил, произошло событие - снятие, и скрипт может сбиться, потому что данные для второго удаления уже изменились, а мне надо, чтобы первый "слепок" данных не менялся.
поле STATUS в таблице orders, оно изменилось?
 
прошу прощения, флаги увидел. Вопрос снимается.
поле STATUS в таблице orders, оно изменилось?
 
Вечер добрый!
Не помню, использовал я раньше на купайле это поле или нет, но в документации по таблице заявок оно было. Имело три значения.
Сейчас в документации по клуа я его не вижу, пытаюсь вызвать - nil. Как теперь добраться до этого поля анализируя таблицу заявок?
Хочу отсечь те, что "KILLED" например..
Поля в OnOrder, требуются разъяснения
 
Sergey Gorokhov,спасибо большое!
Поля в OnOrder, требуются разъяснения
 
Быть может, вопрос мой затерялся.. Разработчики, пожалуйста, ответьте на него. Главное, каким полем передать в транзакцию комментарий.
Создание своего события, локальный callback
 
И мне вот кажется, что отсутствие глоб. переменных какой то архаизм.. Вэлс 4 и тот поддерживает. Через это глобальное поле можно было бы общаться между скриптами напрямую, а не через ж.. файлы. Вот что-что, но этого я не ожидал от продукта, внедренного недавно. События - есть, ура, двинулись. Глоб. переменных нет. Приехали.
Создание своего события, локальный callback
 
s_mike@rambler.ru, понимаю, конечно, что не мне адресовано Ваше сообщение, но если б разработчики реализовали то, о чем шла речь у меня, и задокументировали, то мне бы, не программисту, было бы проще сделать некоторые вполне адекватные вещи. Конечно, каждый должен заниматься своим делом, нечего мне лезть в эту тему для себя, когда есть программисты. Но с другой стороны, есть и другие заинтересованные лица, которые хотят, чтобы народу было по-больше на рынке, чтоб больше людей в квике копались и т.д. Вот на балансе этих интересов и развивается продукт. Как может)
Как получить стоимость шага цены фьючерса?
 
Отлично, хоть какая то польза)
Ну вы понял как искать на будущее любой параметр из ТТП?
Как получить стоимость шага цены фьючерса?
 
Через формальные заголовки ТТП

stepprice
steppricet

сам не пробовал.
Поля в OnOrder, требуются разъяснения
 
по вопросу 2. Значение в это поле заносится из формы выст. заявки (снизу два поля - Код  Клиента//Поручение).
А как через sendtransaction в эти поля занести значения? Поле COMMENT из гайда не работает. Но там и написано, что оно для группового снятия. Значит есть какое-то другое поле. Какое?
Поля в OnOrder, требуются разъяснения
 
Скажите, пожалуйста, что означают следующие поля:

1. Идентификатор пользователя (trans_order["uid"])
2 .Комментарий (trans_order["brokerref"]) - в это поле можно что-то вносить при выставлении заявки?
Создание своего события, локальный callback
 
Цитата
Michael Bulychev пишет:
На мой взгляд, все это можно реализовать и сейчас используя корутины.
А не могли бы показать пример как то, что мне нужно реализовать, раз это сделать можно. [USER=21][/USER]
Создание своего события, локальный callback
 
Сергей, понял. Спасибо.
Создание своего события, локальный callback
 
Здравствуйте, Сергей!
Совершенно верно. Двумя и более.
Создание своего события, локальный callback
 
Можно ли в qlua создать свое событие, которое можно было бы перехватывать другим или несколькими скриптами? Создать и, понятно, обработать.
Вставить функцию из источника, Есть ли что-то вроде Include?
 
s_mike@rambler.ru, спасибо. С ними, гляжу без 100 грамм не разобраться. пока буду дописывать ручками в файл)
Вы не знаете, а такое возможно, запустив квик, скайт, писать скрипт в скайте и чтоб он работал с qlua. Подхватывал данные, сделки отсылал.. чтоб не мучаться каждый раз в квик не грузить скрипт для проверки. Это вообще реально?))
Вставить функцию из источника, Есть ли что-то вроде Include?
 
Можно ли в qlua подключать функции из других своих скриптов, как это делается?
Функции работы со временем, есть ли такие?
 
s_mike@rambler.ru, у меня пример работает с поправкой. но не 3600, а на 3*3600. То есть на 3 часа. Добавляю к секундам 3*3600 и тогда все ок.
Функции работы со временем, есть ли такие?
 
s_mike@rambler.ru, первый же пример не работает. Я уже как то пытался колдовать с юлианским календарем, тоже по формулам не сходилось.
По первому примеру у меня выдает 1379097615, а у Вас 1379094015. Ну и как следствие, при обратном преобразовании в данном случае время уплывает. Что может быть?
Функции работы со временем, есть ли такие?
 
s_mike@rambler.ru,, спасибо!
Функции работы со временем, есть ли такие?
 
s_mike@rambler.ru,
понял, сейчас разберусь
Функции работы со временем, есть ли такие?
 
Скажите, есть ли возможность напрямую работать со временем? Без разбора на часы/минуты, анализа и т.д.?
Например хочу проверить одно время относительно другого. больше оно или меньше.
message, параметры
 
День добрый, Егор!
Да, зарегистрируйте, пожалуйста.
Как получить событие - изменение в ТТП?
 
Серж,спасибо, не обратил внимание. С этими функциями еще не сталкивался. Ознакомлюсь.
String.format, не могу найти описание опций
 
sam063rus,спасибо! да нет, я не лукавил, зато, похоже, не понятно как пропустил стандартные библиотеки. Сейчас попробовал вычислить модуль и получилось. math в квике есть. За ссылку еще раз спасибо. А то читаю что ни поподя, а столкнувшись с разницей в синтаксисе того что я нашел и того, что вижу в в квике понял, что поиск первоисточника той еще задачкой будет. Что на англицком, не страшно. Лишь бы правильно.
String.format, не могу найти описание опций
 
sam063rus,не подскажете, где найти информацию по функциям LUA? тут  даже вычисление модуля не нашел, да и синтаксис отличается.. Получается что LUA в квике не тот LUA, а какой тот - не знаю.
String.format, не могу найти описание опций
 
а в LUA есть регулярные выражения? Сейчас тоже занят вопросом базового функционала, но ничего путного не нашел..
Повторное выставление заявки
 
lergen,вот и я подумал, стоит ли в данном случае глубоко копать (не хочу обидеть разработчиков, понятно, что и я не программист но и продукт не идеальный). Тоже думаю запустить доп проверку и рубить хвосты.. Не потому что прям не могу понять как сделать, а потому что понимаю, что предусмотренное мной может рассыпаться от всяких "нюансов недодукомментированных" и прочих "недо..."
message, параметры
 
на всякий случай сист. имена соответственно: URGENCY, SOURCE, CATEGORY
message, параметры
 
В таблице системных сообщений есть поля - Важность, Источник, Категория. Как свое сообщение дополнить этими данными?
Повторное выставление заявки
 
Вопрос практикам.
Может быть ситуация, когда скрипт повторно выставляет заявку, хотя по алгоритму и по работе скрипта такой ситуации быть не должно? Весь скрипт на анализ кидать смысла нет, вопрос в общем, бывает такой баг или нет?
Скрипт два дня работает. Выставляет новую заявку только после получения подтверждения о снятии предыдущей. Все работало нормально. Оставил на 2 часа без присмотра, вернулся - две заявки. Одна залипла. С чем связано - не выяснить.
Можно, конечно, опять скрипт проверять и т.д.. Если багов таких ни у кого не наблюдалось, тогда буду проверять, копать. Если бывает - оставлю как есть.
Зона видимости переменных, надеюсь, на другие открытые скрипты не распространяется, таких-то "чудес" не бывает??))
Как получить событие - изменение в ТТП?
 
Серж, да, спасибо.. Я уже понял. Событие - ЛЮБОЕ изменение. Его обрабатываем и выясняем. Только надо запоминать предыдущее значение. Подписаться на изменение конкретного параметра не возможно.
описание полей ТТП, где взять полное и актуальное
 
Дмитрий, добрый день!
Вам удалось найти список? А то вижу тут так и не ответили на вопрос..
Если да, сообщите, пожалуйста. Тоже интересно. Если сам найду - скину сюда.
Как получить событие - изменение в ТТП?
 
Цитата
Egor Zaytsev пишет:

Да можно, в функции getParamEx вы и указываете тот параметр на которых хотите подписаться.
Т.е пр вызове функции Onparam вы можете вызваться функцию getParamEx и получить значение необходимого параметра.
Я, Constantin Constantin,теперь тоже так думаю. Но слова Егора Зайцева понял иначе. Что можно вызвать функцию при изменении именно тор цены, а не ТТП в целом, а потом разбираться было ли там изменение нужного мне параметра или нет.
Как получить событие - изменение в ТТП?
 
не могу удалить прошлое свое сообщение, удалите, пожалуйста.
Вот рабочий скрипт
Код
is_run=true

function main( ... )

    while is_run do    
        sleep(2000)
    end

end

function OnParam(class,sec)
    if class == "SPBOPT" and sec == "SR6500BR5" then 
    tp1 = getParamEx(class,sec,"theorprice")
    message(class.." "..sec.." "..tp1.param_value,2)
    end
    
    
    end
function OnStop(stop_flag)

    is_run=false

end


но логику в нем я вижу следующую: произошло изменение (не важно чего) в ТТП по опционам. Вызывается функция моя и в ней я анализирую, что пришло. Это не есть подписка именно на событие изм. теор. цены. Я что-то не так сделал или это и есть максимум в решении задачи?
Как получить событие - изменение в ТТП?
 
Егор, я пробую как в примере сделать:
Код
is_run=true

function main( ... )

    while is_run do    
        sleep(2000)
    end

end

function OnParam(class,sec)
    if class == "SPBOPT" and sec == "SR006500BR5" then tp = getParamEx(class,sec,"theorprice") end
    message(tp,2)
    end
    
function OnStop(stop_flag)

    is_run=false

end


Хочу, чтобы при изменении теор цены выскочило сообщение.
Понимаю, что ошибка в пока что не понимании принципов построения.
Можете ответить, что не так?
Как получить событие - изменение в ТТП?
 
Егор, еще вопрос.
А в qlua в принципе можно получить реакцию при изменении конкретного параметра, как у меня?
Судя по документации OnParam вызовется при любом изменении текущих параметров, а потом уже я разбираю какое значение принял интересующий меня параметр.  
Как получить событие - изменение в ТТП?
 
Понял, спасибо, не вопрос, буду разбираться.
Как получить событие - изменение в ТТП?
 
Здравствуйте, Егор! Спасибо, что откликнулись.
Я хотел увидеть скрипт полностью. С синтаксисом. Чтобы была обозначена функция, например просто сообщение выдавала по изменению цены. Чтобы main был прописан с обработкой этой функции (именно Function, обращение к ней, а не в теле main).  В итоге я хотел на этом примере разобраться, как правильно писать скрипты на qlua. Я только начинаю осваивать этот язык, и хочу понять конструкцию.
Понимаю, что задача простая, но требует время. Если будет возможность, был бы признателен за помощь. На примере я бы быстрее разобрался. как в свое время с купайлом. Нужен старт.
Еще раз спасибо за отклик. Если у Вас руки так и не дойдут, понимаю.
Как получить событие - изменение в ТТП?
 
Добрый день!
Решил освоить азы qlua.
Не понимаю, какая конструкция должна быть, чтобы запустить свою функцию по событию.

Код
   T = getParamEx("SPBOPT","SR6000BQ5","theorprice")
    message(T.param_value,2)


а событие - изменение этого параметра в ТТП

Пожалуйста, напишите этот скрипт полностью. С обозначением функции, с main, все как полагается. Очень буду признателен, а то собираю куски по частям, ерунда какая то получается..
Страницы: Пред. 1 2 3 4
Наверх