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

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

Страницы: 1
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
Таймер и высокоточный счетчик это API C for Lua.
Понятно, спасибо, попробую через файлы для начала
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
можно поставить таймер. или использовать тики и высокоточный счетчик.
В файл, тики,  тики плюс+счетчик - это понятно. А таймер это как? Я так понял, что если инструмент не в торгах и не в сделках, то график статичен и там нет событий вообще.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
Зачем на индикаторах день или час  интервалы в секунды? Какой в этом смысл?
Стратегия на графике Дня, Часе/5мин, 2 окна. Нужно секундное обновление данных в привод, для расчетов и контроля  ошибок. Но если от тиков обновление брать, то они не постоянны. А если полингом из скрипта, то там не работает getDataSourceInfo. Вот  сижу думаю
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
Чтобы индикатор лишнего не грузился обходите те функции внутри него, которые надо считать лишь на закрытых свечах.
А если таймфрейм свечи графика 60мин или дневной, как бы Вы реализовали опрос позиций и статус соединения Квика 1 раз в 2 сек внутри индикатора? Через разницу времени тиков?  
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
Непонятно, что и куда передать. Напишите пример.
getDataSourceInfo() работает только в потоке индикатора, а его лучше не грузить т.к. перерисовывается на каждом тике. Поэтому у меня просто отдельный скрипт собирает каждые 0,2с :  текущее время, статус терминала, позиции, цену, ATR, границы цен и т.д. и гонит их в файл. Вот  задумался, а как сделать, чтоб поток этот был в зависимости от выделенного инструмента в ТТТ и заякоренного графика.
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
функция getDataSourceInfo() работает как и говорилось.
Про источник я понял, я в контексте, как передать информацию в обычный скрипт с минимальными издержками. Пока варианты это метка, или файл открыть. Есть еще идея считать выделенное в ТТТ через  win api, все равно весь трафик гоню в отдельную программу. Но пока не осилил, далеко она запрятана ....
Как получить sec_code по идентификатору графика?, Как получить sec_code по идентификатору графика?
 
Цитата
nikolz написал:
Цитата
Цитата
написал:
Задача такая. Есть график или стакан по одной акции. Нужно запустить скрипт и он должен отправить заявку по этой акции. Для заявки нужен sec_code. sec_code должен браться автоматом от графика или стакана. Графики и стаканы привязаны якорем к таблице с акциями.
функция getDataSourceInfo() работает как и говорилось.
Вот пример как ваша хотелка.
График подключен якорем к ТТТ
щелкаем в ТТТ строку с инструментом. Он появляется на графике, а в окошке выводится код инструмента этой функцией.
 
Не понял через какой механизм вы это в итоге реализовали? Метка?
Программный разрыв соединения
 
Цитата
Код
 w32.PostMessage (hWnd,w32.WM_COMMAND, 101 , 0 )  
Вопрос к знатокам, как и откуда взялось число 101 ? Ищется такое же магическое число на соседнюю кнопку "Линия тренда", хочу сам на Луч нажимать, на него нет горячей клавиши...
Баги программы, Баги программы
 
Zoya Skvorcova, добрый!
Другие элементы, например Дуги Фибоначчи или Каналы - прекрасно копируются между окнами одного и того же инструмента. Да, используется темная тема, если это важно.
Баги программы, Баги программы
 

Не хочу плодить новую тему, напишу про баг тут. Версия 12.5.0.20. Один и тоже инструмент, на двух графиках, в разных TF. Добавляем на график «Уровни Фибоначчи». На первом окне нажимаем мышкой в выпадающем меню - Копировать. На втором окне - Вставить. Иии, не работает, вставляет на первое окно, на уже существующий Фибоначчи.

OnParam и ТТТ
 

Вопрос по ТТТ, как говорили выше, она формируется срезами и пакетами.

Допустим пакет с ценой LAST отправляется каждые 100 мс. А в нем 10 срезов, каждый 10мс.Так вот, эти 10 мс формируются по простому, просто как есть на «сейчас».  Либо второй вариант, в эти 10 мс  (за 10мс) можно запихнуть Hi, Low, Now. По сути, по мотиву свечей, пропуск данных нивелирует Мин/Макс за период обновления.

Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 
Цитата
Nikolay написал:
Пока пакеты не "догонят время", стоит подождать.
Спасибо за идею!
Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 
Цитата
nikolz написал:
Цитата
Старатель написал:
 
Цитата
AndyWise  написал:
видимо опять же Луа стартует на перегонки с загрузкой кэша
 Lua стартует наперегонки с загрузкой окон QUIK (видимо, в т.ч. и графиков).
Попробуйте поставить ожидание времени сервера при старте КВИК.
Так уже.., очень редко косячит иногда... Получается задержка нужна на отрисовку по загрузке и по подключению к серверу... С первой еще понятно, а со второй -переподключения на тормозящем сервере бывают...Сколько ждать?
Откуда лучше взять тиковые данные в Lua?
 
