× Ссылка на скачивание архива: www.bot4sale.ru/download-categories/2012....html?category_id=70 (архив под паролем)

Таблица текущих параметров QUIK

Подробнее
7 года 9 мес. назад #767 от genius-1978
Михаил, здравствуйте! Столкнулся с проблемой вывода "Таблицы текущих параметров" из QUIK в Амишарп через Луашарп. Из всех параметров выводиться только шаг цены, в остальных - пусто :( , остальные таблицы вывелись без проблем. И где взять список параметров (столбцов) этой таблицы? Для других таблиц брал из QLUA.chm, но ТТР там не нашел.

// Таблица текущих параметров
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" code");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" bid");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" offer");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" exch_pay");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" min_price_step");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" stepprice");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" selldepo");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" pricemax");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" pricemin");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" class_code");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" time");
Heght = Heght+1;
amisharp.SetCell(cmd,0,Heght,"Create TTP SPBFUT "+SecCode+" changetime");
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #768 от admin
Добрый день


1. Список доступных параметров таблицы текущих значений - можно увидеть, если странслировать по ДДЕ эту таблицу с амишарп или эксель с установленной галочкой "формальные параметры". Названия столбцов будут соответствовать названиям параметров.

2.Если нет соединения с брокером - данные в терминал не поступают. И вы их не увидите тоже.

3. В командной таблице после выполнения каждой команды появляется результат ее выполнения. Если Вы в своем скрипте хотите получить несуществующий параметр - результат выполнения команды должен быть отрицательным.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #771 от genius-1978
1. Михаил, я так сначала и думал, и параметры брал из таблицы транслированной по ДДЕ
2. Соединение с брокером есть
3. На скрине видно, что параметры одинаковые, а таблица ТТР пуста, результат из командной таблице тоже виден, и он не отрицателен и не пуст.
Вложения:
Последнее редактирование: 7 года 9 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #772 от admin
Настройки - Сохранение данных - Получать пропущенные данные

Установлена галка?
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #773 от genius-1978
Да, Михаил, поставил галку - все пошло за исключением параметра changetime, и TRADE_DATE_CODE буду обходить. Большое спасибо!
Последнее редактирование: 7 года 9 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #793 от admin

genius-1978 пишет: changetime и TRADE_DATE_CODE


Луашарп - штука тупая. Вы его просите дать параметр - он просит то же самое у терминала. Если терминал дает - значит параметр этот в таблице будет. Если не дает - увы и ах, он программно недоступен. Такое бывает, если этот параметр терминал не получает с сервера, а рассчитывает сам.

Таким образом, существуют статические, динамические и расчетные параметры. Первые два типа луашарп честно отдаёт. Последние получить не представляется возможным.

Плюс еще есть чехарда с названиями параметров в квике. Например, sec_price_step и min_price_step. Предполагаю, что time и changetime это одно и то же (а может и нет :( )
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #794 от genius-1978
Да, я заметил насчет sec_price_step и min_price_step, но это же можно переделать. time и changetime это не одно и то же, я проверял, во всяком случае изменяется он не синхронно с changetime. Есть еще пара нюансов, которые я заметил, не критично, скорее не эстетично))
1. Командой "Create Stop_Orders" создается таблица StopOrders (подчеркивание)
2. Таблицы создаются вида "C:\Program Files\QUIK\:TTP", тогда как командная таблица "C:\Program Files:LuaSharp Command Table" (разница в "\")
3. Кое какие еще замечал различии в названиях толи таблиц, толи параметров, уже не помню точно.
Я бы сам поправил, если бы не компилляция.
Но в целом, вещь потрясающая!! За это Вам огромное спасибо. Жму Вашу руку)). У меня самого до написания подобной штуковины руки не дошли.
Состыковал свой фреймворк с Вашими Шарпами, полет нормальный.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #796 от admin
Ну вот и прекрасно. Поздравляю! :beer:

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

