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

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

Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 47 След.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Сирануш написал:
зачем второй скрипт
Второй скрипт - это просто нагрузка, чтобы показать, что первый скрипт получает позиции по бумагам, запрошенные в других скриптах.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Запустив со Скриптом 1
Скрипт 3
Код
local run = true
function OnStop()
  run = nil
end

function main()
  while run do 
    getBuySellInfoEx(FIRM_ID, CLIENT_CODE, CLASS_CODE, SEC_CODE, 0)
    -- или
    --CalcBuySell(CLASS_CODE, SEC_CODE, CLIENT_CODE, ACCOUNT, 0, true, true)
    sleep(1)
  end
end
получим ошибку
Цитата
Старатель написал:
getDepoEx ничего не возвращает
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] getFuturesHolding: ошибка в работе
 
getFuturesLimit при одновременном запросе из нескольких скриптов по разным счетам ничего не возвращает (буквально).
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] getFuturesHolding: ошибка в работе
 
По мотивам этой темы.
Скрипт 1
Скрытый текст

Скрипт 2
Скрытый текст

Запускаем скрипт 1 и несколько скриптов 2 по разным бумагам. Любуемся результатом.

Возможно, другие функции getЧегоТоТам также работают нестабильно. Проверяйте сами.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Сирануш, неужели ещё год назад нельзя было посмотреть, что за таблицу возвращает getDepoEx или хотя бы код бумаги в ней?
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Ключевым является это:
Цитата
Сирануш написал:
У меня в районе 50 скриптов висят
Т.е., более одного скрипта запрашивают позиции по разным бумагам.

Скрипт 1:
Скрытый текст

Скрипт 2:
Скрытый текст

Запустил скрипт 1 по "SBER" и несколько скриптов 2 по другим бумагам.
В итоге Скрипт 1 стал получать позиции не только по "SBER", но и по другим бумагам из других скриптов.
Скрытый текст

Причём эта ошибка более частая, чем "getDepoEx ничего не возвращает", и возникает в офлайн.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Egor Zaytsev написал:
Вы пишите, что getDepoEx ничего не возвращает
Эта проблема легко воспроизводится скриптом, опубликованном мной в сообщении #59

В скрипте Сирануш в том случае, если getDepoEx ничего не возвращает, присваивает значению текущего остатка ноль.
Поэтому для него "getDepoEx ничего не возвращает" = "ошибка текущего остатка", если по факту позиция открыта. Если позиция закрыта, то этой ошибки в его скрипте не будет.

Цитата
Egor Zaytsev написал:
пользователь   Сирануш  пишет, что у него ошибка текущего остатка
Что касается левых значений в currentbal, то, вероятно, это может быть связано с открытыми позициями, их количеством, классами, сроков расчётов и пр. факторами.
Т.ч. договаривайтесь с ТС о копии рабочего места.
Надо делать так, как надо. А как не надо - делать не надо.
Сбрасывается фильтр Таблицы обезличенных сделок - таблица перестаёт обновляться., Сбрасывается фильтр Таблицы обезличенных сделок - таблица перестаёт обновляться.
 
Цитата
Anton написал:
чтобы проверить

Цитата
Anton написал:
2) открыть тиковый график по любому инструменту
открыть ТОС

и второй по ссылке выше - загрузить настройки из *.wnd
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Сирануш написал:
50 скриптов висят и не на каждом всплывает этот баг и не не каждый день.
Уменьшите sleep до 1 мс - вероятность воспроизведения бага вырастет.
Надо делать так, как надо. А как не надо - делать не надо.
Сбрасывается фильтр Таблицы обезличенных сделок - таблица перестаёт обновляться., Сбрасывается фильтр Таблицы обезличенных сделок - таблица перестаёт обновляться.
 
https://forum.quik.ru/messages/forum1/message43617/topic5160/#message43617
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Фильтры инструментов и параметров
 
Если в настройках получения параметров по инструментам вручную задать классы/инструменты,

то при построении графиков будут доступны только эти выбранные классы/инструменты:
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Egor Zaytsev написал:
Конечно проверили.
Вот эта проблема наблюдается в т.ч. в джуниор по нескольку раз за день.
Надо делать так, как надо. А как не надо - делать не надо.
Задержка при поиске инструментов
 
Цитата
Roman Azarov написал:
Старатель, здравствуйте!