Всем спасибо, я попробую getParamEx("LAST") 10 или 20 раз сек, и выберу МинМакс. Если не понравиться, значит будет OnAllTrade, там еще бонусом дельту можно.
Откуда лучше взять тиковые данные в Lua?
 
Поезд ушёл, если к Мин/Макс относиться как к цене сейчас. А это факт хождения цены. В чем жопа, можно конкретнее? Пока меня напрягает только возможный перезаказ данных, когда вываливается история, а нужен поток сейчас. Приходиться самому отбрасывать и обрабатывать только свежие данные.
Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 
При запуске и удаляю, но иногда подглючивает.... видимо опять же Луа стартует на перегонки с загрузкой кэша...
стоимость шага цены по getParamEx почему-=то стала выдавать ноль, стоимость шага цены по getParamEx почему-=то стала выдавать ноль
 
"STEPPRICE" или "SEC_PRICE_STEP" попробуй
Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 
Не сработало, даже 1500 задержка в OnStop и OnClose(). Ощущение, что они не вызываются при закрытие квика крестиком
Откуда лучше взять тиковые данные в Lua?
 
А какой вариант получения данных приемлем?
«Никому» Вы слишком категоричны, мне нужны, я хочу нарезать из тика Мин/Макс за 1сек. С удовольствием взял бы секундные свечи, но их нет.
ТТТ (LAST) не понял, что это, можно по подробнее. Я опрашивал getParamEx("LAST") раз в сек, но мне нужны иголки Мин/Макс.
Откуда лучше взять тиковые данные в Lua?
 

Собственно есть 2 варианта источника тиковых данных цены сейчас. Это либо через OnAllTrade, либо через CreateDataSource + SetUpdateCallbac. Вопрос, какой поток меньше тормазит, более легковесный с точки зрения системы, брокера? Вроде по сути тоже самое, что лучше из практики?

Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 
if cndlNum==nil or cndlNum==0 then……
if tCN[0]==nil then…….

Это аварийное завершение скрипта, означающее, что графики еще не прогрузились, а к ним уже идет запрос. Либо проблема с индификатором. В любом случае, об этом будет сообщение, и эта критическая ошибка в 99,99% времени не происходит. Авария - это не много не то.

Проблема в том, что каждый раз, в рабочем режиме!, только при закрытии Квика через крестик не происходит полное выполнение main, либо вызова OnClose.

Я добавил message("111") в конец main. message("222") в конец OnStop. message("333") в конец OnClose.
Если закрываю скрипт через «доступные скрипты», вижу 222 и 111. Если закрываю через крестик – не вижу ничего, процесс просто разрушается!
Работа с метками, ошибки при закрытии/открытии программы Quik., Свои уровни на графике из файла.
 

Предлагаю вашему вниманию скрипт (5.4.1) демонстрирующий эту проблему. Суть скрипта: взять значения уровней из файла и через механизм меток отобразить линии (картинки) на графике. Это упрощенный вариант, для его запуска необходимо внести идентификатор «Slot_A» на график и уровень трех цен в переменные «PRICELINE 1, 2, 3 ».

О самих ошибках, их два вида.

1. Скрипт уничтожает созданные метки двумя путями. Через OnClose(), и по завершению main(). Это прекрасно работает, если руками включать и выключать скрипт через «доступные скрипты». Но если скрипт оставить запущенным, а Квик закрыть через крестик сверху, слева, то уничтожение созданных меток не происходит. Это хорошо видно при следующем запуске Квика. Для этого добавлена пауза 10*1200 на старте, когда Квик не в сети. Квик запускается уже с линиями, а через 12 секунд они моргают, т.е. происходит их перерисовка. Как удалять метки при закрытии программы? Сейчас ощущение, что Луа не закрывается, а просто прихлопывает процесс.

2.Задержки 10*1200, 1200, 700 пришлось еще добавить по причине фантомных ошибок при загрузке самого Квика или Загрузки данных с сервера. Повторить их сложнее. Такой скрипт на 18 меток запущен три раза, а самих графиков 12 штук. Суть в том, что если без задержек в скрипте, запустить Квик, одновременно запускается и Луа машина со скриптом. НО, Квик еще подгружает историю из своего файлового КЭШа на графики, а ему уже getCandles…и возникает ошибка. Необходимо дожидаться с запасом полной загрузки данных. Можно ли отложить запуск Луа машины или как то получить готовность графиков? Аналогично провалы/ошибки могут возникнуть в момент обновления данных с сервера при подключении, особенно если пропустить торги день, два.

Скрипт

Линия тренда, пункт в меню «Выравнить»
 

Прошу добавить функцию -  «Выравнить». В выпадающем меню. По правому клику мышкой, на линию тренда. После: Редактировать… Перед: Копировать.

Функция  делает ‘Цену точки2’      равной    ‘Цене точки1’,   тем самым  выравнивая линию.

Страницы: 1
Наверх