Здравствуйте! Видимо я, как всегда, недостаточно ясно изложил свои пожелания.. Понятно, что условное форматирование имеет приоритет над форматом ячейки, заданном в скрипте.. и если по умолчанию установлено белое\чёрное, то при его применении, скажем, изменении только размера текста, мы будем наблюдать изменение и цвета - по умолчанию.. В случае статичной картинки, когда при запуске скрипта один раз выставляется цвет\размер, и далее не меняется, то не особенно критично.. Другое дело, когда картинка динамична.. Пример в скрипте..
Логика установки в усл.форм. ч\б понятна - тема чёрно-белая, НО! Пользователь, не работающий со скриптами, заходит в усл.форм. специально для того, установить какие-то свои цвета..как раз в этих ячейках. А "продвинутому скриптоману" приходится делать целых ДВА, или четыре лишних движения! Ежедневно! ... тем более, что у него УЖЕ всё раскрашено скриптом!
Конечно регистрируем! Я ж для этого и писал..
С Уважением!..
Код
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Green_1(Line, Col) SetColor(t_id, Line, Col, RGB(0,245,0), RGB(0,0,0), RGB(0,245,0), RGB(0,0,0)); end; -- Светло_Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable();
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id);
for i = 1, 4, 1 do InsertRow(t_id, i); end
k = 0
RUN = true
function main()
while RUN do sleep(1000);
SetCell(t_id, 1, 1, " 621");
if k < 2 then
Green(1,1)
k = k + 1
else
Green_1(1,1)
k = 0
end
end
end
function OnStop(stop_flag)
DestroyTable(t_id)
RUN = false
return 1000
end
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable(); -- Получает доступный id для создания таблицы
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id); -- Создает таблицу
for i = 1, 4, 1 do InsertRow(t_id, i); -- end
if i <3 then
for n = 0, 2, 1 do SetCell(t_id, i, n, " 621"); Green(i,n) end
else
for n = 0, 2, 1 do SetCell(t_id, i, n, " up"); Red(i, n); end
end
end
function Green(Line, Col) SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255)); end; -- Зеленый
function Red(Line, Col) SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255)); end; -- Красный
t_id = AllocTable();
AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
t = CreateWindow(t_id);
for i = 1, 4, 1 do InsertRow(t_id, i); end
RUN = true
function main()
while RUN do sleep(1000);
SetCell(t_id, 1, 1, " 621"); Green(1,1)
end
end
function OnStop(stop_flag)
DestroyTable(t_id)
RUN = false
return 1000
end
При открытии окна условного форматирования для ячеек по умолчанию выставлены параметры "белый фон, чёрный текст". В таблице скрипта часто(почти всегда) возникает необходимость выделить цветом или размером шрифта какую-либо ячейку(ки). Причём цветовые установки скрипта не имеют приоритет над форматированием.. я уж не говорю про возможность задать размер шрифта ячеек в скрипте.. В 25-й версии приходится ежедневно в каждой таблице вначале выставлять "Нет цвета", а потом цвет и размер текста...Иначе - белый фон, чёрный текст!.... Утомительно..
При форматировании штатных таблиц Квика нет разницы что там установлено по умолчанию, а при работе со скриптами, как выяснилось, есть.. Прошерстил настройки, ничего не нашёл..
В предыдущей версии ( не помню уж какая там.. из последних..) таких заморочек не было..
Тоже проблема с getFuturesHolding(Settings.FIRM_ID,Settings.ACCOUNT,Settings.SECCODE, 0).totalnet; Несколько иная. Выдаёт - attempt to index a nil value . Но только пока таблица пустая. Она же обновляется каждую сессию - если позиций несколько дней нет, то всякие записи в ней отсутствуют. Видимо, getFuturesHolding не находит строку (массив), из которой нужно выбрать значение. Подобные ошибки моментально останавливают скрипт.
Ещё раз. - Если нет входящих (или текущих) позиций - таблица пустая - пишет ошибку. После совершения сделки считывается нормально. Скрипт невозможно запустить пока не совершишь сделку.
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Текущая дата 01.09.2018г. Отладчик отсутствует как класс.. Версия 7.19.0.51
Существует ли возможность выводить индикатор на диаграмму в виде свечей? В документации этот вопрос не акцентируется... Видимо, нужно проводить расчёт 4-х линий, а как собрать это всё "в кучку" и "нарисовать" привычные всем свечки непонятно..
Видимо, я недостаточно конкретно сформулировал вопрос.. При запуске скрипта сегодня, в 10:00, мне нужно получить значение суммы активов на счёте Фортс (счета на споте и срочке разные), с учётом прибыли/убытков на вчерашней вечёрке. В таблице Портфель такая колонка присутствует. Чтобы получить это значение из массива значений таблицы "Портфель", мне нужно знать название параметра.. Типа как тут
Может разработчики забыли о нём упомянуть... Или он не входит в перечень доступных.. Удивляться в общем-то не приходится.. ..Или, как уже писал выше, сам не въезжаю
Загвоздка в том, что кол-во лотов заполняется без проблем, так же как и поле "торговый счёт". А поле "Код клиента" - на споте заполняется, а на FORTS - нет, хотя в выпадающем списке присутствуют оба кода. При этом заявки с пустым полем "код клиента" на срочке отправляются без проблем и исполняются.
По логике вещей - раз в списке есть, значит нужно подставлять - для того он и в списке... В Руководстве есть строчка.. "... При формировании транзакций (ввод заявки, ввод стоп-заявки, ввод заявок РЕПО и РПС) в поля «Код клиента» («Торговый счет клиента», в случае выбора транзакции по срочному рынку) и «Поручение» подставляются значения ...." (Настройки автозаполнения полей ввода заявки) и ещё " ... 8. «Код клиента» – идентификатор клиента в системе QUIK... "(Ввод заявок на Срочном рынке FORTS).
Как законопослушный гражданин , я читаю Руководство и действую по-написанному... - Должен быть идентификатор - заполняю поле и пытаюсь сделать это автоматом... без результата... Может это поле и не нужно заполнять - терминал на срочке определяет клиента по Торговому счёту ?
ПС. В моих таблицах код клиента на срочке совпадает со счётом один-в-один ( не знаю как у других...) - отсюда и непонятки....
Всех приветствую! Если я правильно понял, с помощью файла "default_client_codes.ini" можно организовать автозаполнение полей "код клиента" и "кол-во лотов" в форме заявки. Это было бы очень удобно - двойной клик в стакан, Enter - и заявка ушла... В разделе "Настройки автозаполнения полей ввода заявки" Руководства пользователя описана методика создания этого файла.... Однако, как и во всём Руководстве, для понимания написанного простому юзеру необходимо иметь как минимум 2-3 высших. У меня, к сожалению. только одно, хоть и техническое... Поэтому два дня танцев с бубном успехом не увенчались, а терпение лопнуло!... Очень не хочется изучать незнакомый язык.. Решил обратиться к специалистам.
Думаю не я один торгую одновременно акциями и фьючерсами с двух счетов и уже устал каждый раз заполнять эти параметры. А с программированием очень на Вы...
Хотелось бы внятных объяснений что куда писать в INFO.ini, что должно быть здесь http://prntscr.com/ghfmiz Для чайников...
А если кто-то решится написать этот файл, со всеми его закорючками и прочим, - это было бы совсем чудесно!
Входные - SPBFUT, TQBR, QUIK 7.10.0.76, БКС Разные коды клиента, разное кол-во лотов по умолчанию.