Если Вы наблюдаете у себя описанное в исходном сообщении данной темы поведение, то рекомендация остается прежней:
Цитата
Roman Azarov написал:
Пришлите, пожалуйста, архив своего рабочего места QUIK (без ключей доступа) на почту нашей поддержки (  quiksupport@arqatech.com  ) со ссылкой на данную тему форума для анализа.

Используйте свой просмотровый терминал
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Старатель написал:
getDepoEx ничего не возвращает для того же набора параметров
Уточню: без переподключений, на ровном месте.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Подтверждаю: "косяк" есть. Но в моём случае - это когда getDepoEx ничего не возвращает для того же набора параметров (FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT, LIMIT_KIND)
При этом вызов getDepoEx сразу после ошибки
Код
    local tblTotalLot = getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT, LIMIT_KIND)
    if type(tblTotalLot) == "table" then
      ...
    else
      message("getDepoEx error", 3)
      tblTotalLot = getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT, LIMIT_KIND)
    end
возвращает уже нормальную таблицу с корректными значениями.

Ситуаций с левым currentbal не встречалось.
Надо делать так, как надо. А как не надо - делать не надо.
Гарантийное обеспечение в окне ввода заявки, Окно ввода заявок , Объем ГО
 
Странно. Брокер сообщил, что ошибка на стороне разработчика.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Старатель написал:
Почему вдруг TotalLots стал integer в то время, как getDepoEx возвращает currentbal во float?
Исходя из кода, такое может быть, если getDepoEx ничего не вернул, тогда в TotalLots вы присваиваете 0
Это возможно, например, когда QUIK переключился к другому серверу, и таблица depo_limits очистилась (это нормальное событие) и ещё не успела заполнится, как раз, когда был вызван getDepoEx.

Цитата
Сирануш написал:
я не правильно пытаюсь получить значения через
  local tblTotalLot =     getDepoEx(FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND)
  if tblTotalLot==nil     then TotalLots=0    else TotalLots=tonumber(tblTotalLot.currentbal)         end
?
Тут у каждого своё понимание о "правильности". Но такая запись может быть потенциально небезопасной, в зависимости от того, как вы обрабатываете полученные данные.
Например, если QUIK переключается на другой сервер, то, как я написал выше, в TotalLots вы записываете 0, хотя по факту позиция может быть уже открыта.

Цитата
Сирануш написал:
запустил терминал( сегодня суббота) и отключился от интернета вот что получилось:
10:48:01CORR_SPB   TotalLots  2.0   mLots   1.0   x   2.0
10:48:01CORR_SPB   TotalLots  1.0   mLots   2.0   x   1.0
Что теперь будешь предлагать, какую таблицу смотреть?
Выглядит весьма сомнительно, как будто в портфеле две записи для одного набора данных (FIRM_ID, CLIENT_CODE, SEC_CODE, ACCOUNT ,LIMIT_KIND)
Вот вам и предложили выводить таблицу целиком.