Поэтому нет никакого значения, есть ли подчеркивания или слеши в названии таблицы, либо там вообще кракозябры одни. Что Вам вернули - то и используйте.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #800 от genius-1978
Ого! :woohoo: ! Вот об этом даже и подумать не мог! Спасибо за информацию, буду исправлять. А почему они не фиксированы? Тоже берутся с сервера?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #801 от admin
Неа. Просто нет никакой гарантии :troll: Таково природное свойство этих таблиц.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #805 от genius-1978
:woohoo: :good: Хорошо.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #840 от genius-1978
Михаил, здравствуйте!
Подскажите пожалуйста, Луашарп использует getParamEx, при заполнении таблицы TTP ? Так и не могу получить некоторые параметры.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #841 от genius-1978
Да, и можно ли как то получить серверное время QUIK ? Было бы очень кстати.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #842 от admin
GetParamEx() в луашарпе не используется вообще. Чтобы эта функция работала, должна быть открыта таблица текущих параметров квика, выбран требуемый инструмент, нужный параметр.. Полностью теряется смысл.

Все параметры ТТП (и котировки тоже) Луашарп тянет с сервера брокера.

Какой параметр из ТТП вам необходим, который Вы не можете получить?
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #843 от admin
Можно через команду ASK получить. Правда для этого придется пулять запросы постоянно.


Либо вытащить в таблицу ТТП индекс РТС (фьючерс на индекс или что-то ликвидное) и смотреть там время.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #844 от genius-1978
Нужны "Начало основной сессии", "Окончание основной сессии", "Начало вечерней сессии", "Окончание вечерней сессии", "Статус клиринга", - для класса SPBFUT, ни указанные в руководстве, ни выведенные из таблиц по DDE, не работают.
Последнее редактирование: 7 года 9 мес. назад пользователем genius-1978.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #845 от admin
Команда ASK getParamEx() вам в помощь. Но я уже писал - в терминале при этом должна быть открыта и правильно настроена таблица текущих параметров. Иначе эти параметры получить программно невозможно.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #846 от genius-1978
Михаил, а как туда параметры то передать? Там же кавычки сплошные! Уже всю голову сломал.

Amisharp.SetCell(cmd,0,Heght,"ASK getParamEx() SPBFUT "+SecCode+" starttime");
Amisharp.SetCell(cmd,0,Heght,"ASK getParamEx("SPBFUT", SecCode," starttime") );

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #847 от admin
Вы про то, как в амиброкере внутрь строки кавычку засунуть? Также как и во всех остальных С-языках.


str = "Это строка вот с такими кавычками: \", \', \` "
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #848 от genius-1978
Спасибо

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
6 года 3 мес. назад #1109 от RobinBobin
Михаил, новый вопрос - пытаюсь вытянуть из луашарпа командой
$line = $line+1
$amisharp.SetCell($cmd,0,$line,"Create TTP SPBFUT RIM6 OFFERDEPTHT") суммарное предложение.
Параметр в ттп в амишарпе создаётся и после квик зависает наглухо, до перезагрузки.
Пробовал на двух квиках разных брокеров. По этому параметру можно строить график, поэтому он вроде должен вытягиваться луашарпом.
Пропущенные данные квики получают, версия квиков 6.17.1.17.
По дде всё прекрасно транслируется.
Не пойму в чём дело, подскажите пожалуйста.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
6 года 3 мес. назад - 6 года 3 мес. назад #1110 от admin
Проверил. Запрос параметра OFFERDEPTHT происходит абсолютно штатно, луашарп его отдает.
Параметр прекрасно виден в таблице, квик работает.

Версия луашарпа, надеюсь, свежая?
Последнее редактирование: 6 года 3 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
6 года 3 мес. назад #1111 от RobinBobin
Спасибо, проверил на другом своём сервере, всё отлично, луашарп пашет как часы, буду искать причину в других местах.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.