Цитата
Сирануш написал:
Зачем мне обязательно делать перебор полей?
Читайте мою подпись. Угадывать за вас, что у вас происходит, никто не будет.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Старатель написал:
Смотрите таблицу, возвращаемую getDepoEx, сравнивайте, какие поля поменялись
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Сирануш написал:
может потому что:
Цитата
Сирануш написал:
выделил красным в коде( tonumber
Не может. tonumber не меняет вещественное на целое.

Смотрите таблицу, возвращаемую getDepoEx, сравнивайте, какие поля поменялись
Скрытый текст

Заодно можете и всю таблицу depo_limits вывести, как раннее вам советовали.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Сирануш написал:
запустил терминал( сегодня суббота) и отключился от интернета вот что получилось:
10:48:01CORR_SPB   TotalLots  2.0   mLots   1.0   x   2.0
10:48:01CORR_SPB   TotalLots  1.0   mLots   2.0   x   1.0
А где строка с первоначальным mLots = 0 ?

Далее, обратите внимание на эту строку
Цитата
Сирануш написал:
10:54:40 CORR_SPB   TotalLotsРєРѕРїРёСЏ  0   mLots   1.0   x   0
Почему вдруг TotalLots стал integer в то время, как getDepoEx возвращает currentbal во float?

Напрашивается вывод:
Цитата
Nikolay написал:
Либо Вы приводите не все сообщения, либо не полный код.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Nikolay написал:
«1» – параметр найден
Буквально это означает, что в списках доступных параметров для данной бумаги есть параметр с заданным именем.

Получено ли само значение проверяю:
Код
result=="1" and param_image~="" and param_type~="0"
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Nikolay написал:
легко проверить есть ли данные, сравнив поле result этой таблицы с литералом '1'.
result не совсем про это. В этом можно убедиться, запросив getParamEx в оффлайн.

Цитата
Nikolay написал:
Не очень понята проблема.
Проблемы нет. Проверяйте param_image, в отсутствии данных там будет путая строка.
А вот честный ли ноль в param_value - это другая история.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
BlaZed написал:
если приведением к числу проверять корректность?

Вы скобочку не там поставили.
tonumber(getParamEx(class, sec, param).param_value) всегда число, даже если такой бумаги/параметра в природе не существует.
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
Артем написал:
nil специально и существует для таких моментов - когда данных просто нет. Проверяйте величину на nil да и все.

Ну-ну, проверяйте.
Код
getParamEx("", "", "")
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Кто-то и о фьючерсах не думал
Надо делать так, как надо. А как не надо - делать не надо.
[ Закрыто] Опять ошибка получения кол-ва ордеров скриптом
 
Цитата
BlaZed написал:
а разве может, вот прям торгуется по нулевой цене?

Надо делать так, как надо. А как не надо - делать не надо.
Построение индикаторов по нескольким источникам
 
Цитата
swerg написал:
а) получить вызов OnCalculate для индекса 4, где мы получили данные по основному и дополнительному источникам
Следует отметить, что в общем случае индексы на графике по основному источнику и в дополнительном, полученном через CreateDataSource, могут не совпадать.
Если уж делать сигнал от второго источника, то через SetUpdateCallback. И менять значения индикатора функциями SetValue или SetRangeValue
Надо делать так, как надо. А как не надо - делать не надо.
Несчастное окно
 
Цитата
Andrey Bezrukov написал:
Окно скриптов Lua ведёт себя в соответствии с логикой ОС и устанавливает размер колонок в зависимости от метрик шрифта.
Цитата
Andrey Bezrukov написал:
Тем самым оставляя больше места для пустой колонки.
Ошибка в том, что для окна со строго заданными размерами вы задаёте ширины колонок в зависимости от шрифта.
Ширина пустой колонки должна быть необходимой и достаточной, чтобы уместить вертикальный скролл, не более.
Надо делать так, как надо. А как не надо - делать не надо.
Построение индикаторов по нескольким источникам
 
Цитата
swerg написал:
- либо использовать data source
Цитата
Артем написал:
Код
  datasource:SetUpdateCallback   
CreateDataSource не работает в индикаторах от слова совсем. Хоть бы проверили для начала, прежде, чем писать.
Надо делать так, как надо. А как не надо - делать не надо.
Построение индикаторов по нескольким источникам
 
Цитата
swerg написал:
- либо использовать data source

https://forum.quik.ru/messages/forum10/message29713/topic501/#message29713
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Пропадает текст в таблицах
 
Ahtung!
Надо делать так, как надо. А как не надо - делать не надо.
График история, На графике не сохраняется последний день истории.
 
Цитата
Egor Zaytsev написал:
При подключении именно 23 числа или в любой день пятницы сколько свечей? 3000+ текущая сессия?
Ага, в ПТ и ночь СБ было 3000 + последняя сессия. А утром в СБ (точное время не спрашивайте) сервер принудительно разрывает соединение и после подключения даёт не более 3000 свечей, включая последнюю сессию.
Надо делать так, как надо. А как не надо - делать не надо.
График история, На графике не сохраняется последний день истории.
 
К серверу подключен. В ТТТ данные прошедшей сессии есть. ТОС заполнена.
Надо делать так, как надо. А как не надо - делать не надо.
Ошибка скрипта после переподключения
 
Цитата
BlaZed написал:
Ждем загрузки данных по инструменту
Не нужно Нельзя в OnInit никаких ожиданий делать. Если данных нет, то они и не появятся пока из OnInit не выйдете.
Надо делать так, как надо. А как не надо - делать не надо.
string.upper(S) - русские буквы, Русские буквы в верхний регистр не получается сделать в string.upper(S) в Lua QUIK версии 8.13
 
Цитата
Юрий Волошин написал:
во внешнем выводе видим десятичную запятую
При сохранении результатов в файл, особенно сериализации таблиц, это надо учитывать.
Надо делать так, как надо. А как не надо - делать не надо.
string.upper(S) - русские буквы, Русские буквы в верхний регистр не получается сделать в string.upper(S) в Lua QUIK версии 8.13
 
Цитата
Артем написал:
имел бы смысл устанавливать соответствующую локаль автоматически
Ага, не забыв при этом дать доступ на чтение символа разделителя дробной части числа (для строковых операций с числами).
Сравните:
Код
message(tostring(1.2))    --> 1.2
message(os.setlocale('')) --> Russian_Russia.1251
message(tostring(1.2))    --> 1,2

Возможно, ещё где-то что-то вылезет.
Надо делать так, как надо. А как не надо - делать не надо.
Связь клиента и кода клиента по умолчанию
 
Шесть лет не могут связать код клиента с торговым счётом и классом.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить функции для отложения выполнения колбеков
 
Цитата
Anton написал:
Второй вариант
Точно скрипты 2 и 3 в ожидании очереди запустить свои колбеки будут выполнять полезную работу в мейнах, а не тупо ждать?
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
 
Цитата
TGB написал:
Цитата
Старатель написал:
Предложение3. Дать скриптеру возможность самостоятельно устанавливать/снимать блокировку в любом месте пользовательского кода
Мне кажется, это может порождать ошибки в скриптах пользователей, не являющихся профессиональными программистами.
Как и в любом другом коде.
Кто-то даже с динамической типизацией справиться не может, далеко за примерами ходить не надо.
Ну и что ж теперь? Тут, как говорится, не умеешь - не пользуйся.
Надо делать так, как надо. А как не надо - делать не надо.
Quik 8.13 функция CreateDataSource возвращает пустой набор данных, если таймфрейм отличается от стандартного., Quik 8.13 функция CreateDataSource возвращает пустой набор данных, если интервал отличается от стандартного.
 
Цитата
Владимир написал:
Не слишком ли жирно будет заставлять сервер подсчитывать свечи "нестандартных интервалов"?
Есть версия, что свечи нестандартных интервалов подсчитывались на месте, но только за текущую торговую сессию, начиная с вчерашней вечерки.
Дело в том, что открыв график любого интервала, впоследствии вы сможете просмотреть графики текущей сессии по другим интервалам того же инструмента в офлайн, даже если ни разу не открывали их.
Качаются ли все интервалы с сервера сразу или рассчитываются на месте по минуткам - не известно.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить функции для отложения выполнения колбеков
 
Цитата
Anton написал:
У квика не возникает необходимости вызвать колбек только в скрипте 1, он последовательно вызовет колбеки в скриптах 1, 2, 3, и всегда в этом порядке. Если какой-то из скриптов просто не определил колбек, ну слава богу, баба с возу. Так вот, если картинку перевернуть, то есть скрипт 1 самый тормозной (t1 самый длинный), то колбек в скрипте 1 все равно выполнится в момент t1, несмотря на то, что скрипты 2 и 3 уже закончили байткод и по идее можно было бы дернуть этот же колбек в них.


Со скриптом 1 понятно.
Вы, наверное, хотели сказать, что в таком случае скрипты 2 и 3 вызовут колбек не по окончании работы своего байт-кода, а будут ждать скрипт 1, и вызовут колбек в момент t1 + dt (время на обработку колбека предыдущими скриптами).
В любом случае, мы имеем взаимное и неочевидное (в том смысле, что не возможно предугадать) влияние скриптов друг на друга.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить функции для отложения выполнения колбеков
 
Anton, т.о., вы опровергаете раннее написанное вами
Цитата
Anton написал:
Картинку выше для чистого луа можно мелко порезать горизонтальными линиями и в каждой полосе будет работать либо мейн, либо колбек

Допустим, работают три скрипта, в каждом из которых, выполняется байт-код в main продолжительностью t1, t2 и t3 соответвенно. В момент времени t возникает необходимость вызвать колбек в 1-м скрипте. При этом t < t1 < t2< t3.

Вопрос: в какой момент будет вызван колбек, и повлияет ли скрипт 3 на работу скриптов 1 и 2?
Надо делать так, как надо. А как не надо - делать не надо.
Добавить функции для отложения выполнения колбеков
 
Цитата
Anton написал:
В моменты конкуренции за разделяемый ресурс (луа-машину) основной поток квика ожидает освобождения ресурса потоком мейна того скрипта, в котором он собирается вызвать колбек; мейны других скриптов при этом продолжают выполняться и не влияют на ожидание.
Точно не влияют? Нужно, чтобы потоки мейнов всех скриптов освободили разделяемый ресурс (луа-машину), не?
Надо делать так, как надо. А как не надо - делать не надо.
График история, На графике не сохраняется последний день истории.
 
Цитата
Egor Zaytsev написал:
нужен конкретный пример
#27
Надо делать так, как надо. А как не надо - делать не надо.
График история, На графике не сохраняется последний день истории.
 
Imersio Arrigo, смотрите сами.
Пример приведён для техподдержки. И в нём конкретные цифры, которые показывают, что новая торговая сессия после 23.04 не началась.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Пропадает текст в таблицах
 
Ещё один баг.
Код
local run, id = true
function OnStop()
  run = nil
  DestroyTable(id)
end

function main()
  id = AllocTable()
  AddColumn(id, 1, "", true, QTABLE_STRING_TYPE, 20)
  CreateWindow(id)
  SetTableNotificationCallback(id, function (id, event)
    if event == QTABLE_CLOSE then
      run = false
    elseif event == QTABLE_VKEY then
      SetColor(id, 2, QTABLE_NO_INDEX, 0x0000FF, 0, 0x0000FF, 0)
    end
  end)
  for row = 1, 2 do
    InsertRow(id, row)
    SetCell(id, row, 1, tostring(row))
  end
  while run do sleep(500) end
end

Применить фильтр, чтобы осталась только строка 1. Нажать любую клавишу - вся таблица окрасится красным.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Пропадает текст в таблицах
 
Код
local run, id = true
function OnStop()
  run = nil
  DestroyTable(id)
  return 100
end

function main()
  id = AllocTable()
  AddColumn(id, 1, "", true, QTABLE_STRING_TYPE, 20)
  CreateWindow(id)
  SetTableNotificationCallback(id, function (id, event)
    if event == QTABLE_CLOSE then
      run = false
    elseif event == QTABLE_VKEY then
      for row = 1, 2 do
         SetColor(id, row, QTABLE_NO_INDEX, 0x0000FF, QTABLE_DEFAULT_COLOR, 0x0000FF, QTABLE_DEFAULT_COLOR)
      end
    end
  end)
  for row = 1, 2 do
    InsertRow(id, row)
    SetCell(id, row, 1, tostring(row))
  end
  while run do sleep(500) end
end

Запустить скрипт. Нажать любую клавишу - фон окрашивается красным.
BUG 1: Применить фильтр, чтобы осталась только строка 1, - фон пропадает.
BUG 2: Нажать любую клавишу - пропадает текст.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.13
 
Цитата
TGB написал:
Идея оптимизации состоит в том, чтобы у пользователя была динамическая возможность задания/отмены C-функций, которые вызываются без выше описанной синхронизации (ввести особый список).
Roman Azarov, если будете это реализовывать, то предлагаю сделать возможным задавать не только отдельно функции, но и библиотеку целиком, например math.

3) Предложение3. Дать скриптеру возможность самостоятельно устанавливать/снимать блокировку в любом месте пользовательского кода, если такое возможно.
Надо делать так, как надо. А как не надо - делать не надо.
Получать объемы сделок
 
Цитата
Старатель написал:
Тогда это тоже атомарная операция:
Код
Volume[alltrade.price] = (Volume[alltrade.price] or 0) + alltrade.qty

Проверил в Lua 5.1. Скрипт:
Скрытый текст
И получил ошибку типа
Цитата
16492: attempt to index upvalue 'a' (a nil value)
Т.е., в Lua 5.1 лок может быть снят в процессе извлечения значения из таблицы.
Т.ч., как сказал Антон:
Цитата
Anton написал:
Вероятность, что в версии луа 55.99 станет неатомарным - есть.

Также в Lua 5.1 при выполнении байт-кода блокировка может быть снята в таких местах:
Код
a = b + c
-- тут блокировка может быть захвачена другим потоком
x = y - z

Стоит также отметить, что в Lua 5.1 байт-код выполняется значительно дольше по сравнению с 5.4. Возможно как раз из-за постоянной борьбы за блокировку между потоками.
Надо делать так, как надо. А как не надо - делать не надо.
QUIK, Кракозябры
 
Цитата
Roman Azarov написал:
Английский язык в терминале можно включить только если Ваш брокер предоставляет такую возможность.
А просто положить lang_eng.dll в папку с квиком не прокатит? Нужно у брокера спрашивать разрешения?
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 47 След.
Наверх